Технические вопросы
7.x

Интерактивный реестр раздела

Здравствуйте. Возникла такая вот потребность делать все изменения с документами, не открывая каждый документ отдельно. Всё это делать в реестре страницы: изменить даты, ответственного, номер, название и т.д. Не изменять сами колонки, а делать изменения именно в них. Возможно ли такая настройка реестра?
Благодарю

Нравится

3 комментария

Сразу назову общее ограничение - количество колонок в реестре довольно ограничено, а количество полей в карточке - нет

"Владимир Соколов" написал:

Сразу назову общее ограничение - количество колонок в реестре довольно ограничено, а количество полей в карточке - нет


Да это само собой разумеется, но заказчик не хочет каждый раз заходить в карточку документа и делать там какие-либо изменения. Хочет делать всё в самих колонках. Естественно там будут только самые необходимые поля для редактирования

Здравствуйте, Дмитрий Юрьевич.

Вот пример кода для раздела "Документы":

[javascript]
define("DocumentSectionV2", ["VisaHelper", "BaseFiltersGenerateModule", "DocumentSectionGridRowViewModel",
"ConfigurationGrid", "ConfigurationGridGenerator", "ConfigurationGridUtilities"],
function(VisaHelper, BaseFiltersGenerateModule) {
return {
entitySchemaName: "Document",
mixins: {
ConfigurationGridUtilities: "Terrasoft.ConfigurationGridUtilities"
},
attributes: {
"IsEditable": {
dataValueType: Terrasoft.DataValueType.BOOLEAN,
type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
value: true
}
},
methods: {
getGridRowViewModelClassName: function() {
if (this.getIsEditable()) {
return this.getEditableGridRowViewModelClassName(arguments[0]);
} else {
return this.callParent(arguments);
}
},
onActiveRowAction: function(buttonTag, primaryColumnValue) {
this.mixins.ConfigurationGridUtilities.onActiveRowAction.apply(this, arguments);
}
},
diff: /**SCHEMA_DIFF*/[
{
"operation": "merge",
"name": "DataGrid",
"values": {
className: "Terrasoft.ConfigurationGrid",
generator: "ConfigurationGridGenerator.generatePartial",
generateControlsConfig: {bindTo: "generateActiveRowControlsConfig"},
changeRow: {bindTo: "changeRow"},
unSelectRow: {bindTo: "unSelectRow"},
onGridClick: {bindTo: "onGridClick"},
initActiveRowKeyMap: {bindTo: "initActiveRowKeyMap"},
activeRowAction: {bindTo: "onActiveRowAction"},
}
},

{
"operation": "insert",
"name": "DataGridActiveRowSaveAction",
"parentName": "DataGrid",
"propertyName": "activeRowActions",
"values": {
"className": "Terrasoft.Button",
"style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
"tag": "save",
"markerValue": "save",
"imageConfig": {"bindTo": "Resources.Images.SaveIcon"}
}
},

{
"operation": "insert",
"name": "DataGridActiveRowCancelAction",
"parentName": "DataGrid",
"propertyName": "activeRowActions",
"values": {
"className": "Terrasoft.Button",
"style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
"tag": "cancel",
"markerValue": "cancel",
"imageConfig": {"bindTo": "Resources.Images.CancelIcon"}
}
},

{
"operation": "insert",
"name": "DataGridActiveRowRemoveAction",
"parentName": "DataGrid",
"propertyName": "activeRowActions",
"values": {
"className": "Terrasoft.Button",
"style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
"tag": "remove",
"markerValue": "remove",
"imageConfig": {"bindTo": "Resources.Images.RemoveIcon"}
}
}
]/**SCHEMA_DIFF*/
};
});

[/javascript]

Результат:

Показать все комментарии