На форуме есть много разных примеров, но ни один из них не заработал на нашей версии. Нужно, чтобы деталь представляла собой таблицу, колонки которой - это колонки объекта, к которому привязана деталь, а каждая строка - это объекты, связанные через деталь с редактируемой страницей (допустим, деталь счета на странице контактов, где каждая строка - это счет текущего контакта). Нужно, чтобы при нажатии на плюс возле названия детали, добавлялась строка, которую пользователь может заполнить. Сейчас при нажатии плюса открывается страница редактирования детали, а нужно, чтобы деталь редактировалась напрямую в Grid'e.
Financial Services, v7.15
Нравится
опишите то как вы добавляете от создания объекта до создания детали, включая примеры кода
Dima Avdoshin,
Я создал объект, привязал его к детали, добавил деталь на страницу. В схему детали добавил следующий код:
define("Schema5Detail", ["ConfigurationGrid", "ConfigurationGridGenerator", "ConfigurationGridUtilities"], function() { return { entitySchemaName: "BankAccount", attributes: { "IsEditable": { dataValueType: Terrasoft.DataValueType.BOOLEAN, type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN, value: true } }, details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/, 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" } // }, { "className": "Terrasoft.Button", // последняя кнопка в коде "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "tag": "card", "markerValue": "card", "imageConfig": { "bindTo": "Resources.Images.RemoveIcon" } }, ], "initActiveRowKeyMap": { "bindTo": "initActiveRowKeyMap" }, "activeRowAction": { "bindTo": "onActiveRowAction" }, "multiSelect": false } } ]/**SCHEMA_DIFF*/, methods: {}, mixins: { ConfigurationGridUtilites: "Terrasoft.ConfigurationGridUtilities" } }; });
Но я не знаю, как определить, какие именно значения отобразить в гриде. Объект довольно большой, я хочу отобразить только необходимые поля с возможностью отображения карточки по нажатию на последнюю кнопку в коде. Не заполнив в реестре все необходимые поля, нельзя открыть карточку. Или я могу как-то сыгнорировать эту проверку?
Возьмите прекрасное дополнение с Marketplace и используйте готовые шаблоны https://marketplace.terrasoft.ru/template/templates-developing-custom-d…
Владимир Соколов,
большое спасибо, но, увы, это дополнение поддерживается только начиная с 7.16, а у меня установлена 7.15.
Нельзя как-то в коде настроить, в каком порядке отображать колонки объекта на гриде?
Гусейн Гулиев,
Вам проще будет обновиться до новой версии :-)
Гусейн Гулиев пишет:
это дополнение поддерживается только начиная с 7.16, а у меня установлена 7.15.
что-то мне подсказывает, что это дополнение просто появилось, когда была версия 7.16, и никто его на ранних не тестировал.
Ну, и даже с этим дополнением иногда нужно перекомпилировать и очистить Redis, чтобы заработало, как надо
Я отредактировал отображаемые колонки детали и сохранил для всех пользователей, но пользователи, открывшие страницу детали хоть раз до изменения, не увидели изменений, пришлось удалить деталь и добавить заново
Добрый день.
Вы можете посмотреть как это реализовано в базовой логике на странице редактирования заказа, деталь Продукты. При нажатии "три точки" -> добавить у нас добавляется строка, которую можно редактировать.