Как выбрать имя (или другое поле) вместо идентификатора в Lookup ax2012 - PullRequest
2 голосов
/ 03 июля 2019

Я делаю поиск, добавляя отношение одной таблицы к другой.Я сделал свой собственный стол и установил отношения с HCMWorker.Теперь я добавил отношение в свою пользовательскую таблицу с HCMWorker.personalName.Затем я создаю форму, добавляю к ней сетку и перетаскиваю это поле в свою сетку.Теперь у меня есть поиск, показывающий ID и имя.Теперь, когда я выбираю любой элемент из идентификатора таблицы поиска, в поле я хочу, чтобы вместо идентификатора отображалось имя.Любое решение?

LookUp Selected Field

1 Ответ

2 голосов
/ 03 июля 2019

ОБЫЧНО путь будет выглядеть следующим образом:

Используйте RecId таблицы HcmWorker (родительский) в качестве внешнего ключа в своей пользовательской (дочерней) таблице, чтобы воспользоваться преимуществами функции «Группа ссылок». Это позволит вам создать группу полей, которая отображает поле, отличное от фактического RecId, но базовые данные в вашей пользовательской таблице все равно будут RecId таблицы HCMWorker. Использование суррогатного ключа / идентификаторов записи (вместо естественного ключа) в качестве внешних ключей является оптимальной практикой в ​​Dynamics AX.

  1. Добавить столбец RefRecid в пользовательскую таблицу
  2. Добавить отношение внешнего ключа в RefRecId вашей пользовательской таблицы обратно в RecId родительской таблицы
  3. Добавьте группу полей в родительскую таблицу, указав только имя работника, которое будет использоваться в свойстве группы полей замены в контрольной группе контрольных групп.
  4. Когда вы перетаскиваете поле RecId из источника данных формы на форму, чтобы создать новый элемент управления, вы сможете выбрать группу полей замены.

ОДНАКО Эта ситуация не работает с HcmWorker , поскольку таблица не содержит имени из-за нормализации базы данных. Таким образом, хотя описанные выше шаги будут вашим общим решением, для вашего случая есть более продвинутый маневр, который включает создание формы поиска. К счастью, вам не нужно создавать свою собственную форму поиска в этом сценарии; это уже было сделано для вас.

Используйте (перетаскивайте) HcmWorkerRecId EDT в свою пользовательскую таблицу, создайте отношение внешнего ключа обратно к таблице HcmWorker, и форма поиска должна автоматически использоваться при перетаскивании поля из списка источника данных для создания нового контроль формы (см. свойство справки формы EDT). Эта форма поиска будет выглядеть так же, как и остальная часть приложения, при выборе рабочих, что также является наилучшей практикой проектирования. При использовании этого метода по умолчанию должно отображаться имя, а не ID.

...