Зависимые поля — когда поле появляется или становится обязательным в зависимости от значения другого поля; скрытые — когда лишние поля убраны из формы, чтобы не мешать менеджеру. Полноценного конструктора зависимостей «показать поле Б при значении поля А» в Битрикс24 нет, но тот же эффект достигается комбинацией штатных настроек и роботов: настройка карточки, обязательность по стадиям, проверки в бизнес-процессе и автоочистка неактуальных значений. Разберём приём по шагам.
Зачем нужны зависимые и скрытые поля?
Карточка сделки обрастает полями: для юрлиц нужны ИНН и юридический адрес, для физлиц — паспортные данные, для доставки — адрес и интервал. Если показывать всё всем, менеджер видит простыню из десятков полей, заполняет их через одно и пропускает важное. Зависимые и скрытые поля решают эту проблему: форма показывает только то, что относится к текущему клиенту и этапу работы. Прямая выгода — скорость заполнения и чистота данных: чем меньше нерелевантных полей на экране, тем меньше значений «лишь бы сохранить» попадает в CRM, тем точнее фильтры, отчёты и документы, которые на этих полях построены.
Что умеет штатная настройка карточки?
Карточку CRM можно настроить без кода: скрыть поля, изменить порядок, сгруппировать поля в разделы и сохранить общий вид для всех сотрудников. Это статическое скрытие: поле либо видно, либо нет — от значения других полей видимость не зависит. Второй штатный механизм — обязательность по стадиям: поле становится обязательным при переходе сделки на определённую стадию (подробнее об обязательности и типах полей — в статье о полях в Битрикс24). Динамической зависимости «выбрали "Юрлицо" — появился блок реквизитов» штатный интерфейс не даёт, поэтому зависимость эмулируют связкой разделов карточки, обязательности по стадиям и роботов-проверок — об этом два следующих раздела.
Как эмулировать зависимость через стадии и обязательность?
Идея: вместо «показать поле при значении» — «потребовать поле на этапе, где оно становится нужным». Пример с доставкой: пока сделка в «Переговорах», поля доставки не обязательны и лежат в свёрнутом разделе в конце карточки; при переходе на стадию «Доставка» адрес и интервал становятся обязательными — карточка сама потребует заполнить их при смене стадии. Свёрнутый раздел с редкими полями визуально работает как скрытие, а обязательность по стадии — как зависимость от этапа. Ограничение приёма: проверка срабатывает только на ручных переходах — изменения по API, импортом или роботами её обходят. Эту дыру закрывает проверка связок полей в бизнес-процессе.
Как проверить связку полей роботом?
Зависимость «если А, то Б обязательно» — это два условия сразу: «Тип клиента = Юрлицо» И «ИНН пуст». Штатный блок «Условие» в дизайнере бизнес-процессов выражает такое цепочкой вложенных блоков, которая быстро становится нечитаемой. Робот «Сложное условие (AND / OR / NOT)» проверяет до четырёх условий с логикой AND или OR одним действием, а в JSON-режиме принимает дерево условий произвольной вложенности — и возвращает единый признак Y/N. Среди операторов — равно, не равно, больше, меньше, содержит, пусто, не пусто; строки по умолчанию сравниваются без учёта регистра. При N процесс возвращает сделку на предыдущую стадию или ставит менеджеру задачу с перечнем незаполненных полей.
Как подставлять и чистить зависимые значения?
Два робота закрывают обратную сторону зависимости. «Тернарный выбор (если-то-иначе)» сравнивает два значения и возвращает один из двух заданных результатов плюс признак выполнения условия Y/N: например, по полю «Тип клиента» подставляет в письмо нужный вариант обращения — без цепочки условий в дизайнере. А «Очистить поле» устанавливает пустое значение в любое поле сделки, контакта, компании или лида: если менеджер сменил тип клиента с «Юрлицо» на «Физлицо», робот очищает ИНН и юридический адрес, чтобы данные прошлого варианта не уехали в документы и отчёты. Как вешать роботов на стадии — в статье о настройке роботов.
Чек-лист
Скройте редкие поля: настройте карточку, сгруппируйте поля в разделы, сохраните вид для всех. Включите обязательность по стадиям для полей конкретных этапов. Добавьте робота-проверку связок полей на переходах между стадиями. Настройте автоочистку полей при смене определяющего значения. Роботы для этой схемы — в каталоге Роботеки; нет нужного — опишите задачу, сделаем робота бесплатно.