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

Записи
Для определения записей, в которых содержатся необходимые данные, могут быть использованы следующие способы:
- Фильтрация записей с помощью задания логических условий. Данный способ, в зависимости от элемента, позволяет идентифицировать как набор записей, соответствующих условиям фильтра, так и конкретную запись;
- Установка идентификатора записи, который может быть получен из параметра процесса или элемента. Данный способ предназначен для поиска определенной записи.
Несколько записей
Для определения нескольких записей, с которыми будут произведены операции в ходе выполнения бизнес-процесса, используются условия фильтрации элемента. Настройка условий для фильтра элемента аналогична настройке фильтров для разделов и справочников. Подробнее: Фильтрация и группировка
В зависимости от элемента с помощью фильтрации можно получить как выборку записей, так и определенную запись, соответствующую заданному условию. Например, элемент «Читать данные» может вычитать коллекцию записей или первую из выборки, установив соответствующий режим в поле «Какой режим чтения данных использовать?».
Рисунок 2 — Пример настроенного фильтра элемента

Для идентификации записей задайте в фильтре нужные колонки и их значения, по которым будет осуществлена фильтрация записей, а также определите условия их сортировки. Например, для определения списка записей продаж, которые завершены с победой и с суммой более 1 млн. рублей, установите фильтр по колонкам «Стадия» и «Сумма продажи», а затем установите условие сортировки по дате закрытия продажи по возрастанию.
При настройке фильтрации по дате возможно учитывать время. Для этого перейдите в «Расширенный режим» и на вкладке «Параметры» в поле «Учитывать время в фильтре» установите логическое значение «Да».
Рисунок 3 — Учет времени в фильтре

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

В открывшемся окне выберите параметр процесса или элемента, содержащий идентификатор записи.
Рисунок 5 — Установка параметра, в котором содержится идентификатор записи

Таким образом, результатом фильтрации записей объекта всегда будет одна запись, так как две записи не могут иметь одинаковый «Id» в базе данных.
Данные объекта
В ходе выполнения бизнес-процесса данные объекта в заданных полях будут изменены или добавлены новые. Для определения этих значений используются исходящие параметры элементов. Подробнее: Параметры
Значения передаются в исходящие параметры элемента, после того как были произведены операции с данными. В дальнейшем эти значения могут быть использованы другими элементами бизнес-процесса. Например, при активации элемента «Выполнить задачу» создается активность, идентификатор которой передается в исходящий параметр. В ходе дальнейшего выполнения бизнес-процесса можно обращаться к данной активности, используя этот параметр.
Рисунок 6 — Параметры элемента «Выполнить задачу»

Параметры элементов аналогичны названиям и типам полей в соответствующем объекте BPMSoft. Например, номер счета заказа содержится в поле типа «Справочник» и передается в параметр такого же типа.
Рекомендуем изучить
Добавление бизнес-процесса
Добавление элементов
Параметры
Фильтрация и группировка
Читать данные
Добавить данные
Изменить данные
Удалить данные