Битрикс24
May 22, 2022

Зависимость? Иногда это не плохо. Часть 1. Списки

Зависимость - связанность явлений, предопределяющая их существование или сосуществование.

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

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

Само решение завернуто в модуль для коробочного Битрикс24. Ознакомиться с ним можно, поставив на свой портал в демо-режиме.

Кейс 1: Мероприятия

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

Онлайн мероприятие:

1) Ссылка на площадку, где будет трансляция

2) Время начала трансляции

Оффлайн мероприятие:

1) Адрес проведения

2) Сколько свободных мест

3) Сколько мест занято

Если мы используем обычный список, то в форме создания редактирования у нас все поля будут "в кучу". Что делает заполнения данной формы очень неудобным

Для решения данной задачи будем использовать наш модуль.

В настройках модуля мы укажем наше поле "Тип мероприятия" и укажем поля, которые будут завесеть от значений данного поля

Настройка полей для списка "Мероприятия"

Теперь при выборе типа мероприятия онлайн в форме редактирования элемента списка будут показаны только необходимые поля.

Поля для форма создания онлайн мероприятия в списке

И тоже самое для оффлайна.

Поля для форма создания оффлайн мероприятия в списке

Кейс 2. Заявка дизайнеру

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

Что бы не плодить большое количество форм под разные типы заявок, будем использовать наш модуль с зависимыми полями.

Есть два поля, от которых мы будем настраивать зависимость:

1) Задача на макеты

2) Тип заявки

В случае если у нас поле "Задача на макеты" имеет значение "Навигация" или "Наружка", то необходимо отобразить для пользователя поле "Форматы рекламы"

Настройки для списка Зачвки дизайнеру в живой ленте

При этом от "Типа заявки" будет зависеть гораздо больше полей

Настройка для поля "Тип зачвки"

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

Как результат получаем удобную форму с удобным выбором прямо в живой ленте портала:

Результат работы формы с зависимыми полями в Живой ленте

Кейс 3. Сложная форма

В компании для этого примера есть отдел аналитики, в который формируются довольно-таки подробные заявки. И в заявке будет целая цепочка зависимых полей.

У нас есть "Тип заявки". При выборе значения "Заявка на доработки в OLAP" появится набор полей, одно из которых так же требует настройки.

Настройка для поля "Тип заявки"

От значения поля "Доработка необходима для отчета?" так же будет настроена отдельная зависимость:

настройка зависимых полей второго уровня "Данные необходимы для отчета"

А уже от поля "Отчет есть в исходной системе" будет зависеть поле с необходимыми файлами

Настройки для полей третьего "Отчёт есть в исходной системе"

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