Расширение процесса заявки на закупку оборудования: добавление событий BPMN
Примечание
Данная статья является продолжением работы с бизнес-процессом, созданным в разделе Заявка на закупку оборудования. Включение DMN в процесс.
В этой части мы расширим бизнес-процесс, добавив два типа событий BPMN:
Сигнал — запускает событийный подпроцесс отправки уведомления согласующему в момент, когда заявка получает статус «На согласовании».
Таймер — если согласующий не принял решение по заявке в течение заданного времени, она автоматически переходит в статус «Отказано».
Итоговая схема процесса:
Сигнал
Между компонентами Статус «На согласовании» и Пользовательская задача «На согласовании согласующим» добавьте промежуточное событие «Сигнал»:
Выберите тип события Signal Intermediate Throw Event:
Укажите свойства события:
Имя — Отправить уведомление
Имя сигнала — sendEmail
Фильтр события по документу — Текущий документ
Добавьте событийный подпроцесс «Сигнал» — подпроцесс, запускаемый по событию. Для этого сначала создайте стандартный подпроцесс, затем измените его тип на Event Sub Process:
Внутри подпроцесса замените Start Event на Signal Start Event (non-interrupting):
Укажите свойства начального события:
Ручная настройка — включить (чекбокс)
Имя сигнала — sendEmail
Фильтр события по документу — Текущий документ
К начальному событию добавьте компонент Уведомление:
Укажите свойства уведомления:
Имя — Уведомление согласующему
Заголовок — Согласуйте заявку
Тело сообщения — Согласуйте заявку на покупку оборудования
Кому — Согласующий
Добавьте компонент End Event (1) и опубликуйте бизнес-процесс (2):
Проверка сигнала
Создайте заявку так, чтобы процесс прошёл по ветке с согласованием сотрудником. Укажите оборудование, не входящее в таблицу DMN, или используйте следующие данные:
Название оборудования — Ноутбук
Стоимость — 65000
Инициатор — текущий пользователь
Согласующий — любой пользователь с указанным e-mail в профиле
Если Citeck установлен с помощью кроссплатформенного лончера, перейдите в Mailhog для просмотра тестовых писем:
Mailhog — инструмент для тестирования e-mail-рассылок, позволяющий просматривать письма без реальной отправки на почтовые серверы:
Откройте письмо и убедитесь, что уведомление доставлено:
Также проверить уведомление можно в рабочем пространстве администратора: в разделе Конфигурация уведомлений откройте пункт Уведомления.
Примечание
Если процесс создан в локальном рабочем пространстве, перейдите напрямую в раздел Уведомления текущего рабочего пространства.
Выберите нужное уведомление из списка:
Откроется форма уведомления. В ней отображаются все настройки, заданные в компоненте Send Task:
Таймер
К компоненту Пользовательская задача «На согласовании согласующим» добавьте граничное событие «Таймер»:
Перенесите событие непосредственно на компонент Пользовательская задача «На согласовании согласующим»:
Выберите тип события Timer Boundary Event:
Укажите свойства события:
Тип — Продолжительность
Значение — PT1M в формате ISO 8601 (
PT1M— 1 минута; подробнее о форматах времени)
Направьте поток от таймера к Gateway (1) и опубликуйте бизнес-процесс (2):
Проверка таймера
Создайте заявку так, чтобы процесс прошёл по ветке с согласованием сотрудником. Укажите оборудование, не входящее в таблицу DMN, или используйте следующие данные:
Название оборудования — Ноутбук
Стоимость — 65000
Инициатор — текущий пользователь
Согласующий — любой пользователь с указанным e-mail в профиле
Когда процесс дойдёт до шага согласования, не принимайте решение по задаче — через 1 минуту заявка автоматически перейдёт в статус «Отказано».
Итоговая схема процесса