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

Как кастомизировать напоминания элемента [Выполнить действие процесса]

Glossary Item Box

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

Элемент процесса [Выполнить действие процесса] ([User Task]) может создавать напоминание на панели[Задачи по бизнес-процессам] ([Business Process Tasks]), как и любое другое действие процесса. Для активации механизма создания напоминания по шагу бизнес-процесса необходимо, чтобы у пользовательского действия процесса было установлено свойство [Сериализовать в БД] и определен логический параметр ShowExecutionPage.

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

Пример создания пользовательского действия процесса с напоминанием

Описание кейса

Создать простое пользовательское действие процесса, перед выполнением которого будет автоматически создаваться оповещение с заголовком "Внимание" ("Attention"), и содержимым "Очень важно" ("Very important!"). Напоминание должно отображаться на панели[Задачи по бизнес-процессам].

Последовательность реализации кейса

1. Создать схему действия процесса

Для этого необходимо перейти в раздел [Конфигурация] ([Configuration]) дизайнера системы, выбрать пользовательский пакет и на вкладке [Схемы] ([Schemas]) выполнить команду меню [Добавить] ([Add]) — [Действие процесса] ([UserTask]) (рис. 1).

Рис. 1. — Создание схемы действия процесса

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

Табл.1. — Свойства пользовательского действия процесса

Свойство Значение
Заголовок (Title) Кастомизированное действие процесса (Customized User Task)
Название (Name) UsrCustomizedUserTask
Маленькое векторное изображение (Small vector image) Векторное изображение в формате SVG (Scalable Vector Graphics). Будет отображаться на панели[Задачи по бизнес-процессам]. В этом примере используется SVG-изображение, доступное по ссылке.
Изображение для нотификаций (54x54 px) (Notification Icon (54x54 px)) Изображение для всплывающего окна напоминания в формате PNG (Portable Network Graphics), размером 54 на 54 пикселя. В этом примере используется такое PNG-изображение: .
Сериализовать в БД (Serialize in DB) Признак должен быть установлен.
Пользовательское действие (User task) Признак должен быть установлен.

После внесения изменений, необходимо сохранить метаданные схемы.

2. Добавить параметр ShowExecutionPage

Чтобы при выполнении действия создавалось напоминание, необходимо в секцию Parameters схемы пользовательского действия процесса добавить новый параметр ShowExecutionPage (рис. 2). Его основные свойства приведены в таблице 2.

Рис. 2. — Добавление параметра схемы

Табл. 2. — Свойства параметра ShowExecutionPage

Свойство Значение
Заголовок (Title) ShowExecutionPage
Название (Name) ShowExecutionPage
Тип данных (Data type) Логическое (Boolean)

Значение параметра ShowExecutionPage для создания напоминаний не имеет значения. Если указанный параметр присутствует в действии бизнес-процесса, то перед выполнением любого шага бизнес-процесса, реализуемого этим действием, будет автоматически создаваться напоминание по такому шагу.

После внесения изменений необходимо сохранить метаданные схемы.

3. Переопределить метод GetNotificationData()

Содержимое напоминания по шагу бизнес-процесса формируется с помощью метода GetNotificationData(), который пользователь имеет возможность переопределить.

Метод должен возвращать экземпляр класса Terrasoft.Core.Process.ProcessElementNotification, содержащий данные для напоминания шага бизнес-процесса. Настоятельно рекомендуется вначале вызвать базовый метод, который вернет экземпляр класса ProcessElementNotification, заполненный по умолчанию, а затем кастомизировать этот экземпляр. Полное описание свойств класса ProcessElementNotification можно найти в разделе .NET библиотеки классов ядра платформы.

Наибольший интерес для кастомизации представляют свойства, представленные в таблице 3.

Табл. 3. — Основные свойства класса Terrasoft.Core.Process.ProcessElementNotification

Свойство Значение
Title Заголовок уведомления о шаге бизнес-процесса. Значение по умолчанию — название действия бизнес-процесса на диаграмме.
Subject Описание уведомления о шаге бизнес-процесса. Здесь можно предоставить пользователю уточняющую информацию о данном шаге бизнес-процесса. Значение по умолчанию — значение параметра NotificationCaption бизнес-процесса, содержащего шаг. Таким образом, для всех шагов одного бизнес-процесса значение Subject по умолчанию одинаковое.
StartDate Дата и время отображения уведомления для пользователя системы. Значение по умолчанию — момент создания данного уведомления о шаге бизнес-процесса. Т. е. уведомление отобразится пользователю сразу после его создания, в момент начала выполнения шага бизнес-процесса.

Чтобы выполнить условия кейса, необходимо переопределить метод GetNotificationData() созданной схемы. Для этого нужно выделить узел GetNotificationData в структуре схемы. И в поле [Скрипт] ([Script]) добавить следующий исходный код (рис. 3):

// Выполнение базового метода и получение сформированного по умолчанию экземпляра класса ProcessElementNotification.
ProcessElementNotification notification = base.GetNotificationData();
//Кастомизация элемента нотификации.
notification.Subject = "Very important! " + notification.Subject;
notification.Title = "Attention";
// Можно отложить дату и время начала отображения уведомления.
// notification.StartDate = notification.StartDate.AddDays(2);
// Метод возвращает кастомизированный экземпляр ProcessElementNotification
return notification;

Рис. 3. — Переопределение метода GetNotificationData()

После внесения изменений необходимо опубликовать схему.

4. Использовать созданный элемент в бизнес-процессе

После публикации схемы пользовательского действия процесса это действие становится доступным для использования в бизнес-процессах bpm'online. Чтобы его использовать, необходимо в бизнес-процесс добавить элемент [Выполнить действие процесса] ([User Task]). Для этого элемента в поле [Пользовательское действие] ([Which user task to perform?]) нужно выбрать действие "Кастомизированное действие процесса" ("Customized User Task"). После этого отобразится логический параметр ShowExecutionPage (рис. 4). Значение параметру присваивать не обязательно.

Рис. 4. — Параметр ShowExecutionPage пользовательского действия процесса

Чтобы корректно использовать созданное пользовательское действие, для него необходимо установить признак [Сериализовать в БД] ([Serialize in DB]). Для этого нужно перейти в расширенный режим свойств элемента (рис. 5) и установить необходимый признак (рис. 6, 1).

Рис. 5. — Переход в расширенный режим свойств элемента

Рис. 6. — Признак [Сериализовать в БД]

После этого бизнес-процесс нужно сохранить (рис. 6, 2) и запустить на выполнение (рис. 6, 3).

В результате отобразится сообщение о запуске процесса, а также появится уведомление, сконфигурированное в методе GetNotificationData() (рис. 7).

Рис. 7. — Результат выполнения кейса. Пользовательское уведомление

Кроме того, на панели[Задачи по бизнес-процессам] будет отображаться напоминание с такими же свойствами (рис. 8).

Рис. 8. — Результат выполнения кейса. Пользовательское напоминание

© Terrasoft 2002-2019.

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

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