В бизнес-процессах Битрикс24 есть удобный инструмент — запрос дополнительной информации. Он останавливает процесс, задаёт сотруднику вопрос и продолжает выполнение только после ответа. Но у штатного активити есть ограничение, которое в сложных сценариях становится проблемой.

Зависимые поля в запросе дополнительной информации Битрикс24

В чём основная проблема

Штатные активити «Запрос доп. информации» и «Запрос доп. информации с возможностью отклонения» позволяют задать переменную и поле комментария. Комментарий можно сделать обязательным или необязательным — но это решение применяется ко всем значениям сразу. Нельзя сделать так, чтобы поле комментария появлялось только при выборе конкретного значения из списка.

На практике это создаёт неудобство в любом процессе, где логика запроса зависит от контекста.

Простой пример: сотруднику нужно указать причину из списка — «по компании», «по условиям», «по срокам». Для первых двух дополнительный комментарий не нужен. Для третьего — обязателен, потому что нужна конкретизация.

В штатном варианте выбора два: либо комментарий обязателен для всех трёх значений, и сотрудники путаются, что писать в простых случаях, либо необязателен для всех — и важные данные при третьем значении не собираются.

Как мы решили эту задачу

Мы разработали активити «Запрос доп. информации с поддержкой зависимых полей».

Окно настройки параметров активити с поддержкой зависимых полей
Рис. 1. Активити создаёт задание для пользователя с возможностью отклонения и поддерживает зависимые поля.

Принцип работы: в настройках активити для каждой переменной можно указать условие — при каком значении родительского поля должно появляться зависимое дочернее поле. При других значениях это поле не отображается.

Зависимое поле можно сделать обязательным: если оно появилось — сотрудник должен его заполнить, иначе задание не завершить.

Список полей активити с условием появления зависимого поля
Рис. 2. В списке полей видно условие: поле «доп информация» появляется, только когда в родительском поле выбрано нужное значение.

Типы полей и настройка обязательности

Родительское поле может быть привязано к инфоблоку, универсальному списку или другому типу переменной — модуль поддерживает стандартные типы полей Битрикс24.

Настройка зависимого поля: обязательность при условии, поле-триггер и значение
Рис. 3. Обязательность зависимого поля настраивается как «обязательно при условии»: указываются поле-триггер и значение, при котором поле становится обязательным.

Зависимость настраивается прямо в параметрах активити: выбираешь переменную, указываешь значение, при котором срабатывает условие, задаёшь тип и обязательность дочернего поля.

Работа через раздел «Автоматизация»

Активити работает не только в дизайнере бизнес-процессов.

Задание с зависимым полем в карточке сделки CRM
Рис. 4. Та же логика в карточке сделки: сотрудник видит задание с теми же зависимостями, что настроены в процессе.

Сотрудник открывает задание, выбирает значение в родительском поле — и видит ровно то, что нужно в его конкретной ситуации. Не больше, не меньше.

Что остаётся как в штатном активити

Все остальные параметры — заголовок задания, исполнители, таймаут, возможность отклонения, передача значений дальше по процессу — идентичны штатному активити. Ничего переучивать не нужно.

Где это особенно полезно

Решение актуально в любом процессе, где запрос информации зависит от контекста: согласование с разными причинами отклонения, запрос уточнений при определённых типах обращений, сбор данных в процессах, где разные ситуации требуют разного набора вопросов.

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

Ограничение

Модуль работает в коробочной версии Битрикс24.

Итог

Зависимые поля в запросе информации — это про точность сбора данных и удобство для сотрудника. Когда форма показывает только то, что нужно в конкретной ситуации, становится меньше путаницы, меньше лишних полей — и больше качественных данных там, где они действительно важны.

Подробнее о модуле — на странице решения.