Доброго времени суток!
Тема связна с вот этой
Хочу вызвать БП из новосозданной кнопки вот так:
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);
}
}
};
});
При сохранении видим вот такие ошибки(прикрепил)
Может вызывать процесс из раздела надо по другому?
Нравится
Виктор, добрый день!
В присоединённом Вами логе я не вижу каких-либо критических ошибок. В основном они касаются стилей кодирования, которые приняты в нашей системе, но на логику это влиять не должно. Если заменить код на такой:
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); } } }; });
то большинство из этих сообщений должны устраниться.
А вот с самим вызовом this.runProcess могут быть нюансы в зависимости от версии. Насколько я вижу в версии 7.6.0, вызов this.runProcess из базового раздела или страницы должен принимать всего один параметр tag, который равен идентификатору процесса:
runProcess: function(tag) { ProcessModuleUtilities.executeProcess({ sysProcessId: tag }); }
Если же Вам необходимо при запуске процесса передать в него параметры, попробуйте подключить в свой раздел модуль ProcessModuleUtilities и вызвать метод executeProcess этого модуля (как в примере выше). Тогда Ваш код можно будет переписать примерно так:
define("SFPropertySection", ["ProcessModuleUtilities", "GridUtilitiesV2"], function(ProcessModuleUtilities) { ...................................... var processArgs = { sysProcessName: "Process2", parameters: { RecordId: test } }; ProcessModuleUtilities.executeProcess(processArgs); ...................................... });
В случае, если Вы используете другую версию, необходим дополнительный анализ.