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

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

Нравится

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

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

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

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


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

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

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

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*/
		};
	});

Результат:

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