Как создавать дело в календаре «Битрикс24» через «1С-Битрикс»
Время прочтения - 2 мин.
Время от времени наши специалисты сталкиваются с ситуациями, когда приходится тратить большое количество времени на поиск описания работы «фич», так как эта информация часто просто отсутствует в официальной документации.Проблема
Для примера рассмотрим наш проект — маркетплейс загородной недвижимости на базе коробочной версии «Интернет-магазин + CRM». В данной версии совмещены CRM «Битрикс24» и управление сайтом «1С-Битрикс». Есть функционал, который позволяет управлять «Битрикс24» через «1С-Битрикс», минуя REST API. Но в официальной документации этот функционал описан очень коротко и непонятно.Задача
Записать клиента на «живой» просмотр объекта имущества через «1С-Битрикс: Управление сайтом» с передачей данных в «Битрикс24».Решение
Задачу реализовали на старом ядре до введения версии D7 функционала управления календарем событий «Битрикс24» через «1С-Битрикс».Процесс выглядел так. За каждым объектом недвижимости был утвержден свой менеджер. После оформления заявки через сайт на просмотр менеджер получал ее в «Битрикс24». Заявка на просмотр — это фактически новый лид, к которому привязывается дело, закрепляемое за менеджером в «Битрикс24». При записи на просмотр учитывались свободные интервалы времени в личном графике менеджера. График также подтягивался из календаря менеджера в «Битрикс24».
Технически один из способов добавления дела в «Битрикс24»— это класс CCrmActivity. В официальной документации подробно представлено только два его метода: Add и SaveCommunications.
Но для получения данных из «Битрикс24» есть обычный GetList. Однако он не описан в официальной документации как способ получения данных из «Битрикс24». По ссылке — небольшая страница с кодом GetList. Через него пользователь на сайте может получить график занятости необходимого пользователя-менеджера.
Наш программист выделил GetList как способ получения данных из «Битрикс24» и использовал эту возможность в проекте.
Как работает GetList
Фильтр RESPONSIBLE_ID отвечает за нужного нам пользователя. При необходимости можно регулировать выборку через даты START_TIME и END_TIME На выходе получаем список дел в определенном промежутке и, если этот промежуток не занят, создаем лид.
Создание лида происходит через класс CCrmLead. Подробного описания класса в документации тоже нет, но сам процесс можно посмотреть в небольшой заметке по основным методам работы с CRM от «Битрикс24».
В нашем случае код выглядел так:
Как видно, в лид дополнительно уходят персональные параметры пользователя, отправившего заявку.
Наконец, на последнем шаге нам нужно создать дело и привязать его к лиду.
Делаем это через CCrmActivity::Add
Таким образом происходит создание дела для менеджера на низкоуровневом API «Битрикс24».
Уверены, эта информация будет полезной для специалистов, которые интересуются созданием дел в «Битрикс24» через «1С-Битрикс».