Как создать пользовательское действие процесса
Glossary Item Box
Общие сведения
Во время работы с бизнес-процессами в bpm'online часто возникает необходимость выполнять однотипные операции. Для этих целей лучше всего подходит элемент процесса [Выполнить действие процесса], для которого существует возможность выбрать наиболее подходящий в конкретной ситуации тип действия — [Пользовательское действие]. Подробнее об элементе [Выполнить действие процесса] можно узнать из статьи "Элемент процесса [Выполнить действие процесса]".
По умолчанию в системе доступно множество пользовательских действий, однако, могут возникнуть ситуации, когда для выполнения определенного бизнес-процесса необходимо создать новое пользовательское действие.
Создать новое пользовательское действие можно с помощью конфигурационной схемы "Действие процесса". В простой реализации действие процесса частично повторяет логику элемента процесса [Задание-сценарий], однако, созданное однажды действие можно использовать многократно в разных процессах. А при внесении изменений в действие процесса, такие изменения сразу же будут применены ко всем процессам, в которых это действие использовалось.
Пример создания пользовательского действия процесса
Описание кейса
Создать простое пользовательское действие процесса, которое будет вычислять сумму двух чисел. Для вычисления суммы необходимо использовать два числа, которые задаются в качестве параметров действия.
Последовательность реализации кейса
1. Создать схему действия процесса
Для этого необходимо перейти в раздел [Конфигурация] дизайнера системы, выбрать пользовательский пакет и на вкладке [Схемы] выполнить команду меню [Добавить] — [Действие процесса] (рис. 1).
Рис. 1. — Создание схемы действия процесса
В результате выполнения команды откроется окно дизайнера действия процесса.
Для создаваемой схемы будут установлены значения по умолчанию для свойств [Название] и [Заголовок] — "UsrProcessUserTask1" и "Действие процесса 1" соответственно.
ВАЖНО Если схема действия процесса добавлена в пользовательский пакет, который не является текущим, то необходимо в зависимости текущего пакета добавить пакет, в котором создана схема действия процесса. По умолчанию текущим пакетом является пакет Custom. Узнать, какой пакет является текущим в системе, можно по значению системной настройки [Текущий пакет]. |
2. Добавить параметры действия
Чтобы добавить параметры, посредством которых можно получить результат действия, необходимо на вкладке [Структура] дизайнера действия процесса вызвать контекстное меню на элементе [Parameters]. Затем необходимо выполнить команду [Добавить] контекстного меню (рис. 2).
Рис. 2. — Создание параметра действия процесса
Результатом выполнения команды будет добавление нового параметра, основные свойства которого отображены на рис. 3.
Рис. 3. — Свойства по умолчанию созданного параметра действия процесса
К создаваемому действию процесса необходимо добавить три параметра, основные свойства которых приведены в таблице 1.
Табл. 1. — Основные свойства параметров создаваемого действия процесса
Название | Тип | Описание |
---|---|---|
FirstNumber | Целое | Первое число |
SecondNumber | Целое | Второе число |
SumOfNumbers | Целое | Сумма чисел |
3. Добавить логику действия
Логика работы действия задается в сценарии. Сценарий действия — это свойство действия процесса, в котором содержится программный код, написанный на языке C#, который и реализует необходимую для выполнения действия логику.
Рис. 4. — Добавление логики действия процесса
Чтобы добавить программный код в сценарий действия, необходимо выбрать корневой элемент структуры (рис. 4, 1), затем в текстовое поле свойства [Сценарий] добавить программный код (рис. 4, 2):
// Выполнение операций с параметрами действия. SumOfNumbers = FirstNumber + SecondNumber; // Указывает на успешное выполнение сценария действия. return true;
К параметрам необходимо обращаться напрямую по имени. В конце сценария необходимо вернуть значение true, что будет сигнализировать об успешном выполнении элемента и продолжению выполнения процесса.
Для использования созданного действия в бизнес-процессах необходимо установить признак [Пользовательское действие], который расположен под полем ввода сценария (рис. 4, 3).
4. Сохранить и опубликовать схему
После присвоения значений необходимым свойствам созданной схемы действия процесса, сначала необходимо сохранить схему, а затем опубликовать ее (рис. 5).
Рис. 5. — Сохранение и публикация схемы
После успешной публикации схемы пользовательское действие процесса можно использовать при создании бизнес-процессов.
5. Выполнить тестирование
Для проверки работоспособности созданного действия процесса необходимо создать новый бизнес-процесс. Подробно о том, как создать пользовательский бизнес-процесс, можно узнать из статьи "Как добавить бизнес-процесс".
В дизайнере процессов на заготовку диаграммы процесса необходимо добавить элементы [Выполнить действие процесса] и [Автогенерируемая страница] (рис. 6).
Рис. 6. — Пользовательский бизнес-процесс
Для элемента [Выполнить действие процесса 1] необходимо в свойстве [Пользовательское действие] указать заголовок схемы, созданной на первом шаге (рис. 7).
Рис. 7. — Установка пользовательского действия процесса
Далее на вкладке [Параметры] необходимо установить значения параметров, для которых будет вычисляться сумма (рис. 8). Значение параметра [Сумма чисел] будет переопределено сценарием, созданном на третьем шаге, поэтому поле ввода значения этого параметра можно оставить пустым.
Рис. 8. — Значения параметров пользовательского действия
Элемент [Автогенерируемая страница 1] предназначен для отображения результата действия, т.е. суммы значений параметров пользовательского действия. Для отображения суммы параметров необходимо сначала добавить в коллекцию элементов страницы целое число (рис. 9), затем задать заголовок элемента автогенерируемой страницы (рис. 10, 1), а для установки отображаемого значения — вызвать диалоговое окно формулы значения, кликнув по значку молнии в поле [Значение] (рис. 10, 2).
Рис. 9. — Добавление элементов страницы
Рис. 10. — Свойства элемента страницы
В появившемся диалоговом окне [Формула] на вкладке [Элементы процесса] необходимо выбрать элемент [Действие процесса 1 1] (рис. 11, 1), а затем дважды кликнуть по параметру элемента [Сумма чисел] (рис. 11, 2). После этого отобразится формула, по которой будет вычисляться отображаемое на автогенерируемой странице значение (рис. 11.3).
Рис. 11. — Диалоговое окно [Формула]
Далее необходимо сохранить формулу (рис. 11, 4) и добавленный элемент автогенерируемой страницы (рис. 10, 3).
После сохранения процесса (рис. 6, 1), его необходимо запустить на выполнение (рис. 6, 2). После этого появится сообщение о запуске процесса, а также появится нотификация, нажав на которую можно перейти к странице отображения результатов бизнес-процесса (рис. 12).
Рис. 12. — Сообщение о запуске бизнес-процесса
Результат выполнения бизнес-процесса показан на рис. 13.
К сведению После изменения значений параметров пользовательского действия, прежде чем запустить бизнес-процесс повторно, необходимо в системе сменить отображаемую страницу, например, перейти в любой раздел системы. Если этого не сделать, то автогенерируемая страница бизнес-процесса будет отображать предыдущий результат. |
Добавление действия процесса на вкладку [Элементы процесса]
Если созданный пользовательский элемент действия процесса планируется часто использовать, то для удобства его можно добавить на вкладку [Элементы процесса] дизайнера процессов. Для этого необходимо в базе данных выполнить следующий SQL-скрипт:
-- UsrProcessUserTask1 — название схемы действия процесса. insert into SysProcessUserTask(SysUserTaskSchemaUId, Caption) select s.UId, s.Caption from SysSchema s where s.Name = 'UsrProcessUserTask1'
После перезагрузки приложения (или его компиляции) элемент отобразится на вкладке:
Рис. 13. — Пользовательский элемент на вкладке [User Task 1]