Зависимость? Иногда это не плохо. Часть 1. Списки
Зависимость - связанность явлений, предопределяющая их существование или сосуществование.
Очень часто в Битрикс24 необходимо реализовать сценарии, когда значение одного поля должно быть триггером для отображения другого поля или набора полей.
Сегодня хочу рассказать, как мы решили данную задачу для списков и процессов в живой ленте.
Само решение завернуто в модуль для коробочного Битрикс24. Ознакомиться с ним можно, поставив на свой портал в демо-режиме.
Кейс 1: Мероприятия
Компания ведет перечень своих мероприятий на списках. Мероприятия могут быть как онлайн, так и офлайн. Соответственно для разных типов мероприятий нужны разные данные
1) Ссылка на площадку, где будет трансляция
Если мы используем обычный список, то в форме создания редактирования у нас все поля будут "в кучу". Что делает заполнения данной формы очень неудобным
Для решения данной задачи будем использовать наш модуль.
В настройках модуля мы укажем наше поле "Тип мероприятия" и укажем поля, которые будут завесеть от значений данного поля
Теперь при выборе типа мероприятия онлайн в форме редактирования элемента списка будут показаны только необходимые поля.
Кейс 2. Заявка дизайнеру
В компаниях с мультибрендовыми продажами возникает большое количество задач на оформление различной рекламы, полиграфии, баннеров для сайтов, стендов для мероприятий и прочее... В таком случае дизайнеров выделяют в отдельное подразделение. Задач становится очень много и требуется формализация. В Битрикс24 для таких целей можно использовать запуск бизнес-процессов в живой ленте. Типов заявок может быть много и разные заявки требуют разных уточняющих данных.
Что бы не плодить большое количество форм под разные типы заявок, будем использовать наш модуль с зависимыми полями.
Есть два поля, от которых мы будем настраивать зависимость:
В случае если у нас поле "Задача на макеты" имеет значение "Навигация" или "Наружка", то необходимо отобразить для пользователя поле "Форматы рекламы"
При этом от "Типа заявки" будет зависеть гораздо больше полей
И при этом будет зависеть не только из отображение в форме, но и их обязательность.
Как результат получаем удобную форму с удобным выбором прямо в живой ленте портала:
Кейс 3. Сложная форма
В компании для этого примера есть отдел аналитики, в который формируются довольно-таки подробные заявки. И в заявке будет целая цепочка зависимых полей.
У нас есть "Тип заявки". При выборе значения "Заявка на доработки в OLAP" появится набор полей, одно из которых так же требует настройки.
От значения поля "Доработка необходима для отчета?" так же будет настроена отдельная зависимость:
А уже от поля "Отчет есть в исходной системе" будет зависеть поле с необходимыми файлами
Таким образом, мы можем собрать сложную форму, где отображение полей будет представлять из себя "каскад", т.е. представлять из себя подобие "умной" формы.