Получить ID задачи в скрипте БП

Здравствуйте!

Подскажите, пожалуйста, как получить ID Задачи в функции AfterExecute этой задачи в БП?

Нравится

2 комментария

Добрый день!
На поле "Значение" напротив события OnAfterExecute надо нажать двойным кликом. Откроется дизайнер со скриптом. Туда вставить код. Вроде работает

function Task1OnAfterExecute(ActionItem, IsComplete) {
	if (!IsComplete) {
		return;	
	}
        var ParentDiagram = GetDiagramByItem(ActionItem);
        var TaskID = WFGetParamValue(ParentDiagram, ActionItem.Name+'_TaskID');

интересный ход. Надо будет попробовать:smile:

Как раз на днях тоже мучилась этим вопросом. Поэтому поделюсь своим решением.
Была задача "запомнить" ИД определенной задачи.
Что было сделано:
1) Добавлен в параметр диаграммы параметр NeedTaskID.
2) В скрипте wa_TaskActionScript в конце функции wa_TaskActionOnExecute дописать/изменить:

if (IsNewTask && !WFGetParamsMapItemValue(ActionItem, 'IsProcessImmediately')) {
		CreateNewTask(DefaultValues);
	} else {      //здесь меняем. эта функция возвращает окно задачи.  (в базовом коде идет просто строка вызова этой функции. мы же дописываем переменную, чтобы получить окно)       	
		var TaskWindow = ShowEditWindowEx('wnd_TaskEdit', Attributes, DefaultValues);  	
		//если элемент бп = названию элемента нужной задачи
		if (ActionItem.Name == 'itmNeedTask'){      //запоминаем ИД задачи (которое в атрибуте окна РекордИД) в параметр диаграммы NeedTaskID
			WFSetParamValue(ActionItem, 'NeedTaskID', TaskWindow.Attributes('RecordID'));       
		}
	}
	IsComplete.Value = false;
Показать все комментарии