Небольшая разработка демонстрации получения данных из Битрикс 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)
Готов ответить на любые вопросы, буду рад комментариям и замечаниям. Могу попробовать при необходимости адаптировать продукт под др. конфигурации.