Привет народ. Сегодня расскажу, как можно элегантно сделать уведомление для сделок, которые являются важными по тем или иным причинам (штатных напоминалок увы не имеется).
Итак, сначала придумаем как это будет работать. Я уже подумал и решил, что работать будет так: Сотрудник переходит в сделку (или лид/контакт/компанию) и нажимает ручной запуск БП (ДА, потребуется лицензия, поддерживающая бизнес-процессы), при этом появляется окно поверх остальных на котором будут поля — Дата уведомления > Сотрудник, кого будем уведомлять > Текст уведомления — заполнив которые, бизнес процесс встает на паузу, то даты, которую мы указали в уведомлении. Когда наступает день уведомления, сотруднику, указанному нами, приходит штатное уведомление (задача??). И надо бы предусмотреть, что если уведомление не актуально, то нужно как-то просто его отключить.
Начнем собственно настройку. А сперва нам нужно создать Строковое поле для хранения ID процесса напоминалки (можно из карточки сделки). Поскольку поле служебное по сути, то скроем его.
Далее переходим на создание самого БП. CRM > Настройки > Роботы и бизнес-процессы > Бизнес-процессы > Сделка > Добавить шаблон
Перед нами открывает дизайнер бизнес-процессов. В первую очередь даем название процесса и снимаем все галочки настроек во вкладке «Основное».
Во-вторых, создаем 3 параметра во вкладке «Параметры»: Дата/время уведомления (тип дата/время), Сотрудник (тип Привязка к пользователю, можно сделать множественное) и Текст уведомления (тип текст).
Начинаем непосредственно конструирование процесса:
- Первое действие — Изменение документа. В нем мы настроим запись в наше служебное поле «ID процесса напоминалки» параметр текущего процесса. В нем будет храниться крайнее значение запущенного процесса.
- Далее действие Пауза в выполнении — в нем обязательно указываем время из поля Параметров «Дата/время уведомления». Бизнес-процесс будет ждать до указанного времени.
- Следующее действие — Уведомление пользователя. Необходимо указать текст уведомления, сотрудника и ссылку на сделку. Данные берем из параметров, а для формирования ссылки используем код [url][/url] (см. скриншот ↓)
Вспоминаем, что на облачном битрикс24 (на коробочном нет) существуют ограничения на одновременно запущенные бизнес-процессы, поэтому, нам необходимо сделать так, чтобы последний запущенный бизнес-процесс останавливался, при запуске нового. Сделаем, чтобы была одна напоминалка на сделку (если в параметрах Сотрудника указан признак множественности, то одной напоминалкой сможем уведомлять несколько сотрудников).
Вспомнив про ограничения добавим еще одно действие WebHook вверху нашего процесса, чтобы любой новый процесс останавливал предыдущий. Для этого необходимо идти в раздел разработчиков и создать веб-хук. Вкладка в раздел спрятана в Маркете. Создаем Входящий веб-хук со следующими параметрами: Метод bizproc.workflow.terminate, Настройка прав Бизнес-процессы (bizproc). Копируем полученный веб-хук из строки «Вебхук для вызова rest api»
Далее возвращаемся в наш процесс для напоминалки и добавляем действие. В параметрах веб-хука укажем значение нашего служебного поля.
Осталось проверить работу процесса ↓
Оригинал статьи в моей группе ВК: https://vk.com/@bitrix247-kak-sdelat-napominanie-po-sdelke-v-crm-bitriks24