Нужно настроить видимость отчета в разделе где несколько страниц
Нужна видимость только в определенной странице.
что сделано:
в карточке и разделе:
attributes: {
"VisibleExpenditure":
{
"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
"dataValueType": Terrasoft.DataValueType.BOOLEAN,
"value": false
}
}
Преопределил функцию:
initCardPrintForms: function(callback, scope) {
var reportsEsq = this.getModulePrintFormsESQ();
reportsEsq.clientESQCacheParameters = {cacheItemName: this.getESQCacheName("CardPrintForms")};
this.initCardPrintFormsEsqFilters(reportsEsq);
reportsEsq.getEntityCollection(function(result) {
if (this.destroyed) {
return;
}
if (result.success && !result.collection.isEmpty()) {
var printFormsMenuCollection = result.collection;
this.preparePrintFormsMenuCollection(printFormsMenuCollection);
printFormsMenuCollection.each(function(item) {
item.set("Click", {bindTo: "generateCardPrintForm"});
if (item.get("Id") === "70ebac9d-d5ce-48c3-aee7-421dfcf0fe40") {
item.set("visible", {bindTo: "VisibleExpenditure"});
}
}, this);
var printMenuItems = this.preparePrintButtonCollection(this.moduleCardPrintFormsCollectionName);
printMenuItems.loadAll(printFormsMenuCollection);
this.set(this.moduleCardPrintFormsCollectionName, printMenuItems);
this.getCardPrintButtonVisible();
}
if (callback) {
callback.call(scope || this);
}
}, this);
}
потом в карточке прописал:
onEntityInitialized: function() {
this.callParent(arguments);
var visible = (this.get("WisType").value === "339a6b20-e26f-4f4a-8328-2b238c99e8bd");
this.sandbox.publish("SetVisibleExpenditure", visible, ["SetVisibleExpenditure"]);
this.set("VisibleExpenditure", visible);
}
И разделе в разделе:
init: function() {
this.callParent(arguments);
var scope = this;
this.sandbox.subscribe("SetVisibleExpenditure", function(arg) {
scope.set("VisibleExpenditure", arg);
scope.initCardPrintForms();
}, this, ["SetVisibleExpenditure"]);
}
Видимость не работает!
При переходе по разным карточкам отчет активный всегда(