3

我有一个项目表,每个项目都引用另一个表中的另一个项目。我们会说项目是人,相关项目是最喜欢的食物。

表 A:鲍勃:1,莎莉:1,苏:3

表 B:1:苹果,2:香蕉,3:橙子

“人”通过“人”表中引用的食物 RecId 与他们最喜欢的“食物”联系起来。

我有一个用于编辑人员的表单/网格。有没有办法使网格中的 FoodRecId StringView 转换其值,以便 RecId 数字在网格中不可见?

我已经编写了多列查找来轻松处理创建正确的关系,但如果网格中的 RecId 可以隐藏/替换,则表单将更易于使用。

4

2 回答 2

2

如果您使用的是 AX 2012,则非常简单:使用代理键RecId用作外键现在是最佳实践!

更新:可以在AX Musings中找到确切的步骤。

如果使用旧版本的 AX,请查看表单ContactPersonRecId中的使用。CustTable它涉及隐藏recId表单中的字段,同时使用另一个编辑字段 ContactPersonName作为键。

虽然使用RecId外键并不违反最佳实践,但由于手动处理代理键的复杂性,通常会避免使用它。

于 2012-04-23T14:45:20.863 回答
1

布拉德,

ReplacementKey是您的解决方案。

现在可以在 AX 2012 中定义父/子关系,而无需在两个表中定义相同的主键。例如,直到 AX 2009,标题/行关系曾经基于一个唯一键存在,例如 SalesTable 和 SalesLine 中的 SalesId 字段。这在 AX 2012 中不再需要。此类关系在 RecIds 上定义,值显示在表单上,​​具体取决于您的ReplacementKey上定义的内容(这就是名称 Replacement 的原因!)而不是 RecId,您可以显示任何其他字段,如名称。

看看我的博客! http://amannain.blogspot.in/2012/04/table-relationships-learning-with.html

于 2012-05-10T19:22:29.757 回答