Добавление действия в карточку редактирования объекта раздела
OnDemand. Задача добавить действия в карточку раздела.
Пытался сделать по этой инструкции. Не выходит.
В итоге пришел к такому коду в странице редактирования раздела:
onEntityInitialized: function() {
if (this.isAddMode() || this.isCopyMode()) {
this.getIncrementCode(function(response) {
this.set("UsrDogNum", response);
});
}
this.callParent(arguments);
},
showDogNum: function() {
var UsrDogNum = this.get("UsrDogNum");
this.showInformationDialog(UsrDogNum);
}
},
rules: {},
userCode: function() {
var actions = this.actions ? this.actions : [];
actions.push(
{caption: "", className: "Terrasoft.MenuSeparator"},
{caption: resources.localizableStrings.MyString, methodName: "showDogNum"}
);
this.actions = actions;
}
Не работает. Страница открывается, но содержимое меню действий не меняется. Пытался запускать функцию из onEntityInitialized, не заполняет.
Нравится
Полный текст модуля страницы
usrcreditspage.txt
Владимир, начиная с версии 7.3 необходимо переопределять метод getActions
[javascript]
/**
* Возвращает коллекцию действий карточки
* @protected
* @overridden
* @return {Terrasoft.BaseViewModelCollection} Возвращает коллекцию действий карточки
*/
getActions: function() {
var actionMenuItems = this.callParent(arguments);
actionMenuItems.addItem(this.getActionsMenuItem({
"Type": "Terrasoft.MenuSeparator",
"Caption": ""
}));
actionMenuItems.addItem(this.getActionsMenuItem({
"Caption": { "bindTo": "Resources.Strings.YourActionCaption" },
"Tag": "calculate",//метод, который отрабатывает по click
"Enabled": { "bindTo": "canUseCalculation" }
}));
return actionMenuItems;
},
[/javascript]