Динамическая установка задержки при выполнении БП
Здравствуйте!
1м шагом БП является выбор контрагента, для которого он запускается. Затем отправляется письмо. У каждого контрагента добавлено поле, где указывается некое значение задержки в днях, которое есть у контрагента чтобы ответить на это письмо.
Вопрос: как установить элементу задержки нужное значение задержки (из БД оно получено и записано в var DelayTime, т.е. как обратится к эл-ту?). Возможно ли это вообще? Допустим, эл-т задержки имеет имя DelayBlock, но вариант типа DelayBlock.Value = DelayTime; не работает...
Нравится
Юрий, необходимо подключить к скрипту БП скрипт scr_WorkflowUtils. Далее для получения элемента задержки и установить ему нужные значения, необходимо создать обработчик события OnAfterExecute для элемента, который выполняется непосредственно перед задержкой (я так понимаю, это отправка письма). В обработчик вставляем такой текст:
function wda_SendEmailOnAfterExecute(ActionItem, IsComplete) { if (IsComplete) { var Diagram = GetDiagramByItem(ActionItem); var DelayItem = Diagram.Items.ItemsByName('DelayBlock'); DelayItem.DelayType = 2; DelayItem.Value = 5; } }
Соответствие значений типа задержки (DelayType) и времени:
0 - секунда;
1 - минута;
2 - час;
3 - день;
4 - неделя;
5 - месяц;
6 - квартал;
7 - год;
8 - пользовательский (вычисляется при обработке события OnGetCustomDelay).