Энтузиасты BPMN, добрый день!
Вчера столкнулся с проблемой корректного отображения реакции процесса на ошибку.
Для наглядности кратко опишу кейс и приложу модель.
Кейс:
Есть процесс обработки входящего телефонного звонка клиента (понимаю, что обратиться в колл-центр может не только клиент, а вообще любой человек, но для упрощения речь будет вестись именно о клиенте). По определенному алгоритму звонок обрабатывается ответившим оператором: он должен сделать А, В и С. На выходе получает два антагонистических результата.
При выполнении операций А, В и С звонок может сорваться (допустим, возникла техническая проблема). При этом оператор обязан незамедлительно предпринять попытку самостоятельного дозвона до клиента и продолжить выполнение процесса с того момента, на котором связь прервалась.
В реальном кейсе, который сейчас моделирую, операций у меня несколько больше - 6. "Рисовать" ошибку на каждой из операций, дублировать при этом операцию "Перезвонить клиенту..." и добавлять событийную эксклюзивную развилку не хочу (очень не хочу - модель получится невероятно перегруженной).
Г-н Брюс Сильвер советовал в таких случаях включить операции, на которых может возникнуть типичная (стандартная?) ошибка в развернутый подпроцесс и отобразить ошибку только один раз. Звучит здраво и логично, но есть важное "НО"... Как показать возврат потока управления после события "Клиент ответил" на нужный этап подпроцесса?
В BPMN моделирую достаточно давно, но с таким кейсом не сталкивался. Если "подкинете" мысли для размышления, буду признателен.
Спасибо!