Добрый день.
Посчитали "совмещенный" режим не самым полезным для пользователя. Да и повторять логику отображения и доступности кнопок из Page в Section с помощью месседжей - не самый удобный вариант. В связи с этим решили открывать карточку объекта только в Page режиме, минуя совмещенный с реестром. Т.е. чтобы при нажатии на кнопку открыть в реестре, объект открывался только в режиме редактирования. Каким образом это реализовать? Может кто-то уже сталкивался с подобным кейсом?
Нравится
самый простой вариант (как мне кажется) переопределить метод
editRecord: function(primaryColumnValue) {
var activeRow = this.getActiveRow();
var typeColumnValue = this.getTypeColumnValue(activeRow);
var schemaName = this.getEditPageSchemaName(typeColumnValue);
this.set("ShowCloseButton", true);
this.openCard(schemaName, ConfigurationEnums.CardStateV2.EDIT, primaryColumnValue);
},в BaseSectionV2 и открывать карточку через window.open()
editRecord: function(primaryColumnValue) {
var activeRow = this.getActiveRow();
var typeColumnValue = this.getTypeColumnValue(activeRow);
var schemaName = this.getEditPageSchemaName(typeColumnValue);
this.set("ShowCloseButton", true);
window.open(Terrasoft.combinePath(Terrasoft.workspaceBaseUrl,"Nui/ViewModule.aspx#CardModuleV2",schemaName, ConfigurationEnums.CardStateV2.EDIT, primaryColumnValue));
//this.openCard(schemaName, ConfigurationEnums.CardStateV2.EDIT, primaryColumnValue);
}
вот еще пример метода как Из карточки детали выполняется открытие счета сразу на редактирование:
openInvoicePage: function(invoiceId) {
var config = {
schemaName: "InvoicePageV2",
operation: enums.CardStateV2.EDIT,
id: invoiceId,
moduleId: this.getInviocePageSandboxId()
};
this.sandbox.publish("OpenCard", config, [this.sandbox.id]);
},
Это же можно повторить и для Схем Реестров, Вызов Метода осуществляете предварительно получив Id сущности, что хотите открыть на редактирование из реестра.