Обработка коллекций с помощью элемента «Подпроцесс»
В рамках бизнес-процессов предусмотрен удобный механизм работы с коллекциями данных с помощью элемента «Подпроцесс».
Пример. Всем контактам, которые были созданы сегодня, необходимо присвоить тип «Клиент».
Рисунок 1 — Схема основного бизнес-процесса с подпроцессом
Рисунок 2 — Схема подпроцесса
Создание подпроцесса
В начале необходимо создать процесс, который будет вызываться из основного бизнес-процесса в качестве подпроцесса.
- Создайте новый процесс с названием «Установка типа».
- Перейдите на вкладку «Параметры» процесса.
- Нажмите кнопку «Добавить параметр», в выпадающем меню выберите «Другое» → «Уникальный идентификатор».
Рисунок 3 — Создание параметра с типом «Уникальный идентификатор»
- В свойствах нового параметра измените название на «Id контакта» и нажмите «Сохранить».
Рисунок 4 — Свойства параметра процесса
Подробная информация о параметрах бизнес-процессов и их использовании приведена в статье «Параметры».
-
Добавьте на схему элемент «Изменить данные». Назовите его «Установить тип». В настройках элемента укажите следующие значения:
Рисунок 5 — Параметры элемента «Установить тип»
Данный элемент будет выполнять изменение данных для записи раздела «Контакт», у которой значение в поле «Id» равно значению параметра «Id контакта» в бизнес-процессе.
-
В параметре «Какие значения полей установить для измененных записей?» элемента «Установить тип» необходимо нажать «Добавить поле» и в открывшемся окне выбрать поле «Тип».
Рисунок 6 — Выбор поля для изменения
-
В выпадающем меню для поля «Тип» необходимо выбрать «Значение справочника» и в качестве значения выбрать «Клиент».
Рисунок 7 — Выбор источника значений для поля «Тип»
Рисунок 8 — Выбор значения справочника для поля «Тип»
-
Сохраните процесс.
Создание основного процесса с подпроцессом
Следующим этапом необходимо создать процесс, который будет вызывать подпроцесс «Установка типа» и передавать в его параметр коллекцию записей, которые необходимо изменить.
- Создайте новый процесс с названием «Чтение коллекции контактов».
- Добавьте на схему элемент «Читать данные». Назовите его «Читать коллекцию контактов». В настройках элемента укажите следующие значения:
Рисунок 9 — Параметры элемента «Читать коллекцию контактов»
Данный элемент будет читать коллекцию колонок «Id» записей раздела «Контакты», у которых поле «Тип» не заполнено и в поле «Дата создания» установлена текущая дата.
-
Добавьте на схему элемент «Подпроцесс». Назовите его «Установка типа». В параметре «Какой процесс запустить» выберите «Установка типа».
Рисунок 10 — Выбор подпроцесса в элементе «Установка типа»
После выбора процесса в меню параметров будет добавлен список параметров выбранного процесса. В данном случае это параметр «Id контакта».
Рисунок 11 — Список параметров подпроцесса «Установка типа»
- В параметре «Id контакта» выберите «Параметр процесса» и в качестве значения выберите «Id» из элемента «Читать коллекцию контактов».
Рисунок 12 — Заполнение значения параметра «Id контакта»
Данный элемент передает коллекцию Id контактов в подпроцесс.
-
Сохраните процесс.
Примечание. Дополнительные параметры элемента «Подпроцесс» при работе с коллекциями описаны в отдельной статье «Коллекции».
В результате при запуске процесса будет считана коллекция значений поля «Id» записей раздела «Контакты», у которых не заполнено поле «Тип» и поле «Дата создания» содержит текущую дату (на момент старта процесса). Коллекция будет передана в подпроцесс, где для каждого элемента коллекции будет запущен экземпляр подпроцесса, в котором будет установлено значение «Клиент» для поля «Тип».