22.08.2024, 20:38 | #1 |
Участник
|
Как корректно добавить виртуальное поле в Data Entity
D365
Надо добавить в стандартную data Entity, что уже испоьзуется клиентом в PROD, поле, что. на самом деле, AX метод(display method на таблице). Ну ок, добавила в entity виртуальное поле с Is computed field = no, добавила в staging таблицу поле с таким же названием. В postload класса-extention data entity добавила заполение поля. Почему-то поле не замэппилось в Data management->DataEntity->моя dataEntity->modify target mapping->Generate mapping: мое поле появляется в Staging field колонке. но не в Target field!.. Ну ок. Думаю, что это DEV, и, может, что-то не сразу засинхронизировалось или еще что. Ок..Захожу в проект экспорта, где entity используется. Удаляю в проекте эту entity передобавляю .... и в mapping у entity появляется мое поле, и вуа-ля , уже корректно замэппино.. Для доп проверки снова пошла в Data management->DataEntity->моя dataEntity->modify target mapping->Generate mapping и удалила mapping этого поля и перегенерировала. Все ок. Работает ок. Поле в сгенерированном файле экспорта заполняется корректно. Переношу это дело на другой environment для тестирования. И ... там такая же история. То есть, после Generate mapping мое поле появляется в Staging field колонке. но не в Target field. B для решения передобавила entity в соответствующем проекте Впервые добавляю поле в entity. Боюсь, что что-то делаю не так, если одного Generate mapping не достаточно (судя по докам. что я нахожу, должно быть достаточно ). Не уверена, что предложить клиенту удалить и передобавить entity в PROD - хорошая идея. Что-то делаю не так? Как это проверить? Спасибо |
|
23.08.2024, 21:27 | #2 |
Участник
|
Почему не пойти путем версий. Т.е будет entity_ver_2?
|
|
23.08.2024, 22:06 | #3 |
NavAx
|
Подразумевается что Entity работает на импорт. Но для display field это не имеет смысла. И mapping тоже смысла не имеет, т к. вы не можете указать, в какое поле его импортировать.
__________________
Isn't it nice when things just work? |
|
24.08.2024, 03:03 | #4 |
Administrator
|
Цитата:
Цитата:
Entity может работать как на экспорт данных (и тогда это по сути та же View), так и на импорт данных. Если Entity работает на экспорт - то в общем-то тогда и mapping не нужен - тут вообще можно в крайнем случае сделать computed field Если Entity работает на импорт - то тогда нужно решить вопрос - а в какое реальное поле в таблице будут приходить данные, которые будут заполнены в Вами добавляемом поле. И тогда тут не может быть дисплей-метода.
__________________
Возможно сделать все. Вопрос времени |
|
24.08.2024, 22:09 | #5 |
Участник
|
Спасибо. Видимо, много текста написала, и поэтому путано получилось. Попробу. короче
Используют entity только на экспорт. Надо было добавить поле, что в аксапте - метод на таблице (а не поле). Добавила его в entity, как String Unmapped Field. с IsComputedField = no . В postload заполняю его. Добавила в staging поле с таким же именем Вопрос : нормально ли, что при нажатии на generate mapping (после переноса модификации в другой env) не создается автоматически мэппинг: поле появляется в Staging field колонке. но не в Target field. Может, это нормальноt поведение для Unmapped Fields? |
|
|
|