最新消息:ww12345678 的部落格重装上线,希望大家继续支持。

Microsoft Dynamics AX 2012 主外键关系开发范例

AX 2012 William 2752浏览 0评论

我们在AX中开发时,经常遇到需要处理主外键关系的情况。比如在添加员工教育经历信息时,可以通过单击“教育程度”字段的下拉按钮在列表中选择对应记录。而“教育程度”的基础数据则在相应的设置窗体进行维护。

教育程度下拉选择框如下图所示:

教育程度数据定义窗体如下图所示:

员工教育经历和教育程度记录的数据关联关系如下图所示:

 

HcmEducationLevel教育程度表:“EducationLevelId“为该表的自然主键,“RecId”为该表的代理主键;

HcmPersonEducation教育经历表:该表中有个“refRecId”类型的“EducationLevel”字段关联到HcmEducationLevel表的“RecId”字段作为外键)。

 

系统中还有非常多类似的应用场景,我们也经常会遇到需要模拟改开发模式的情况,Microsoft Dynamics AX 2012 主外键关系开发步骤如下:

1.      创建扩展数据类型

名称 类型 描述
HcmEducationLevelId String 教育程度(自然主键)
HcmEducationLevelId String 描述

2. 创建“教育程度HcmEducationLevel”主表,属性如下表所示:

Name HcmEducationLevel
CacheLookup EntireTable
TableGroup Reference
ReplacementKey IdIdx

 

“HcmEducationLevel”表“EducationLevelId”字段的“Mandatory、AllowEdit”属性分别设置为“Yes”和“No”:

创建表的主索引“IdIdx”,并将该索引的“AllowDuplicates、AlternateKey”属性分别设置为“No”和“Yes”:

3.      创建扩展数据类型

名称 类型 描述
HcmEducationLevelRecId(RefRecId) Int64 外键数据类型

 

将扩展数据类型的“ReferenceTable”属性设置为“HcmEducationLevel”

4.      在“HcmPersonEducation”表创建指向主表的关系“EducationLevel_FK”,属性设置如下图所示:

5.      在“HcmEducationLevel”表创建主表删除约束限制(如果员工的教育记录已经设置为某个教育程度,比如“大学本科”,则禁止删除教育程度表的“大学本科”记录),保证数据的参照完整性,属性设置如下图所示:

6.      分别创建主表和从表对应的窗体。

 

转载请注明:ww12345678 的部落格 | AX Helper » Microsoft Dynamics AX 2012 主外键关系开发范例

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址