Creatio development guide
PDF
Это документация Creatio версии 7.15.0. Мы рекомендуем использовать новую версию документации.

Как создать пользовательское действие процесса

Glossary Item Box

Общие сведения

Во время работы с бизнес-процессами в Creatio часто возникает необходимость выполнять однотипные операции. Для этих целей лучше всего подходит элемент [Выполнить действие процесса], для которого существует возможность выбрать наиболее подходящий в конкретной ситуации тип действия — [Пользовательское действие]. Подробнее об элементе [Выполнить действие процесса] можно узнать из статьи "Элемент процесса [Выполнить действие процесса]".

По умолчанию в системе доступно множество пользовательских действий, однако, могут возникнуть ситуации, когда для выполнения определенного бизнес-процесса необходимо создать новое пользовательское действие.

Создать новое пользовательское действие можно с помощью конфигурационной схемы "Действие процесса". В простой реализации действие процесса частично повторяет логику элемента процесса [Задание-сценарий], однако, созданное однажды действие можно использовать многократно в разных процессах. А при внесении изменений в действие процесса, такие изменения сразу же будут применены ко всем процессам, в которых это действие использовалось.

Описание примера

Создать простое пользовательское действие процесса, которое будет вычислять сумму двух чисел. Для вычисления суммы необходимо использовать два числа, которые задаются в качестве параметров действия.

Исходный код

Пакет с реализацией примера можно скачать по ссылке.

Алгоритм реализации примера

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).

Рис. 15. — Свойство "Parameters edit page 7.x"

 

© Terrasoft 2002-2020.

Был ли данный материал полезен?

Как можно улучшить эту статью?