Здравствуйте!
Подскажите, пожалуйста, как получить ID Задачи в функции AfterExecute этой задачи в БП?
Нравится
2 комментария
20 февраля 2013 13:43
Добрый день!
На поле "Значение" напротив события OnAfterExecute надо нажать двойным кликом. Откроется дизайнер со скриптом. Туда вставить код. Вроде работает
function Task1OnAfterExecute(ActionItem, IsComplete) { if (!IsComplete) { return; } var ParentDiagram = GetDiagramByItem(ActionItem); var TaskID = WFGetParamValue(ParentDiagram, ActionItem.Name+'_TaskID');
20 февраля 2013 21:51
интересный ход. Надо будет попробовать: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;
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать