Проверить чек-лист стадии
Робот «Проверить чек-лист стадии» читает пользовательское поле «Чек-лист по стадии» на сделке, лиде, компании или смарт-процессе Битрикс24 и сообщает, закрыты ли обязательные пункты текущей стадии. На вход подаются тип сущности, её ID и код поля. Возвращает all_done со значением Y, если все обязательные пункты отмечены, иначе N, счётчики done/total и список пунктов, которые ещё не отмечены.
Робот открывает CRM-сущность по типу и ID, находит текущую стадию (STAGE_ID у сделки, STATUS_ID у лида, stageId у смарт-процесса) и читает значение указанного поля «Чек-лист по стадии». Он берёт настроенные для этой стадии пункты, сравнивает их с отмеченными и считает прогресс только по обязательным пунктам — необязательные не влияют на итог. На выходе: all_done — Y, если все обязательные пункты стадии отмечены, иначе N; done и total — количество отмеченных и общее число обязательных пунктов; pending_list — имена ещё не отмеченных обязательных пунктов, по одному в строке. Если параметры неверны, сущность не найдена или указанное поле не является чек-листом по стадии, робот возвращает all_done N, нулевые счётчики и пустой список — тот же набор ключей, что и при успехе, чтобы условие следующего шага не осталось без данных. Уведомление руководителю, возврат стадии назад или постановку задачи по незакрытым пунктам решает сам сценарий бизнес-процесса — робот только сообщает факт.
Какие параметры принимает робот?
| Параметр | Тип | Обязательный? | По умолчанию |
|---|---|---|---|
| Тип сущности: deal / contact / company / lead | string | да | |
| ID сущности | int | да | |
| Код поля | string | да |
Что возвращает робот?
| Параметр | Тип |
|---|---|
| Все обязательные пункты стадии закрыты (Y/N) | string |
| Сколько обязательных пунктов отмечено | int |
| Сколько всего обязательных пунктов на стадии | int |
| Список ещё не отмеченных обязательных пунктов (по одному в строке) | string |
Сценарий: не пускать сделку дальше без обязательных шагов
- Сделка меняет стадию воронки
- Робот проверяет чек-лист текущей стадии по полю «Чек-лист по стадии»
- При all_done = N процесс ставит задачу ответственному со списком pending_list и возвращает сделку на предыдущую стадию