Доброго времени суток, Коллеги!
В случае необходимости иметь возможность запустить БП путем перехода по гиперссылке, например в формате: terrasoft://WFStart/Workflow/%7b8C91E8A4-942C-4F39-BCB3-0C7D5D9C5779}/AccountID|%7b04B25C6A-9336-42DD-838F-E686D83B882C%7d (
где
8C91E8A4-942C-4F39-BCB3-0C7D5D9C5779 – идентификатор диаграммы БП,
AccountID|%7b04B25C6A-9336-42DD-838F-E686D83B882C%7d – параметр/значение, передаваемое в БП (Все параметры в ссылке разделяются символом «/»), проделайте следующие изменения в конфигурации:
1. Внесите следующие изменения в функцию RunHyperlink() скрипта scr_HyperlinkUtils:
Action = Action.toLowerCase();
switch (Action) {
case 'goto':
HyperlinkGotoWorkspace(Params);
break;
case 'open':
return HyperlinkOpenCard(Params);
break;
//Вставить
case 'wfstart':
return HyperlinkStartWorkflow(Params);
break;
}
}
2. Добавьте функцию запуска БП HyperlinkStartWorkflow() в скрипт scr_HyperlinkUtils.
if (Params.length 2) {
return;
}
var Module = Params[0];
var IDValue = Params[1].replace(/%7b/g, '{').replace(/%7d/, '}'); //Diagram ID
var ParameterHash = Params.slice(2, Params.length);
var ParamNames = new Array();
var ParamValues = new Array();
for (var i = 0, iLength = ParameterHash.length; i iLength; i++) {
var tmp = new String(ParameterHash[i]).split('|');
if (('length' in tmp) && (tmp.length > 1)) {
ParamNames.push(tmp[0]);
ParamValues.push(tmp[1]);
}
}
WFStartByID(IDValue, ParamNames, ParamValues);
}
Приятной работы, с запуском БП!
Нравится