[Deprecated] Редактор бизнес-процессов (BPMN) с использованием Flowable

Примечание

Устаревший инструмент. В Ecos реализована low-code платформа автоматизации бизнес-процессов BPMN. Платформа основана на библиотеке редактора bpmn-js и движкt camunda.

Создание процесса

Создание процесса во Flowable

  1. Выбираете вкладку Процессы на верхней панели.

  2. Выбираете один из предложенных процессов или нажимаете кнопку Создать процесс:

../../_images/process_flowable_1.png

Cоздание процесса через Редактор бизнес-процессов

  1. В левой панели меню выбираете раздел Редактор бизнес-процессов.

../../_images/create_proccess_1.png
  1. Далее нажатием на иконку + в верхнем левом углу открывшегося окна выбираете опцию Создать процесс.

../../_images/proccess_details.png

Формирование модели созданного процесса

  1. Заполняете поля Наименование модели и Ключ бизнес-процесса, нажимаете Создать новую модель.

Открывается страница старта формирования модели процесса. В левой панели хранятся события, которые можно использовать при создании, основное поле - для создания модели, снизу есть кардлет с параметрами объекта модели (например, исполнитель задачи, её наименование, слушатели события и так далее):

../../_images/process_flowable_2.png
  1. Для процесса с минимальным набором типов событий (пользовательские действия и системные проверки) достаточно того количества элементов, которое появляется при клике на событие старта на экране:

../../_images/process_flowable_3.png
  • Значок, выделенный красной стрелкой - пользовательская задача;

  • синей - гейтвей;

  • жёлтой - стрелка для указания связи между событиями,

  • фиолетовой - настройка элемента.

Например, при выбора гейтвея по умолчанию на экране отображается «ИЛИ». Для выбора типа «Параллельная развилка» необходимо нажать на значок гаечного ключа и во всплывающем окне выбрать Parallel gateway + Выбрать.

  1. Для того, чтобы создать связь с объектом, создавая его с помощью всплывающего меню, достаточно просто зажать новый объект кнопкой мыши и немного «протянуть» его вверх или вправо. Стрелка связи установится автоматически. В случае создания связи между двумя уже существующими объектами необходимо выбрать один из них, выбрать стрелку (выделено жёлтой стрелкой), зажать стрелку и «протянуть» (как drag&drop) до второго объекта. Чтобы визуально сменить внешний вид стрелки с

../../_images/process_flowable_4.png

НА

../../_images/process_flowable_5.png

ИЛИ НА

../../_images/process_flowable_6.png

необходимо «зажать» второй объект и выровнять его с первым. После этого объект можно перемещать по экрану, стрелка будет образовывать угол в 90 градусов, где необходимо.

  1. Для изображения свимлейнов необходимо использовать раздел Swimlanes левого меню. Сначала выбор Pool («зажать» мышкой и вытащить на основное поле), после этого для создания следующей роли надо выбрать Lane, вытащить на основное поле на Pool и подвести к краю Pool (пока не появятся зелёные границы):

../../_images/process_flowable_7.png

После этого в Pool появляются уже 2 лейна, а не один:

../../_images/process_flowable_8.png

Добавлять можно любое количество дорожек.

  1. Редактирование длины Pool&Lane: можно увеличивать высоту/длину как всего Pool, так и отдельных Lane. Для того, чтобы переместить на экране/»протянуть» pool целиком, необходимо «встать» на него мышкой в левом верхнем углу и проверить, что весь pool выделился прерывистой линией, после чего с помощью «уголков» (подчёркнуты красным) можно произвести необходимые действия:

../../_images/process_flowable_9.png

Чтобы отредактировать длину/высоту конкретного Lane, надо «встать» мышкой на него (а не на весь pool) и теми же уголками изменить его размер.

  1. Редактирование canvas: после того, как опция увеличения длины (см. п. 7) станет недоступна (как если бы возможность протягивать закончилась), наведите мышку на самую правую панель. На ней должны будут появиться стрелки, нажатием на которые можно увеличить размер основного окна вправо или влево (как на рисунке):

../../_images/process_flowable_10.png

Аналогичные стрелки для увеличения основного окна вверх и вниз можно увидеть, наведя мышью на область снизу рисунка. На текущий момент только в Safari удалось продлевать pool&lane без ограничений.

  1. В случае если есть необходимость в валидации созданного процесса надо нажать значок V на верхней панели:

../../_images/process_flowable_11.png

Система выведет список ошибок и предупреждений. При нажатии на конкретную ошибку/предупреждение система произведёт редирект именно на то место в схеме, где допущена ошибка.

  1. Для того, чтобы сохранить созданную схему, необходимо нажать на значок дискетки рядом с V (см. рисунок выше) и выбрать Сохранить и закрыть редактор (после нажатия редирект на страницу процессов) или Сохранить (после нажатия возврат в редактор).

Редактор процесса Flowable

Неочевидные настройки

  1. При создании новых пользователей, которые будут участвовать в демонстрации процесса, надо добавить им право работать в Workflow:

../../_images/process_flowable_cor_1.png
  1. В названии ключа элемента не должно быть пробелов - аккуратнее с копированием

  2. В условиях переходов логические операнды - не AND и OR, а && и ||

  3. В условиях переходов ссылка на результат (кнопку) формы имеет синтаксис: ${form_КЛЮЧ ФОРМЫ_outcome == «ОК»}

Привязка формы к процессу

Для того чтобы к процессу привязать форму необходимо заполнить Form key и указать название формы.

../../_images/proccess_link_form1.png
  • Чтобы добавить ответственных за task необходимо заполнить Assigments, где можно использовать существующие системные роли

  • или указать свои роли в типе данных как показано на скриншоте ${flwRecipients.getRoleUsers(document, 'trade-case-initiator-role')}, где 'trade-case-initiator-role' - ваша роль.

../../_images/proccess_link_form2.png

Для того чтобы применялся статус в типе данных по процессу необходимо заполнить Task Listener:

${caseStatusService.setStatus(document, "trade-primary-contact")}, где trade-primary-contact - ваш статус.

../../_images/proccess_link_form3.png

BPMN категории

В версии [rc5] добавлен новый тип bpmn-section для bpmn категорий. А также новый тип артефакта process/bpmn-section.

Категорию можно добавлять деплоем артефакта (См. :ref:`ECOS артефакты<ecos_artifacts>):

---
id: some-bpmn-section-id
name:
      en: New BPMN section
      ru: Новая BPMN категория

Для создания подкатегории:

---
id: some-bpmn-subsection-id
name:
  en: New BPMN subsection
  ru: Новая BPMN подкатегория
parentRef: eproc/bpmn-section@some-bpmn-section-id

Файл нужно расположить в папке eapps/artifacts/process/bpmn-section. Хранятся категории в микросервисе ecos-process.

Сервисы Flowable

Уведомления Flowable