Доброго времени суток.
С тем, как со страницы запретить редактирование полей на детали с редактируемым реестром я разобрался, то как туда же прикрутить дополнительное условие затрудняюсь. Задача следующая, нужно разрешить редактировать одно поле на детали при условии, что редактирует пользователь, указанный в поле ответственный на странице редактирования объекта, где находится деталь или ответственный, что указан в самой детали. Как донести до детали ответственного со страницы разобрался, а вот как выполнить вторую половину, не могу понять.
Меняю доступность поля так:
generateActiveRowControlsConfig: function(id, columnsConfig, rowConfig) {
this.columnsConfig = columnsConfig;
var gridLayoutItems = [];
var currentColumnIndex = 0;
this.Terrasoft.each(columnsConfig, function(columnConfig) {
var cellConfig = this.getActiveRowCellConfig(columnConfig, currentColumnIndex);
var columnName = columnConfig.key[0].name.bindTo;
if (columnName === "UsrOwner") {
cellConfig.enabled = this.$IsOwner && this.$IsNewStage; // Это атрибуты, проставляются с помощью сообщения с карточки
}
if (!cellConfig.hasOwnProperty("isNotFound")) {
gridLayoutItems.push(cellConfig);
}
currentColumnIndex += cellConfig.layout.colSpan;
}, this);
this.applyBusinessRulesForActiveRow(id, gridLayoutItems);
var viewGenerator = this.Ext.create(this.getRowViewGeneratorClassName());
viewGenerator.viewModelClass = this;
var gridLayoutConfig = viewGenerator.generateGridLayout({
name: this.name,
items: gridLayoutItems
});
rowConfig.push(gridLayoutConfig);
}
В строку "cellConfig.enabled = ..." нужно дописать условие, для этого нужно взять информация с записи детали. Как это можно сделать?