IBaseCardService.BeforeBusinessProcessStart — событие

Происходит перед непосредственным запуском бизнес-процесса.

Синтаксис

event EventHandler<BusinessProcessCancelEventArgs> BeforeBusinessProcessStart

Заметки

Аргумент события содержит свойство Cancel, установка которого в значение true позволяет предотвратить запуск БП

Примеры

Ниже приведён пример перехвата запуска БП у которого приоритет выше 2.

(1)

IBaseCardService baseCardService = objectContext.GetService<IBaseCardService>(); (2)

baseCardService.BeforeBusinessProcessStart += (s, e) => (3)
{
 if (e.Process.Priority > 2) (4)
 {
  e.Cancel = false;
 }
};

Document document = objectContext.GetObject<Document>(new Guid("00000000-0000-0000-0000-000000000000")); (5)

KindsCardProcess kindsCardProcess = objectContext.GetObject<KindsCardProcess>(new Guid("00000000-0000-0000-0000-000000000001")); (6)

baseCardService.StartBusinessProcess(document, kindsCardProcess); (7)
1 Инициализация контекста объектов.
2 Получаем необходимые сервисы.
3 Подключаемся к событию.
4 Определяем приоритет и если выше 2, блокируем запуск.
5 Получаем документ, вид которого позволяет запускать бизнес-процесс вида 00000000-0000-0000-0000-000000000001.
6 Получаем вид бизнес-процесса.
7 запуск БП.