enter image description here

После того, как Задача 1 завершена, нам нужно создать дополнительную задачу, основанную на условии. Завершение процесса не зависит от этого необязательного завершения задачи.

Как правильно оформить эту модель?

6
Guillaume Morin 2 Май 2017 в 16:56

3 ответа

Лучший ответ

Желаемое поведение можно смоделировать так:

BPMN Diagram

После завершения Задачи 1 Задача 2 запускается, если необязательное Условие имеет значение true, необязательная Задача также запускается. Экземпляр завершается после завершения задачи 2. Если необязательная задача все еще активна, она будет прервана.

5
Patrick Werner 2 Июн 2017 в 09:18

Использование непрерывных событий (сообщение / сигнал / эскалация) поможет вашему сценарию.

В качестве альтернативы можно использовать подпроцесс события в этом процессе.

Дайте мне знать, если вы понимаете, как его использовать. В противном случае я нарисую для вас пример

ОБНОВИТЬ

ПРИМЕЧАНИЕ: 1. Я использую только bpmn.io для рисования примера вместо Камунды. Тем не менее, это основной BPMN, и я предполагаю, что Камунда должна иметь этот тип модели. Я знаком только с JBPM.

ОБЪЯСНЕНИЕ: По сути, вам не обязательно использовать событие сообщения. Это может быть сигнал / эскалация в зависимости от того, какие у вас сценарии. Теоретически, событие сообщения используется, если есть входящее сообщение для создания других действий, и это событие является наиболее распространенным среди других. Тем не менее, одна вещь, которую вы должны рассмотреть, является ли событие прерывается или нет. В вашем случае это не прерывание, поэтому я добавляю сообщение без прерывания.

Событие сообщения о прерывании немедленно прервет задачу 1, как только событие будет запущено, в то время как без прерывания происходит только добавление дополнительной задачи / события без прерывания задачи 1.

enter image description here

Надеюсь, этот пример поможет.

-1
hnandarusdy 31 Июл 2017 в 01:12

Modeling optional task in BPMN

Вы должны использовать условный маркер для необязательного потока. Эксклюзивный шлюз на вашей диаграмме всегда будет выполнять обязательную задачу 2, дополнительная задача всегда будет игнорироваться, даже если условие для ее выполнения выполнено.

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

2
VivekRatanSinha 2 Май 2017 в 14:47