Принудительное завершение бизнес-процессов

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



Для этого необходимо установить свойство Завершен бизнес-процесса равным Истина:


  БизнесПроцесс.Завершен = Истина;
  БизнесПроцесс.Записать();

Далее нужно отметить все задачи по этому бизнес-процессу как выполненные. Отобрать задачи по бизнес-процессу можно с помощью запроса вида:



 "ВЫБРАТЬ
  | Задача.Ссылка
  |ИЗ
  | Задача.Задача КАК Задача
  |ГДЕ
  | Задача.БизнесПроцесс = &Парам";

После чего каждой из отобранных задач нужно установить свойство Выполнена равным Истина:



ТекущаяЗадача.Выполнена = Истина;
  ТекущаяЗадача.Записать();



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