Приостановить подпроцесс BPMN
Я недавно начал в новом бизнесе, и некоторые процессы становятся чем-то вроде сложной задачи. Довольно часто у нас есть процесс, который необходимо приостановить, когда происходит событие, которое может произойти в любой момент. Проблема, с которой я правильно сопоставляю это, состоит в том, как "перезапустить" процесс с того места, где он остановился, так как он может эффективно приостанавливать / прерывать работу в любой момент.
Вот что у меня сейчас есть:
По сути, мне нужно, чтобы "Что-то произошло 2" не полностью прерывало подпроцесс, просто нужно было поставить его на "удержание". Фактическая ситуация заключается в том, что клиент может подать жалобу, пока мы обрабатываем его просроченный счет, поэтому мы приостанавливаем процесс, где бы он ни находился, до тех пор, пока не уладим жалобу, а затем перезапустим процесс.
Я не совсем уверен, что лучший подход к документированию этого, и не смог найти ничего ясного в документации, так как, по-видимому, в случае не прерывающегося события остальная часть процесса продолжается параллельно.
Любая помощь будет принята с благодарностью.
1 ответ
Если вы действительно хотите перезапустить весь подпроцесс с самого начала, вы можете загрузить эксклюзивный шлюз. После рассмотрения жалобы вы можете направить поток последовательности к этому шлюзу, который перезапустит подпроцесс. Ниже приведен пример (я немного упростил вашу диаграмму).