Работа с Битрикс 24 из 1С посредством api

17.03.20

Интеграция - WEB-интеграция

Небольшая разработка демонстрации получения данных из Битрикс 24 через api.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Работа с Битрикс 24 из 1с посредством api.:
.epf 28,87Kb ver:1.1
69
69 Скачать (1 SM) Купить за 1 850 руб.

Небольшая разработка демонстрации получения данных из Битрикс 24 через api и вебхуки. 

За основу взята обработка //infostart.ru/public/1155762/. Спасибо автору за идею.

Первым делом сделаем вебхук в битриксе. Для этого переходим в Приложения -> Вебхуки -> Добавить вебхук -> Входящий вебхук. 

Основные вопросы взаимодействия были отображены в вышеуказанной публикации и повторяться не вижу смысла. В свое обработке я показал как можно получить за период создания (первая вкладка обработки) Сделки, дела и взаимодействие сделок и дел.

Во второй вкладке показана возможность отбора по любой дате.

Для обеспечения работоспособности у вас, необходимо в коде (можно вынести на форму конечно, реквизиты заданы)

 В следующих функциях поставить данные для подключения. Можно вносить их на форму постоянно, тогда кусок кода поменяется на:

    ЛогинПортала = Объект.Логин;///
    ПарольПортала = Объект.Пароль;//
    АдресПортала = Объект.Адрес;///
    Вебхук = Объект.Вебхук;/// rest/1479/*********/
    Метод = "crm.deal.list"; методы разные, можно изучить в документации https://dev.1c-bitrix.ru/rest_help/crm/cdeals/crm_deal_list.php

&НаСервере
Функция ОтправитьЗапрос(Параметры)
     
    ЛогинПортала = "";//Объект.Логин;///
    ПарольПортала = "";//Объект.Пароль;//
    АдресПортала = "";//Объект.Адрес;///
    Вебхук = "";//Объект.Вебхук;/// rest/1479/*********/
    Метод = "crm.deal.list"; 
    
    Соединение = Новый HTTPСоединение(АдресПортала,,ЛогинПортала, ПарольПортала, ,5, Новый ЗащищенноеСоединениеOpenSSL);
                            
    Запрос = Новый HTTPЗапрос(Вебхук + Метод + "?" + Параметры);                                            
    
    Запрос.УстановитьТелоИзСтроки("");
            
    Ответ = Соединение.Получить(Запрос);    

    Возврат Ответ.ПолучитьТелоКакСтроку();

КонецФункции

&НаСервере
Функция ОтправитьЗапросДел(Параметры)
     
    ЛогинПортала = "";//Объект.Логин;///
    ПарольПортала = "";//Объект.Пароль;//
    АдресПортала = "";//Объект.Адрес;///
    Вебхук = "";//Объект.Вебхук;/// rest/1479//
    Метод = "crm.activity.list"; 
    
    Соединение = Новый HTTPСоединение(АдресПортала,,ЛогинПортала, ПарольПортала, ,5, Новый ЗащищенноеСоединениеOpenSSL);
                            
    Запрос = Новый HTTPЗапрос(Вебхук + Метод + "?" + Параметры);                                            
    
    Запрос.УстановитьТелоИзСтроки("");
            
    Ответ = Соединение.Получить(Запрос);    

    Возврат Ответ.ПолучитьТелоКакСтроку();

КонецФункции


 

Также в обработке реализовано следующее. Можно перенести из битрикса в 1С список сотрудников для ускорения поиска сотрудника по id. Но для этого понадобится создать справочник.

 

 

Можно его не создавать, но это усложняет работу по получению сотрудника по id, т.к. по каждой сделке или делу машина отправляет запрос в Битрикс, что создает нагрузку.

Также для анализа и планирования введен (у меня в системе) регистр сведений ПланыСотрудников

 

 

 

Куда можно внести планы сотрудников и сравнивать их с фактом по работе по суммам сделок. Данный функционал можно раскомментировать и использовать его (строки 52-72

Реализовывал на базе 1с:Документооборот. Платформа: 1С:Предприятие 8.3 (8.3.12.1685)

Готов ответить на любые вопросы, буду рад комментариям и замечаниям. Могу попробовать при необходимости адаптировать продукт под др. конфигурации.

обработка Битрикс

См. также

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    1241    1    1    

4

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18357    20    22    

18

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20567    13    19    

18

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    322    2    0    

5

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    2501    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. zabaluev 464 17.03.20 10:20 Сейчас в теме
Хотелось бы примеры работы 1с с чатом Битрикс24. Например написать сообщение в общий чат или сообщение конкретному пользователю.
2. RocKeR_13 1378 17.03.20 10:37 Сейчас в теме
(1) Там ничего сложного
АдресБитрикс и КодАвторизации - берутся в профиле Битрикс24
КодПользователя - собственно, код пользователя в БИтрикс24, от имени которого отправляется сообщение
КодЧата - код чата Битрикс24
СтрокаСообщение - тело сообщения, которое необходимо отправить
	Соединение 		= Новый HTTPСоединение(АдресБитрикс,,,,Прокси,60,Новый ЗащищенноеСоединениеOpenSSL);
	
	
	АдресЗапроса 	= "/rest/"+КодПользователя+"/"+КодАвторизации+"/im.message.add";
	Запрос 			= Новый HTTPЗапрос(АдресЗапроса);
	ТелоЗапроса 	= "DIALOG_ID=chat"+КодЧата+"&MESSAGE="+СтрокаСообщение+"&SYSTE­M=N";
	Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);
	Результат = Соединение.ОтправитьДляОбработки(Запрос);
Показать
mvernig; ybatiaev; mentozavr; zabaluev; +4 Ответить
3. mentozavr 71 17.03.20 13:46 Сейчас в теме
(2) Да согласен. Просто у меня такая задача не стояла. Мне в 1с надо было получить сделки с сумами и проводить анализ.
4. RocKeR_13 1378 17.03.20 13:49 Сейчас в теме
(3) да это не в упрек Вашей публикации. Случайно наткнулся на публикацию и комментарий, и решил поделиться информацией)
mentozavr; +1 Ответить
5. mentozavr 71 17.03.20 15:45 Сейчас в теме
(4) Кстати за эту информацию спасибо. положил к себе в книгу знаний
6. kolabaister 3 17.03.20 16:21 Сейчас в теме
С наскоку эту проблему не решить. Мы сделали собственный сервис-бота с простым api. К нему может обращаться и база и другие системы, просто отправляя уведомление в битрикс любому пользователю по почте.
Кстати, почему то боты в битриксе не умеют получать файлы, ну или мы так и не смогли это сделать. Работает только для админа.
7. mentozavr 71 17.03.20 16:31 Сейчас в теме
(6) Интересное решение. А возможно его посмотреть? может мы общими усилиями сможем допилить и сделать хорошую вещь полезную для всех
8. kolabaister 3 17.03.20 20:06 Сейчас в теме
(7) оно сильно завязано на инфраструктуру компании, показать не могу. Но могу описать архитектуру, если нужно.
10. mentozavr 71 17.03.20 23:13 Сейчас в теме
(8)не отказался бы услышать. спасибо
15. kolabaister 3 18.03.20 14:22 Сейчас в теме
(10) api битрикса довольно непростое, и не хотелось его поддерживать везде. А хотелось из любой системы иметь возможность послать сообщение в чат любому сотруднику, не заморачиваясь ни с чем. Поэтому решили сделать сервис-посредник, который возьмет это на себя.
Сервис регистрируется в битриксе как чат-бот. Обладает собственным упрощенным api, средствами защиты и контроля доступа, логикой обработки входящих сообщений (в зависимости от синтаксиса команды входящее сообщение посылается той или иной внешней системе), сквозным логированием.

Теперь я откуда угодно (предварительно зарегистрировав ip конечно) могу обратиться к сервису по простому api по get, указать ключ доступа, сообщение и почту получателя. Сервис обратится в битрикс, поищет по указанной почте id пользователя, и пошлет ему указанное сообщение. Также можно отправить сообщение в предварительно зарегистрированный чат, в котором добавлен бот. Пользователь может ответить, и ответ транслируется в нужное место.

Из проблем - мы так и не смогли заставить бота получать файлы. Отправлять можно кому угодно, а получать почему то только от администратора портала. Плюс битрикс иногда что то меняет в своем api, и что то перестает работать.
9. ltfriend 17.03.20 21:38 Сейчас в теме
Очередная инструкция по работе с HTTPСоединением?
triviumfan; +1 Ответить
11. mentozavr 71 17.03.20 23:14 Сейчас в теме
(9)Ну отчасти наверное..со своими заморочками
17. triviumfan 97 19.03.20 08:08 Сейчас в теме
(9) ага, еще и без попытки/исключения
18. mentozavr 71 19.03.20 09:04 Сейчас в теме
(17) при тестировании не использовали ее...в рабочем приложении введем
12. FreeArcher 162 18.03.20 06:09 Сейчас в теме
Подскажите, а пробовали ли вы наоборот обращаться из Б24 в 1С посредствам webhook, например, при срабатывании робота?
Сейчас это пробую и не работает.
13. mentozavr 71 18.03.20 08:41 Сейчас в теме
(12)Приветствую. Да пробовали но через web сервисы. Часть увидеть можем и передать а часть нет.
14. FreeArcher 162 18.03.20 10:20 Сейчас в теме
(13)
Часть увидеть можем и передать а часть нет.

Не понял про часть.
В целом работает я так понял?
А авторизацию, как проходили в 1С?
16. mentozavr 71 18.03.20 21:02 Сейчас в теме
(14) В целом работает..обмен идет..мы делали пока для теста без авторизации..хотим передать логин пароль и при этом использовать web авторизацию. но пока только в мыслях. т.к. Б24 находиться на нашем сервере в одной подсети хотим попробовать виндовую авторизацию
19. user621724_Dimav1979 412 03.02.22 10:10 Сейчас в теме
Добрый день? А можно ли из 1с создать и запустить бизнес процесс на стороне Битрикс 24?
20. mentozavr 71 03.02.22 13:47 Сейчас в теме
(19)Я думаю можно. Надо читать...по крайней мере как изменять задачу..добавлять в задачу что-то из 1с в принципе разобрался
Оставьте свое сообщение