Шаблон бизнес-процесса. Динамическое количество полей в блоке «Запрос дополнительной информации»?

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

Для начала, необходимо создать кастомное свойство типа «Строка» в настройках бизнес-процесса. Это свойство будет хранить данные о запрошенной дополнительной информации. Задайте ему уникальный код, например, "additional_info".

Затем в блоке «Запрос дополнительной информации» добавьте новое поле с типом «Пользовательское» и привяжите его к созданному кастомному свойству "additional_info".

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

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

Затем проверяем значение кастомного свойства "additional_info". Если оно не пусто, то разбиваем его на отдельные значения (например, по разделителю ";") и создаем новые пользовательские поля для каждого значения. Если значение пустое, то все текущие поля удаляются.

Для создания и удаления пользовательских полей можно использовать функции CUserTypeEntity::Add и CUserTypeEntity::Delete соответственно.

Не забудьте задать этот агент на выполнение с определенной периодичностью, чтобы проверять и обновлять поле "additional_info" и соответственно количество полей в блоке "Запрос дополнительной информации".

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