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

Нравится
Добрый день!
На поле "Значение" напротив события OnAfterExecute надо нажать двойным кликом. Откроется дизайнер со скриптом. Туда вставить код. Вроде работает
[javascript]
function Task1OnAfterExecute(ActionItem, IsComplete) {
if (!IsComplete) {
return;
}
var ParentDiagram = GetDiagramByItem(ActionItem);
var TaskID = WFGetParamValue(ParentDiagram, ActionItem.Name+'_TaskID');
[/javascript]
интересный ход. Надо будет попробовать:smile:
Как раз на днях тоже мучилась этим вопросом. Поэтому поделюсь своим решением.
Была задача "запомнить" ИД определенной задачи.
Что было сделано:
1) Добавлен в параметр диаграммы параметр NeedTaskID.
2) В скрипте wa_TaskActionScript в конце функции wa_TaskActionOnExecute дописать/изменить:
[javascript]
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;
[/javascript]