деталь с редактируемым реестром
Технические вопросы
7.x

Вопрос по детали с редактируемым реестром

Коллеги, доброго времени суток.

Создали деталь с редактируемым реестром, всё по примеру: https://academy.terrasoft.ru/documents/technic-sdk/7-8/sozdanie-detali-s... + к детали добавлен выбор из справочника.

Вопрос - можно ли одну из колонок детали сделать только для чтения? Колонка нужна для отображения данных, но их нельзя изменять.

Версия 7.8.

Заранее спасибо за ответ.

Нравится

8 комментариев

Здравствуйте
Нужно в схеме детали для этой колонки установить свойство "enabled": false

Роман, здравствуйте! Можете пояснить - вот например, массив модификаций в схеме детали с редактируемым реестром:

[javascript]
// Массив модификаций.
diff: /**SCHEMA_DIFF*/[
{
// Тип операции — слияние.
"operation": "merge",
// Название элемента схемы, над которым производится действие.
"name": "DataGrid",
// Объект, свойства которого будут объединены со свойствами элемента схемы.
"values": {
"className": "Terrasoft.ConfigurationGrid",
"generator": "ConfigurationGridGenerator.generatePartial",
"generateControlsConfig": {"bindTo": "generatActiveRowControlsConfig"},
"changeRow": {"bindTo": "changeRow"},
"unSelectRow": {"bindTo": "unSelectRow"},
"onGridClick": {"bindTo": "onGridClick"},
"activeRowActions": [
{
"className": "Terrasoft.Button",
"style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
"tag": "save",
"markerValue": "save",
"imageConfig": {"bindTo": "Resources.Images.SaveIcon"}
},
{
"className": "Terrasoft.Button",
"style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
"tag": "cancel",
"markerValue": "cancel",
"imageConfig": {"bindTo": "Resources.Images.CancelIcon"}
},
{
"className": "Terrasoft.Button",
"style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
"tag": "remove",
"markerValue": "remove",
"imageConfig": {"bindTo": "Resources.Images.RemoveIcon"}
}
],
"initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"},
"activeRowAction": {"bindTo": "onActiveRowAction"},
"multiSelect": {"bindTo": "MultiSelect"},
"type": "listed",
"listedConfig": {
"name": "DataGridListedConfig",
"items": [
{
"name": "UsrRoomNameLinkListedGridColumn",
"bindTo": "UsrRoomNameLink",
"enabled":false,
"position": {
"column": 1,
"colSpan": 10
}
},
{
"name": "UsrRoomsCountListedGridColumn",
"bindTo": "UsrRoomsCount",
"position": {
"column": 11,
"colSpan": 5
}
}
]
},
}
}
]/**SCHEMA_DIFF*/
[/javascript]

UsrRoomNameLink - название той самой колонки, для которой требуется запретить редактирование. Если я там указываю enabled:false - это не срабатывает.

Попробуйте на том месте
"values": { "enabled":false}
только с запятой

Роман, всё равно не помогло.

Роман, всё равно не помогло.

Здравствуйте!

Денис, колонку можно (и нужно) сделать недоступной для редактирования на странице редактирования детали.
Посмотрите как это реализовано в детали "Продукт в заказе" (OrderProductDetailV2). Реализация недоступности поля для редактирования происходит в OrderProductPageV2.

Всем спасибо за советы, задачу решил при помощи бизнес-правил.

"Смородинов Денис" написал:OrderProductDetailV2

Денис, подскажите как?

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