Здравствуйте. Столкнулся с проблемой следующего рода:
Появилась необходимость добавить действие на страницу редактирования активности.
Выполнил все пункты согласно инструкции на https://academy.terrasoft.ru/documents/technic-sdk/7-7/dobavlenie-deystviya-na-stranicu-redaktirovaniya .
В результате получилась вот такая замещающая страница:
define("ActivityPageV2", ["ProcessModuleUtilities", "AbrConstants"],
function(ProcessModuleUtilities, AbrConstants) {
return {
// Название схемы объекта страницы редактирования.
entitySchemaName: "Activity",
methods: {
// Проверяет, в каком состоянии активность.
isRunningMail: function() {
if (this.get("Status") && this.get("Result")) {
return (this.get("Status").value === AbrConstants.Activity.State.Completed && this.get("Result").value === "632afdd2-f616-4ea6-87d2-8ed38eed8aff");
}
return false;
},
// Метод-обработчик действия.
showActionInfo: function() {
var args = {
sysProcessName: "SendEmailAboutTheApproval",
scope: this
};
ProcessModuleUtilities.executeProcess(args);
this.showInformationDialog("Оповещения в ДТ и ОД отправлены.");
},
// Переопределение базового виртуального метода, возвращающего коллекцию действий страницы редактирования.
getActions: function() {
// Вызывается родительская реализация метода для получения
// коллекции проинициализированных действий базовой страницы.
var actionMenuItems = this.callParent(arguments);
// Добавление линии-разделителя.
actionMenuItems.addItem(this.getButtonMenuItem({
Type: "Terrasoft.MenuSeparator",
Caption: ""
}));
// Добавление пункта меню в список действий страницы редактирования.
actionMenuItems.addItem(this.getButtonMenuItem({
// Привязка заголовка пункта меню к локализуемой строке схемы.
"Caption": {bindTo: "Resources.Strings.SendEmailToOdAndDt"},
// Привязка метода-обработчика действия.
"Tag": "showActionInfo",
// Привязка свойства доступности пункта меню к значению, которое возвращает метод isRunning().
"Enabled": {bindTo: "isRunningMail"}
}));
return actionMenuItems;
}
}
};
}
);
Кнопка добавилась, но свойство "Enabled" работает некорректно.
Т.е. кнопка должна быть активна, когда задача имеет состояние "Завершена" и результат "Выполнена".
Но, когда мы со страницы активностей открываем задачу, которая имеет состояние "Завершена" и результат "Выполнена", кнопка всегда неактивна и никак не реагирует на изменения состояния или результата.
Но если просто обновить страницу, кнопка становится активна.
В чем может быть причина?