Добрый день! Попробуйте в модуле детали (который от BaseDetailV2 наследуется) определить isEditableColumn(columnName). Чтобы он заработал, в методе на детали generateActiveRowControlsConfig, в конфиге поля задать свойству enabled соответствие методу isEditableColumn
generateActiveRowControlsConfig: function(id, columnsConfig, rowConfig){this.columnsConfig= columnsConfig;
var gridLayoutItems =[];
var currentColumnIndex =0;this.Terrasoft.each(columnsConfig, function(columnConfig){
var columnName = columnConfig.key[0].name.bindTo;
var column =this.getColumnByColumnName(columnName);
var cellConfig = column ?this.getCellControlsConfig(column):this.getNotFoundCellControlsConfig(columnName);
cellConfig =this.Ext.apply({
layout:{
colSpan: columnConfig.cols,
column: currentColumnIndex,
row:0,
rowSpan:1}}, cellConfig);
cellConfig.enabled=this.isEditableColumn(columnName);if(!cellConfig.hasOwnProperty("isNotFound")){
gridLayoutItems.push(cellConfig);}
currentColumnIndex += columnConfig.cols;}, this);
var gridData =this.getGridData();
var activeRow = gridData.get(id);
var rowClass ={prototype: activeRow};
BusinessRulesApplier.applyRules(rowClass, gridLayoutItems);
var viewGenerator =this.Ext.create("Terrasoft.ViewGenerator");
viewGenerator.viewModelClass=this;
var gridLayoutConfig = viewGenerator.generateGridLayout({
name:this.name,
items: gridLayoutItems
});
rowConfig.push(gridLayoutConfig);}