Здравствуйте!
создала деталь с редактируемым реестром по объекту Договор, зарегистрировала в деталь в БД в таблице sysdetail.
Хочу добавить деталь в продажи. через мастер разделов добавила деталь - все корректно. сохранение прошло без ошибок. Открываю страницу продажи,а там моя деталь работает некорректно. в консоли ошибок нет.
очистка кэша, перезапуск иис, очистка редиса и даже перекомпиляция проводилась. результата нет.
Даже пробовала новую деталь создать по объекту договор. проблема та же. До этого делали аналогичные действия с другими объектами, все работало корректно.
в чем может быть дело?
Версия 7.10.0.1742
Нравится
Здравствуйте, удалите все что связано с этой деталью кроме объекта детали.
Создайте деталь мастером разделов, обычную, на основании этого объекта, вывидите на страницу, настройте колонки, обязательно в списочном (не плиточном!) представлении, после чего, в схеме детали кодом сделайте её редатируемой.
Для того, чтобы сделать реестр детали редактируемым, в соответствующей схеме необходимо:
- Добавить зависимости от модулей 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 но и в настройках схемы, в конфигураторе.
Итоговый код простейшей редактируемой детали будет выглядеть следующим образом:
[javascript]
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: {}
};
});
[/javascript]