Как отменить действие после события границы сообщения

Имея следующий процесс

введите описание изображения здесь

и событие границы сообщения, для которого cancelActivity установлено значение false, чтобы после Should cancel Sub Process могло продолжаться там, где оно было до получения события - в случае, если было выбрано No.

Как я могу смоделировать, как если бы cancelActivity был установлен на true в случае, если пользователь выбирает Yes (т. Е. Отменить / остановить Sub Process при достижении No конца)?

Пожалуйста, спросите, не понял ли я этого.


person František Žiačik    schedule 28.03.2014    source источник
comment
Можете ли вы описать, чего на самом деле хотите достичь? Кто отправляет это сообщение, которое вы моделируете здесь, с событием пограничного сообщения? Это уже сообщение об отмене или вы действительно хотите решить после получения этого сообщения, действительно ли вы хотите отменить или нет?   -  person Martin Schimak    schedule 28.03.2014
comment
Привет, объяснил в ответе ниже.   -  person František Žiačik    schedule 28.03.2014


Ответы (3)


С граничным событием, прикрепленным к подпроцессу, невозможно перейти к another task после should cancel. Вы не можете использовать ни события связи (не разрешено от родительского к подпроцессу), ни простой поток последовательности (не разрешено между двумя процессами).

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

person Timotheus.Kampik    schedule 28.03.2014
comment
Привет спасибо за ответ Мне не нужно переходить к другой задаче, мне просто нужно оставить SubProcess активным на Should Not Cancel, который работает нормально, если cancelActive имеет значение false, и завершить весь процесс вместе с Subprocess на конце Yes, который, как я теперь решил, работает если вместо этого я использую Terminate End Event. Я принимаю ваш ответ, поскольку, вероятно, он прав в контексте моего первоначального вопроса. - person František Žiačik; 28.03.2014

Далее ответ выше. Поток процесса действительно не соответствует вашим требованиям. Событие электронной почты должно выполняться параллельно с подпроцессом. При получении электронного письма поток непосредственно в задачу должен отменить человеческую / пользовательскую задачу. Если да, отправьте сигнальное событие (сигналы проще реализовать, чем сообщения), которое захватывается приемником граничных событий сигнала в подпроцессе и просто перетекает в конец (т. Е. Завершается).

Если нет, вы просто выходите (возможно, вам потребуется запустить другого получателя электронной почты - в зависимости от ваших требований).

Таким образом, граничное событие подпроцесса не запускается до тех пор, пока вы не примете решение о завершении или нет.

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

person Greg Harley    schedule 31.03.2014

возможно вам понадобится определение bpmn ниже

следует задача

person micro Java    schedule 30.05.2014