====== Для моделирования бизнес-исключений можно использовать событие-ошибку ====== {{tag>событие событие-ошибка прикрепленный_обработчик конечное_событие подпроцесс}} Нормальное (или желательное) завершение подпроцесса изобразите простым конечным событием, а бизнес-исключение (нежелательный вариант) - событием-ошибкой. На верхнем уровне воспользуйтесь прикрепленным обработчиком. ===== ✔ Как надо =====
Согласовать технические параметры
Согласовать технические параметры
Согласовать коммерческие параметры
Согласовать коммерческие параметры
ОК?
ОК?
Не согласовано
Не согласовано
ОК?
ОК?
Согласовано
Согласовано
Согласование договора
Согласование договора
Подписание договора
Подписание договора
===== ✘ Как НЕ надо =====
Согласование договора
Согласование договора
Подписание договора
Подписание договора
===== Примечания ===== * Технически, прикрепленный обработчик не обязателен - если он отсутствует, то событие-ошибка прекратит выполнение и текущего подпроцесса, и вышестоящих, вплоть до верхнего уровня процесса. Но в этом случае существенный аспект поведения процесса оказывается спрятан в подпроцессе, поэтому хорошая практика - всегда показывать обработчик ошибки. * Если на событии-обработчике указано имя, то он будет обрабатывать только выход из подпроцесса по завершающему событию с таким именем. Таким способом можно предусмотреть свой вариант обработки для каждого бизнес-исключения. Если имя не указано, то будут обрабатываться все завершающие события-ошибки в подпроцессе. ===== Смотри также ===== * Использование события-ошибки - альтернатива более простой технике [[ru:rule:check_subprocess_results | проверки результата на выходе из подпроцесса]]. К плюсу этого способа можно отнести то, что диаграмма получается более компактной, к минусу - то, что в палитру добавляется еще один элемент. ===== Автор(ы) ===== --- //[[user:bell|Anatoly Belaychuk]] 2024-01-11 23:15//