Отредактировать нужно первые 2 строчки, и блок Methods{}. Необходимо добавить определение ["ProcessModuleUtilities"], function(ProcessModuleUtilities),
Если в function() уже есть что-то, то в скобки через запятую добавляем ProcessModuleUtilities, получится: function(smth, smth, smth, ProcessModuleUtilities).
Аналогично с параметрами: define("FinApplicationSection", ["smth", "smth", "ProcessModuleUtilities"], function(smth, smth, ProcessModuleUtilities)
define("FinApplicationPage", ["FinApplicationPageResources", "GeneralDetails", "ProcessModuleUtilities"],
function(resources, GeneralDetails, ProcessModuleUtilities) {
return {
entitySchemaName: 'FinApplication',
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
attributes: {},
methods: {
getActions: function() {//расширяем метод для коллекции кнопок действий
var actionMenuItems = this.callParent(arguments);
actionMenuItems.addItem(this.getActionsMenuItem({ //добавляем разделитель
Type: "Terrasoft.MenuSeparator",
Caption: ""
}));
actionMenuItems.addItem(this.getActionsMenuItem({//добавляем кнопку
"Caption": "Назначить экспертизы",//текст кнопки
"Tag": "runProcess",//имя метода, который запустит процесс, см. ниже
"Enabled": {"bindTo": "canEntityBeOperated"}//делать кнопку неактивной, если запись еще не создана
}));
return actionMenuItems;
},
runProcess: function() {// метод запуска процесса
var activeRow = this.get("Id");// получаем id текцщей записи
var config = {
sysProcessName: "UsrMyProcess",//имя процесса (то что латиницей с Usr...)
parameters: {
RecordId: activeRow//левое выражение = имя параметра процесса (по которому будем работать в процессе), правое = переменная, куда на 4 строчки выше мы зашили Id текущей записи
}
};
ProcessModuleUtilities.executeProcess(config);
}
},
rules: {},
userCode: {}
};
});