Здравствуйте!
создала деталь с редактируемым реестром по объекту Договор, зарегистрировала в деталь в БД в таблице sysdetail.
Хочу добавить деталь в продажи. через мастер разделов добавила деталь - все корректно. сохранение прошло без ошибок. Открываю страницу продажи,а там моя деталь работает некорректно. в консоли ошибок нет.
очистка кэша, перезапуск иис, очистка редиса и даже перекомпиляция проводилась. результата нет.
Даже пробовала новую деталь создать по объекту договор. проблема та же. До этого делали аналогичные действия с другими объектами, все работало корректно.
в чем может быть дело?
Нравится
Здравствуйте, удалите все что связано с этой деталью кроме объекта детали.
Создайте деталь мастером разделов, обычную, на основании этого объекта, вывидите на страницу, настройте колонки, обязательно в списочном (не плиточном!) представлении, после чего, в схеме детали кодом сделайте её редатируемой.
Для того, чтобы сделать реестр детали редактируемым, в соответствующей схеме необходимо:
- Добавить зависимости от модулей ConfigurationGrid (Конфигурационный реестр), ConfigurationGridGenerator, ConfigurationGridUtilities;
- Подключить "миксин" ConfigurationGridUtilites;
- Установить атрибут IsEditable в значение true;
- Базовому реестру указать свойства:
className: "Terrasoft.ConfigurationGrid",
generator: "ConfigurationGridGenerator.generatePartial",
generateControlsConfig: {bindTo: "generateActiveRowControlsConfig"},
changeRow: {bindTo: "changeRow"},
unSelectRow: {bindTo: "unSelectRow"},
onGridClick: {bindTo: "onGridClick"},
initActiveRowKeyMap: {bindTo: "initActiveRowKeyMap"},
для добавления действий активной записи добавить:
activeRowActions: [...],
activeRowAction: {bindTo: "onActiveRowAction"}
Зависимости нужно указать не только параметром requirejs но и в настройках схемы, в конфигураторе.
Итоговый код простейшей редактируемой детали будет выглядеть следующим образом:
define("UsrSchema1Detail", ["ConfigurationGrid", "ConfigurationGridGenerator", "ConfigurationGridUtilities"], function() { return { entitySchemaName: "Contact", attributes: { "IsEditable": { dataValueType: Terrasoft.DataValueType.BOOLEAN, type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN, value: true } }, details: {}, 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": false } } ], mixins: { ConfigurationGridUtilites: "Terrasoft.ConfigurationGridUtilities" }, methods: {} }; });