Предопределенные переменные ISBL

 

Предопределенные переменные ISBL в вычислениях блоков типовых маршрутов

 

Переменные в обработчиках событий блоков типовых маршрутов

Для всех блоков типовых маршрутов в обработчиках событий «Старт» и «Завершение» доступны следующие переменные:

 

Переменная

Тип

Описание

Object, Work

ITask

Задача, в маршруте которой обрабатывается блок.

Sender

IWorkflowBlock

Блок, к которому относится событие.

Свойство Sender.Work возвращает ссылку на объект ITask, т.е. задачу, в маршруте которой обрабатывается блок.

Для блоков типа «Задание» в обработчиках событий «До запроса параметров» и «После запроса параметров» дополнительно к описанным выше переменным Object, Work и Sender доступна переменная Job:

 

Переменная

Тип

Описание

Job

IJob

Задание, для которого запрашиваются параметры.

Свойство Sender.Work возвращает ссылку на объект IJob, т.е. на задание, для которого запрашиваются параметры.

Для блоков типа «Подзадача» в обработчиках событий «Создание подзадачи», «Заполнение параметров» и «Старт подзадачи» дополнительно  к описанным выше переменным Object, Work и Sender доступна переменная SubTask:

 

Переменная

Тип

Описание

SubTask

ITask

Подзадача, которая создается при обработке блока.

Пример использования:

 

// Используя в блоке типа «Уведомление» переменные Work и Sender,

// заполнить свойство блока «Тема» значением параметра

// типового маршрута «Тема уведомления».

RouteParams = Work.WorkflowParams

Subject = RouteParams.ValueByName('Тема уведомления').Value

Properties = Sender.Properties

Properties.ValueByName(JOB_BLOCK_SUBJECT_PROPERTY).Value = Subject

 

// Используя в блоке типа «Задание» переменные Job и Work,

// обработать результат выполнения задания.

Result = Job.ExecutionResult.Name

if Result <<>> 'Отказать'

  Work.WorkFlowParams.ValueByName('Action').Value = Result

Endif

 

// Используя в блоке типа «Подзадача» переменные ServiceFactory, Work

// и SubTask, заполнить тему подзадачи.

UserName = ServiceFactory.GetUserByCode(Work.Author).Name

SubTask.Subject = Format(

  'Согласование заявления от %s'; ArrayOf(UserName))

 

 

См. также:

·         Общие предопределенные переменные ISBL;

·         Переменные ISBL в вычислениях для свойств блоков типовых маршрутов;

·         Предопределенные переменные ISBL в событиях типовых маршрутов.