Схема для нашего BPMN-процесса будет выглядеть следующим образом:


Элемент

Наименование элемента

Описание

Скрипт

Стартовое событие



Задача-сценарий

Подготовка к согласованию – проверка того, что заполнены все обязательные поля в заявке. Установка статуса заявки – "На согласование"

Согласование документа_Подготовка к согласованию

Задача-сценарий

Выбрать согласующего_1 – передача ссылки на согласующего в переменную BPMN-процесса. Установка даты согласования.

Согласование документа_Выбрать Согласующего 1

Пользовательская задача

Согласование 1-ого уровня – пользователь выбирает результат согласования и заполняет комментарий.


Задача-сценарий

Заполнить резолюцию согласующего - данные из переменных BPMN-процесса "Резолюция_ Согласующего_1" и "Комментарий_Согласующего_1" передаются в соответствующие атрибуты заявки.

Согласование документа_ Заполнить резолюцию Согласующего 1

Эксклюзивный шлюз 1

Проверяет значение переменной "Резолюция_Согласующего_1". Если "Резолюция_Согласующего_1" - "Отказано", то переход в этап "Установить статус "Отклонено"". Если "Принято", то переход в этап "Выбрать согласующего_2"


Задача-сценарий

Установить статус "Отклонено" - меняет статус заявки на "Отклонено", передаёт данные переменных "Резолюция_ Согласующего_1", "Комментарий_ Согласующего_1", "Резолюция_Согласующего_2" и "Комментарий_Согласующего_2" в соответствующие атрибуты заявки

Согласование документа_ Установить статус Отклонено

Задача-сценарий

Выбрать согласующего_2 – передача ссылки на согласующего в переменную BPMN-процесса. Установка даты согласования.

Согласование документа_ Выбрать Согласующего 2

Пользовательская задача

Согласование 2-ого уровня – пользователь выбирает результат согласования и заполняет комментарий.


Задача-сценарий

Заполнить резолюцию согласующего - данные из переменных BPMN-процесса "Резолюция_Согласующего_2" и "Комментарий_ Согласующего_2" передаются в соответствующие атрибуты заявки.

Согласование документа_ Заполнить резолюцию Согласующего 2

Эксклюзивный шлюз 2

Переход в этап "Установить статус "Отклонено"".


Эксклюзивный шлюз 3

Проверяет значение переменной "Резолюция_ Согласующего_1". Если "Резолюция_Согласующего_1" - "Отказано", то переход в этап "Эксклюзивный шлюз 2"". Если "Принято", то переход в этап "Установить статус "Согласовано""


Задача-сценарий

Установить статус "Согласовано" - меняет статус заявки на "Согласовано", передаёт данные переменных "Резолюция_ Согласующего_1", "Комментарий_ Согласующего_1", "Резолюция_ Согласующего_2" и "Комментарий_ Согласующего_2" в соответствующие атрибуты заявки

Согласование документа_ Установить статус Согласовано

Завершающее событие Ошибка

Указывает на завершение BPMN-процесса с ошибкой


Завершающее событие

Завершение BPMN-процесса