Работа с коллекцией записей в
бизнес-процессах
Коллекция данных в BPMSoft — это массив значений, полученных из нескольких записей объекта системы. Например, коллекцией данных может быть список фамилий всех контактов, которые являются сотрудниками компании. Коллекции данных создаются с помощью элемента бизнес-процесса «Читать данные» при чтении списка записей, соответствующих установленному фильтру.
Способы обработки коллекции данных с помощью элементов бизнес-процесса
Для обработки коллекции данных используются следующие элементы бизнес-процесса:
- Элемент «Вызвать веб-сервис». С помощью данного элемента можно передать коллекцию данных во внешний веб-сервис. Вы также можете настроить параметры ответа веб-сервиса таким образом, чтобы в ответе элемент «Веб-сервис» возвращал коллекцию данных;
- Элемент «Задание-сценарий». С помощью данного элемента вы можете обработать коллекцию данных с помощью сценария на языке программирования C#, передавая коллекцию в элемент процесса «Задание-сценарий»;
- Элемент «Преднастроенная страница». С помощью данного элемента вы можете отобразить список значений коллекции данных на единой преднастроенной странице. Для этого в разделе «Конфигурация» добавьте параметр «Сериализуемый список составных значений», после чего средствами разработки настройте логику отображения коллекции данных на преднастроенной странице;
- Элемент «Выполнить действие процесса». С помощью данного элемента вы можете передавать коллекции данных для выполнения пользовательских действий. Для этого необходимо добавить параметр «Сериализуемый список составных значений» и настроить логику действия процесса средствами разработки;
- Элемент «Подпроцесс». С помощью данного элемента можно для каждой записи коллекции данных запускать отдельный экземпляр подпроцесса. Использование подпроцессов является предпочтительным способом работы с коллекциями. Подпроцессы не ограничены возможностями внешнего веб-сервиса как, например, элемент «Вызвать веб-сервис». Также для составления подпроцессов не требуется использование кода как, например, для элемента «Задание-сценарий».
В данной статье рассмотрим процесс обработки коллекции данных с помощью элемента «Подпроцесс».
Обработка параметров коллекции с помощью подпроцесса
Обработка коллекции данных с помощью элемента «Подпроцесс (Действие вызов)» включает следующие этапы настройки:
- Создание подпроцесса, который обрабатывает отдельные экземпляры коллекции данных.
- Добавление и настройка элемента «Подпроцесс (Действие вызов)» в родительском процессе.
Пример. Рассмотрим принцип работы с коллекцией данных в бизнес-процессе для автоматического назначения задач с указанным заголовком всем сотрудникам компании.
Создание подчиненного бизнес-процесса (подпроцесса)
Создайте подчиненный процесс, который будет работать с экземпляром коллекции как с отдельной записью.
Пример. Создайте подпроцесс, в результате выполнения которого будет создаваться задача для каждого сотрудника.
Для создания подчиненного бизнес-процесса выполните следующие шаги:
- Перейдите в раздел «Библиотека процессов» и на панели управления нажмите на кнопку «Добавить процесс» (Рисунок 1). Подробнее о создании и настройке процесса смотрите в статье Добавление бизнес-процесса.
Рисунок 1 — Переход к созданию процесса

- В открывшемся дизайнере процессов нажмите на кнопку
, расположенную на панели управления, или нажмите в рабочую область дизайнера процессов. Отобразится панель для настройки бизнес-процесса и его параметров.
-
Перейдите на вкладку «Настройки»:
- Укажите название подчиненного бизнес-процесса, например, «Добавить задачи для сотрудников (подпроцесс)»;
- В поле «Имя» введите уникальный код бизнес-процесса. Код может содержать цифры и латинские буквы верхнего и нижнего регистров без пробела. Например, «BusinessProcessTaskCreate».
Рисунок 2 — Настройка параметров подчиненного процесса

-
Перейдите на вкладку «Параметры» и добавьте следующие параметры (Рисунок 2):
- Параметр процесса «Заголовок задачи» с типом «Текст»;
- Параметр процесса «ID сотрудника» с типом «Уникальный идентификатор». Подробнее о добавлении параметров процесса и их типах смотрите в статье Параметры;
- Не указывайте значения параметров, так как они будут автоматически заполнены из родительского процесса.
-
На диаграмму подчиненного бизнес-процесса добавьте элемент «Добавить данные» и задайте для него следующие параметры:
- Укажите название элемента, например, «Добавить задачи для сотрудников»;
- В поле «В какой объект добавить данные?» выберите объект «Активность»;
- Выберите режим добавления данных «Добавить одну запись»;
- Укажите колонки, значения которых будут передаваться из родительского процесса (Рисунок 3): в поле «Заголовок» должен передаваться параметр процесса «Заголовок задачи», в поле «Ответственный» должен передаваться ID контакта с типом «Сотрудник».
Рисунок 3 — Настройка элемента подпроцесса «Добавить данные»

- Сохраните изменения. Подробнее: Версионность.
В результате создан подпроцесс, который будет работать с экземпляром коллекции как с отдельной записью. Далее подпроцесс необходимо добавить в родительский и настроить параметры для передачи.
Создание родительского бизнес-процесса и настройка параметров
Создайте родительский бизнес-процесс и добавьте в него элемент «Подпроцесс (Действие вызов)», в котором будет использован ранее созданный и настроенный подпроцесс. Для этого выполните следующие шаги:
- Перейдите в раздел «Библиотека процессов» и на панели управления разделом нажмите на кнопку «Добавить процесс» (Рисунок 1). Подробнее о создании и настройке процесса смотрите в статье Добавление бизнес-процесса.
- В открывшемся дизайнере процессов нажмите кнопку
, расположенную на панели управления, или нажмите в рабочую область дизайнера процессов. Отобразится панель для настройки бизнес-процесса и его параметров.
-
Перейдите на вкладку «Настройки» и укажите следующие свойства родительского процесса:
- Введите название родительского бизнес-процесса, например, «Процесс массового создания задач для сотрудников»;
- В поле «Имя» уникальный код генерируется автоматически, измените его при необходимости. Код может содержать цифры и латинские буквы верхнего и нижнего регистров без пробела. Например, «BusinessProcessMassTaskCreation».
-
На диаграмму бизнес-процесса добавьте элемент «Читать данные» и задайте для него следующие параметры (Рисунок 4):
- Укажите название элемента, например, «Читать данные сотрудников»;
- Установите режим чтения данных «Читать коллекцию записей»;
- Выберите объект «Контакт» для считывания из него значений;
- Установите следующие условия фильтрации: колонка контакта «Тип» равна значению «Сотрудник»;
- В поле «Читать первые _ записей» установите число, равное или превышающее количество сотрудников вашей компании;
- Для повышения производительности процесса установите вычитывание только нужных колонок. Например, ID контактов с типом «Сотрудник».
Рисунок 4 — Настройка элемента «Читать данные» родительского процесса

-
Добавьте на диаграмму элемент «Автогенерируемая страница» для того, чтобы BPMSoft запрашивала у инициатора бизнес-процесса название создаваемых задач. Укажите следующие параметры элемента (Рисунок 5):
- Укажите название элемента, например, «Запросить название задачи»;
- В поле «Название страницы» укажите вопрос инициатору: «Какую задачу вы хотите назначить на сотрудников?»;
- В параметре «Элементы страницы» добавьте поле «Заголовок задачи» и установите для него признак «Обязательное»;
- В параметре «Кнопки» добавьте кнопку «Подтвердить», при нажатии на которую введенный заголовок задачи будет сохранен. В поле «Стиль» выберите стиль кнопки для ее выделения на странице.
Рисунок 5 — Настройка элемента «Автогенерируемая страница» родительского процесса
-
На диаграмму процесса добавьте элемент «Подпроцесс», который для каждой записи сотрудника в коллекции данных будет запускать отдельный экземпляр подпроцесса добавления задачи. Укажите следующие параметры элемента (Рисунок 6):
- Укажите его название, например, «Подпроцесс добавления задач на сотрудников»;
- В параметре «Какой процесс запустить?» выберите ранее созданный подчиненный процесс «Добавить задачи для сотрудников (подпроцесс)»;
- Укажите, что в этот подпроцесс будет передаваться «Заголовок задачи» из элемента процесса «Автогенерируемая страница» и «ID сотрудника» из коллекции данных элемента «Читать данные» (Рисунок 6);
- После установки параметров в поле «Режим выполнения» укажите как будут выполняться экземпляры подпроцесса: последовательно или параллельно. При последовательном выполнении новый экземпляр подпроцесса стартует после выполнения предыдущего экземпляра. При параллельном экземпляры запускаются одновременно, но при этом их завершение может быть в ином от запуска порядке.
Рисунок 6 — Настройка элемента «Подпроцесс (Действие вызов)» родительского процесса
В результате родительский бизнес-процесс создан и настроены параметры для передачи значений между процессами. Для запуска бизнес-процесса перейдите в раздел «Библиотека процессов», выберите родительский процесс и в контекстном меню записи нажмите на команду «Запустить».
Рисунок 7 — Запуск родительского бизнес-процесса

На вкладке «Задачи по бизнес-процессам» коммуникационной панели отобразится задача для указания заголовка активности на сотрудников (Рисунок 8). Нажмите на задачу, которая является ссылкой для перехода к автогенерируемой странице.
Рисунок 8 — Задача по запущенному бизнес-процессу
На открывшейся автогенерируемой странице введите заголовок задачи и нажмите на кнопку «Подтвердить» для рассылки задач сотрудникам.
Рисунок 9 — Автогенерируемая страница для указания заголовка задачи на сотрудников

После подтверждения в разделе «Активности» будут созданы задачи на всех сотрудников компании (Рисунок 10). Таким образом, бизнес-процесс по массовому назначению задач сотрудникам выполнен успешно.
Рисунок 10 — Созданные задачи на сотрудников в результате выполнения бизнес-процесса

Рекомендуем изучить
Добавление бизнес-процесса
Добавление элементов
Версионность
Запуск процессов
Параметры
Данные