Создал действие в карточке объекта и прописал запуск процесса, как это описывается здесь:
http://www.terrasoft.ru/bpmonlinesdk/CreateActionForStandartSection.html
https://community.terrasoft.ru/forum/topic/10554
Но мне нужно запускать процесс с двумя параметрами. У меня получился такой код:
var ApplicationId = this.get('Id');
var ContactId = this.get('ContactId');
var processArgs = {
sysProcessName: 'ProcessName',
parameters: {
NewApplicationId: ApplicationId,
FoundContact: ContactId
}
};
this.runProcess(processArgs.sysProcessName, processArgs.parameters, this);
};
Но процесс не запускается.
Что я сделал не так?
Нравится
для начала надо проверить журнал процессов - он вообще не запускается или запускается с ошибкой
В консоль смотрите. Там должно быть сообщение об ошибке. От этого и нужно отталкиваться.
Или обработчик нажатия на пункт меню "Действия" вообще не вызывается. Тогда ошибок не будет.
D.T.
В консоль браузера (ниже скриншот чистой консоли Google Chrome без ошибок - вызывается через F12):

Эта ошибка означает, что в текущем контексте не определена функция runProcess.
Здравствуйте, D.T.
Подключите к Вашему замещающему клиентскому модулю ProcessModuleUtilities.
D.T.
Попробуйте вот так:
[javascript]
ProcessModuleUtilities.runProcess (...)
[/javascript]
Если написать так:
[csharp]
ProcessModuleUtilities.runProcess(processArgs.sysProcessName, processArgs.parameters, this);
[/csharp]
То ошибка не меняется. Если так:
[csharp]
this.ProcessModuleUtilities.runProcess(processArgs.sysProcessName, processArgs.parameters, this);
[/csharp]
То ошибка такая:
< exception > TypeError: Cannot read property 'runProcess' of undefined
D.T.
Прошу прощения за задержку с ответом.
Пожалуйста, выложите целиком листинг кода замещающего клиентского модуля.
Спасибо.
[csharp]
define("ApplicationPage", [ "ext-base", "terrasoft", "sandbox", "Application", "ApplicationPageStructure",
"ApplicationPageResources",
"BusinessRuleModule", "ConfigurationConstants", "TSCConfigurationConstants", "TscApplicationHelperModule", "ProcessModuleUtilities", "jQuery"
],
function(Ext, Terrasoft, sandbox, Application, structure, resources, ConfigurationConstants, ProcessModuleUtilities) {
structure.userCode = function() {
this.methods.StartApplicationZP = function() {
var ApplicationId = this.get('Id');
var processArgs = {
sysProcessName: 'ProcessName',
parameters: {
ApplicationId: ApplicationId
}
};
// this.showInformationDialog(ApplicationId);
ProcessModuleUtilities.runProcess(processArgs.sysProcessName, processArgs.parameters, this);
};
var actions = this.actions ? this.actions : [];
actions.push({
caption: '',
className: 'Terrasoft.MenuSeparator'
},
{
caption: resources.localizableStrings.StartZPprocCaption,
methodName: "StartApplicationZP"
});
this.actions = actions;
};
return structure;
});
[/csharp]
D.T.
У Вас начиная с BusinessRuleModule начинается несоответствие псевдонимов подключаемых модулей.
Т.е. в качестве псевдонима "BusinessRuleModule" используется ConfigurationConstants и далее уже не верное соответствие.
Задайте корректный псевдоним для каждого подключаемого модуля.
Например, вот так:
[javascript]
define("ApplicationPage", [ "ext-base", "terrasoft", "sandbox", "Application", "ApplicationPageStructure",
"ApplicationPageResources",
"BusinessRuleModule", "ConfigurationConstants", "TSCConfigurationConstants", "TscApplicationHelperModule", "ProcessModuleUtilities", "jQuery"
],
function(Ext, Terrasoft, sandbox, Application, structure, resources, BusinessRuleModule, ConfigurationConstants, TSCConfigurationConstants, TscApplicationHelperModule, ProcessModuleUtilities, jQuery) {
[/javascript]
Всё таки удалось запустить процесс вот так:
[csharp]
ProcessModuleUtilities.executeProcess(processArgs);
[/csharp]
Но всё равно непонятно почему runProcess не работает?
И еще проблема: процесс по executeProcess запускается всегда, но иногда индикатор загрузки крутится ооооочень долго. Можно ли это как-то исправить?
D.T.
Скорее всего это нюанс версии 7.2.
В последних версиях (7.4.1, 7.5) запуск процессов по действию происходит достаточно быстро (вносились коррективы в базовые пакеты, связанные с быстродействием работы процессов).