Доброго времени суток!
Тема связна с вот этой
Хочу вызвать БП из новосозданной кнопки вот так:
function() {
return {
entitySchemaName: 'SFProperty',
contextHelpId: '1001',
diff: /**SCHEMA_DIFF*/[
{
"operation": "insert",
"parentName": "CombinedModeActionButtonsCardLeftContainer",
"propertyName": "items",
"name": "TestButton",
"values": {
"itemType": Terrasoft.ViewItemType.BUTTON,
"caption": "test method сombined",
"click": {
"bindTo": "showInfo"
}
}
}
]/**SCHEMA_DIFF*/,
messages: {},
methods: {
showInfo: function() {
var test = this.get("ActiveRow");;
this.showInformationDialog(test);
var processArgs = {
sysProcessName: 'Process2',
parameters: {
RecordId: test
}
};
this.runProcess(processArgs.sysProcessName, processArgs.parameters, this);
}
}
};
});
При сохранении видим вот такие ошибки(прикрепил)
Может вызывать процесс из раздела надо по другому?
Нравится
Виктор, добрый день!
В присоединённом Вами логе я не вижу каких-либо критических ошибок. В основном они касаются стилей кодирования, которые приняты в нашей системе, но на логику это влиять не должно. Если заменить код на такой:
[javascript]
define("SFPropertySection", ["GridUtilitiesV2"], function() {
return {
entitySchemaName: "SFProperty",
contextHelpId: "1001",
diff: /**SCHEMA_DIFF*/[
{
"operation": "insert",
"parentName": "CombinedModeActionButtonsCardLeftContainer",
"propertyName": "items",
"name": "TestButton",
"values": {
"itemType": Terrasoft.ViewItemType.BUTTON,
"caption": "test method сombined",
"click": {"bindTo": "showInfo"}
}
}
]/**SCHEMA_DIFF*/,
messages: {},
methods: {
showInfo: function() {
var test = this.get("ActiveRow");
this.showInformationDialog(test);
var processArgs = {
sysProcessName: "Process2",
parameters: {
RecordId: test
}
};
this.runProcess(processArgs.sysProcessName, processArgs.parameters, this);
}
}
};
});
[/javascript]
то большинство из этих сообщений должны устраниться.
А вот с самим вызовом this.runProcess могут быть нюансы в зависимости от версии. Насколько я вижу в версии 7.6.0, вызов this.runProcess из базового раздела или страницы должен принимать всего один параметр tag, который равен идентификатору процесса:
[javascript]
runProcess: function(tag) {
ProcessModuleUtilities.executeProcess({
sysProcessId: tag
});
}
[/javascript]
Если же Вам необходимо при запуске процесса передать в него параметры, попробуйте подключить в свой раздел модуль ProcessModuleUtilities и вызвать метод executeProcess этого модуля (как в примере выше). Тогда Ваш код можно будет переписать примерно так:
[javascript]
define("SFPropertySection", ["ProcessModuleUtilities", "GridUtilitiesV2"], function(ProcessModuleUtilities) {
......................................
var processArgs = {
sysProcessName: "Process2",
parameters: {
RecordId: test
}
};
ProcessModuleUtilities.executeProcess(processArgs);
......................................
});
[/javascript]
В случае, если Вы используете другую версию, необходим дополнительный анализ.