Как создать пользовательское действие процесса
Glossary Item Box
Общие сведения
Во время работы с бизнес-процессами в bpm'online часто возникает необходимость выполнять однотипные операции. Для этих целей лучше всего подходит элемент [Выполнить действие процесса], для которого существует возможность выбрать наиболее подходящий в конкретной ситуации тип действия — [Пользовательское действие]. Подробнее об элементе [Выполнить действие процесса] можно узнать из статьи "Элемент процесса [Выполнить действие процесса]".
По умолчанию в системе доступно множество пользовательских действий, однако, могут возникнуть ситуации, когда для выполнения определенного бизнес-процесса необходимо создать новое пользовательское действие.
Создать новое пользовательское действие можно с помощью конфигурационной схемы "Действие процесса". В простой реализации действие процесса частично повторяет логику элемента процесса [Задание-сценарий], однако, созданное однажды действие можно использовать многократно в разных процессах. А при внесении изменений в действие процесса, такие изменения сразу же будут применены ко всем процессам, в которых это действие использовалось.
Описание примера
Создать простое пользовательское действие процесса, которое будет вычислять сумму двух чисел. Для вычисления суммы необходимо использовать два числа, которые задаются в качестве параметров действия.
Исходный код
Пакет с реализацией примера можно скачать по ссылке.
Алгоритм реализации примера
1. Создать схему действия процесса
Перейдите в раздел [Конфигурация] дизайнера системы, выберите пользовательский пакет и на вкладке [Схемы] выполните команду меню [Добавить] ([Add]) — [Действие процесса] ([User Task]) (рис. 1).
Рис. 1. — Создание схемы действия процесса
В результате выполнения команды откроется окно дизайнера действия процесса.
Для создаваемой схемы будут установлены значения по умолчанию для свойств [Название] ([Name]) и [Заголовок] ([Title]) — "UsrProcessUserTask1" и "Действие процесса 1" ("User Task 1") соответственно.
2. Добавить параметры действия
Чтобы добавить параметры, посредством которых можно получить результат действия, на вкладке [Структура] ([Structure]) дизайнера действия процесса вызовите контекстное меню на элементе [Parameters]. Затем выполните команду [Добавить] ([Add]) контекстного меню (рис. 2).
Рис. 2. — Создание параметра действия процесса
Результатом выполнения команды будет добавление нового параметра (рис. 3).
Рис. 3. — Свойства по умолчанию созданного параметра действия процесса
К создаваемому действию процесса добавьте три параметра, основные свойства которых приведены в таблице 1.
Табл. 1. — Основные свойства параметров создаваемого действия процесса
Название | Тип | Описание |
---|---|---|
FirstNumber | Целое (Integer) | Первое число (First number) |
SecondNumber | Целое (Integer) | Второе число (Second number) |
SumOfNumbers | Целое (Integer) | Сумма чисел (Sum of numbers) |
3. Добавить логику действия
Логика работы действия задается в сценарии. Сценарий действия — это свойство действия процесса, в котором содержится программный код, написанный на языке C#, который и реализует необходимую для выполнения действия логику.
Рис. 4. — Добавление логики действия процесса
Чтобы добавить программный код в сценарий действия, выберите корневой элемент структуры (рис. 4, 1), затем в текстовое поле свойства [Сценарий] ([Script]) добавьте программный код (рис. 4, 2):
// Выполнение операций с параметрами действия. SumOfNumbers = FirstNumber + SecondNumber; // Указывает на успешное выполнение сценария действия. return true;
К параметрам необходимо обращаться напрямую по имени. В конце сценария необходимо вернуть значение true, что будет сигнализировать об успешном выполнении элемента и продолжению выполнения процесса.
Для использования созданного действия в бизнес-процессах установите признак [Пользовательское действие] ([User task]), который расположен под полем ввода сценария (рис. 4, 3).
4. Сохранить и опубликовать схему
После присвоения значений необходимым свойствам созданной схемы действия процесса, сначала необходимо сохранить схему, а затем опубликовать ее (рис. 5).
Рис. 5. — Сохранение и публикация схемы
После успешной публикации схемы пользовательское действие процесса можно использовать при создании бизнес-процессов.
5. Выполнить тестирование
Для проверки работоспособности созданного действия процесса создайте новый бизнес-процесс. Подробно о том, как создать пользовательский бизнес-процесс, можно узнать из статьи "Как добавить бизнес-процесс".
В дизайнере процессов на заготовку диаграммы процесса добавьте элементы [Выполнить действие процесса] ([User task]) и [Автогенерируемая страница] ([Auto-generated page]) (рис. 6).
Рис. 6. — Пользовательский бизнес-процесс
Для элемента [Выполнить действие процесса 1] ([User task 1]) в свойстве [Пользовательское действие] ([Which user task to perform?]) укажите заголовок схемы, созданной на первом шаге (рис. 7).
Рис. 7. — Установка пользовательского действия процесса
Затем установите значения параметров, для которых будет вычисляться сумма (рис. 8). Значение параметра [Сумма чисел] ([Sum of numbers]) будет определено сценарием, созданном на третьем шаге, поэтому поле ввода значения этого параметра можно оставить пустым.
Рис. 8. — Значения параметров пользовательского действия
Элемент [Автогенерируемая страница 1] ([Auto-generated page 1]) предназначен для отображения результата действия, т.е. суммы значений параметров пользовательского действия. Для отображения суммы параметров сначала добавьте в коллекцию элементов страницы целое число (рис. 9), затем задайте заголовок элемента автогенерируемой страницы (рис. 10, 1), а для установки отображаемого значения — вызовите диалоговое окно формулы значения, кликнув по значку молнии в поле [Значение] ([Value]) (рис. 10, 2).
Рис. 9. — Добавление элементов страницы
Рис. 10. — Свойства элемента страницы
В появившемся диалоговом окне [Формула] ([Formula]) на вкладке [Элементы процесса] ([Process elements]) выберите элемент [Выполнить действие процесса 1] ([User task 1]) (рис. 11, 1), а затем дважды кликните по параметру элемента [Сумма чисел] ([Sum of numbers]) (рис. 11, 2). После этого отобразится формула, по которой будет вычисляться отображаемое на автогенерируемой странице значение (рис. 11.3).
Рис. 11. — Диалоговое окно [Формула]
Затем сохраните формулу (рис. 11, 4) и добавленный элемент автогенерируемой страницы (рис. 10, 3).
После сохранения процесса (рис. 6, 1), запустите его на выполнение (рис. 6, 2). После этого появится сообщение о запуске процесса, а также появится нотификация, нажав на которую можно перейти к странице отображения результатов бизнес-процесса (рис. 12).
Рис. 12. — Сообщение о запуске бизнес-процесса
Результат выполнения бизнес-процесса показан на рис. 13.
Рис. 13. — Результат выполнения бизнес-процесса
К СВЕДЕНИЮ
После изменения значений параметров пользовательского действия, прежде чем запустить бизнес-процесс повторно, необходимо в системе сменить отображаемую страницу, например, перейти в любой раздел системы. Если этого не сделать, то автогенерируемая страница бизнес-процесса будет отображать предыдущий результат.
Добавление действия процесса на вкладку [Элементы процесса]
Если созданный пользовательский элемент действия процесса планируется часто использовать, то для удобства его можно добавить на вкладку [Элементы процесса] ([Process elements]) дизайнера процессов. Для этого в базе данных выполните следующий SQL-скрипт:
-- UsrProcessUserTask1 — название схемы действия процесса. insert into SysProcessUserTask(SysUserTaskSchemaUId, Caption) select s.UId, s.Caption from SysSchema s where s.Name = 'UsrProcessUserTask1'
После перезагрузки приложения (или его компиляции) элемент отобразится на вкладке (рис. 14).
Рис. 14. — Пользовательский элемент на вкладке
Возможные проблемы
Если для созданного элемента не ототбражается вкладка параметров (рис. 8), укажите схему UserTaskPropertiesPage ("User task element properties edit page") в свойстве "Parameters edit page 7.x" (рис. 15).
Рис. 9. — Свойство "Parameters edit page 7.x"