Была создана деталь, у неё есть поле включающее в себя два справочника, так называемый multiLookup.
define("ScDealDocumentsPage", function() { return { entitySchemaName: "ScDealDocuments", attributes: { "NameParticipant": { "caption": {"bindTo": "Resources.Strings.Participant"}, "multiLookupColumns": ["ScContact", "ScAccount"], "dataValueType": Terrasoft.DataValueType.LOOKUP } }, diff: /**SCHEMA_DIFF*/[ { "operation": "insert", "name": "ScNameParticipant", "values": { "layout": { "colSpan": 12, "rowSpan": 1, "column": 0, "row": 1, "layoutName": "Header" }, "bindTo": "NameParticipant" }, "parentName": "Header", "propertyName": "items", "index": 5 } ]/**SCHEMA_DIFF*/, methods: {}, rules: {}, businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/ }; });
При изменении, добавлении записи в деталь, в поле выбора корректно отображается информация как показано на скрине.
Но в реестре в этом поле не отображается информация, я так понимаю, когда переходишь в реестр уже нет привязки к виртуальному полю?! но как здесь быть, и сделать чтобы и в реестре отображалось что нужно.
Нравится
Варианта 2:
1) настройте колонки, вынесите одновременно "ScContact" и "ScAccount"
2) сделать вью на основании объекта детали, перебиндить entitySchemaName детали на вью (как мне кажется, более адекватный вариант)
+ещё можно сделать "мусорное" текстовое поле и при смене мультилукапа заносить в него displayValue. Соответственно его вынести в реестр. Но это прям совсем костыль)
Варфоломеев Данила,
Спасибо за ответ, но при всём при этом в поле будет хранится текст, а не ссылка. Есть ли где-то в недрах системы метод, способный навешивать ссылки на текст, и если есть то может тогда попробовать его найти, переопределить, и реализовать логику "навешивания" нужных ссылок, на нужный текст?!))
в gridutilitiesV2 — isLinkColumn проверка, вызывается уже не помню в какой функции(addColumnLink как-то так). ну и поскольку гридутилиты - миксин, то копируете метод целиком, вставляете в методы свей детали, редактируете под свои нужды.