Доброго времени суток, Коллеги!

В случае необходимости иметь возможность запустить БП путем перехода по гиперссылке, например в формате: 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:

function RunHyperlink(Action, Params) {
    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.

function HyperlinkStartWorkflow(Params) {
         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);
}

Приятной работы, с запуском БП! :smile:

Нравится

0 комментариев
Показать все комментарии