我正在通过将一个表与另一个表的关系添加进行查找。我制作了自定义表格,并与HCMWorker建立了联系。现在,我在自定义表中使用HCMWorker.personalName添加了一个关系。比我创建一个窗体添加一个网格并将其拖到我的网格。现在我有一个显示ID和Name的查询。现在,当我从查找表中选择任何项目时,ID会出现在字段中,我希望显示的是名称而不是ID。有解决方案吗?
答案 0 :(得分:2)
通常的处理方式如下:
使用HcmWorker表(父级)的RecId作为自定义(子级)表中的外键,以利用“引用组”功能。这将允许您创建一个显示与实际RecId不同的字段的字段组,但是自定义表中的基础数据仍将是HCMWorker表的RecId。将代理键/ RecIds(而不是自然键)用作外键是Dynamics AX的最佳做法。
但是,此情况不适用于HcmWorker ,因为由于数据库规范化,该表不包含名称。因此,尽管上述步骤是您的通用解决方案,但对于您的情况,还有一个更高级的操作,其中涉及创建查找表单。幸运的是,在这种情况下,您不必创建自己的查找表单。这已经为您完成。
使用(拖放)HcmWorkerRecId EDT到您的自定义表,创建一个外键关系回到HcmWorker表,并且当您从数据源列表中拖动字段以创建新表时,查找表单应该被自动使用。表单控件(请参阅EDT的“表单帮助”属性)。选择工作人员时,此查找表单将具有与应用程序其余部分相同的外观,这也是一种设计最佳实践。默认情况下,使用此技术应先显示名称,而不是ID。