Расширение процесса заявки на закупку оборудования: добавление событий BPMN

Примечание

Данная статья является продолжением работы с бизнес-процессом, созданным в разделе Заявка на закупку оборудования. Включение DMN в процесс.

В этой части мы расширим бизнес-процесс, добавив два типа событий BPMN:

  1. Сигнал — запускает событийный подпроцесс отправки уведомления согласующему в момент, когда заявка получает статус «На согласовании».

  2. Таймер — если согласующий не принял решение по заявке в течение заданного времени, она автоматически переходит в статус «Отказано».

Итоговая схема процесса:

../_images/018.png

Сигнал

Между компонентами Статус «На согласовании» и Пользовательская задача «На согласовании согласующим» добавьте промежуточное событие «Сигнал»:

../_images/event_01.png

Выберите тип события Signal Intermediate Throw Event:

../_images/event_02.png

Укажите свойства события:

  • ИмяОтправить уведомление

  • Имя сигналаsendEmail

  • Фильтр события по документуТекущий документ

../_images/event_03.png

Добавьте событийный подпроцесс «Сигнал» — подпроцесс, запускаемый по событию. Для этого сначала создайте стандартный подпроцесс, затем измените его тип на Event Sub Process:

../_images/event_04.png

Внутри подпроцесса замените Start Event на Signal Start Event (non-interrupting):

../_images/event_05.png

Укажите свойства начального события:

  • Ручная настройка — включить (чекбокс)

  • Имя сигналаsendEmail

  • Фильтр события по документуТекущий документ

../_images/event_06.png

К начальному событию добавьте компонент Уведомление:

../_images/event_07.png

Укажите свойства уведомления:

  • ИмяУведомление согласующему

  • ЗаголовокСогласуйте заявку

  • Тело сообщенияСогласуйте заявку на покупку оборудования

  • КомуСогласующий

../_images/event_08.png

Добавьте компонент End Event (1) и опубликуйте бизнес-процесс (2):

../_images/event_09.png

Проверка сигнала

Создайте заявку так, чтобы процесс прошёл по ветке с согласованием сотрудником. Укажите оборудование, не входящее в таблицу DMN, или используйте следующие данные:

  • Название оборудованияНоутбук

  • Стоимость65000

  • Инициатор — текущий пользователь

  • Согласующий — любой пользователь с указанным e-mail в профиле

Если Citeck установлен с помощью кроссплатформенного лончера, перейдите в Mailhog для просмотра тестовых писем:

../_images/mailhog_01.png

Mailhog — инструмент для тестирования e-mail-рассылок, позволяющий просматривать письма без реальной отправки на почтовые серверы:

../_images/mailhog_02.png

Откройте письмо и убедитесь, что уведомление доставлено:

../_images/mailhog_03.png

Также проверить уведомление можно в рабочем пространстве администратора: в разделе Конфигурация уведомлений откройте пункт Уведомления.

Примечание

Если процесс создан в локальном рабочем пространстве, перейдите напрямую в раздел Уведомления текущего рабочего пространства.

Выберите нужное уведомление из списка:

../_images/notification_01.png

Откроется форма уведомления. В ней отображаются все настройки, заданные в компоненте Send Task:

../_images/notification_02.png

Таймер

К компоненту Пользовательская задача «На согласовании согласующим» добавьте граничное событие «Таймер»:

../_images/timer_01.png

Перенесите событие непосредственно на компонент Пользовательская задача «На согласовании согласующим»:

../_images/timer_02.png

Выберите тип события Timer Boundary Event:

../_images/timer_03.png

Укажите свойства события:

../_images/timer_04.png

Направьте поток от таймера к Gateway (1) и опубликуйте бизнес-процесс (2):

../_images/timer_05.png

Проверка таймера

Создайте заявку так, чтобы процесс прошёл по ветке с согласованием сотрудником. Укажите оборудование, не входящее в таблицу DMN, или используйте следующие данные:

  • Название оборудованияНоутбук

  • Стоимость65000

  • Инициатор — текущий пользователь

  • Согласующий — любой пользователь с указанным e-mail в профиле

Когда процесс дойдёт до шага согласования, не принимайте решение по задаче — через 1 минуту заявка автоматически перейдёт в статус «Отказано».

Итоговая схема процесса

../_images/027.png