1.主子实体元数据开发指南9
主子实体元数据开发指南
作者:李瑜
时间:2009-11-15
概述
主子实体是指业务实体组件中有一个主实体和子实体对象。它普遍出现在NC的单据中。
步骤
本文以内部交易的调入申请组件为例子。调入申请的模块名称为to,调入申请组件的名字为transferin.bmf。
Eclipse打开模型视图
Eclipse插件安装成功之后,Windows->Open Perspective->Other,选中下图红线部分。
创建组件
在创建组件前需要在Eclipse建立相应模块的项目,即此时需要创建内部交易to的项目,然后在NC模型设计器中的MDP资源浏览器中刷新目录。如先建立相应的模块则在NC模型设计器中的MDP资源浏览器中看不到对应模块的资源树(如下图)。
创建目录
1.鼠标右键单击需要创建模型文件的项目,弹出子菜单选中新建目录,则创建新的目录;
2.在新建目录对话框中输入目录的名称,对于调入申请组件来说,其目录名称是transferin;
创建模型文件
1.鼠标右键单击需要创建模型文件的文件夹,弹出子菜单选中新建实体组件,则创建新的模型文件;
2.在新建模型文件对话框中输入模型文件的名称,对于调入申请来说其组件名为transferin;
3.在组件的信息区设置组件的信息:
(1)多语言资源模块:对应多语言里的文件名,调入申请的多语文件名是transferin;
(2)名称:组件名称,必须唯一,不能与其他组件相同(m5a);
(3)所属模块:该组件所属的模块,例“调入申请”组件是属于内部交易to模块的;
(4)名称空间:和所属模块是一样,也是to;
(5)显示名称:当发布元数据后,在单据模板初始化节点下可以看到元数据,其名称就是该显示名称。
创建实体
创建主实体
1.点击业务组件工具箱的实体,拖动到实体图区域即可创建新的实体;
2.在实体的信息区设置实体的信息:
(1)访问器类型:选择AggVO;
(2)包装类名:聚合VO的类名称(nc.vo.to.m5a.Entity.TransInVO)
(3)类名称:实体VO的类名称(nc.vo.to.m5a.Entity.TransInHeadVO);
(4)名称:同缺省表名是一样的(to_apply);
(5)缺省表名:实体对应的数据库的表名(to_apply);
(6)显示名称:实体的显示名称(调入申请主实体);
(7)业务接口实现类: 如果实体实现了业务接口,这里可以注册实现类;
(8)当创建实体之后,需要在组件信息中设置主实体,对于调入申请来说,它的主实体就是“调入申请主实体”。
创建子实体
1.点击业务组件工具箱的实体,拖动到实体图区域即可创建新的实体;
2.在实体的信息区设置实体的信息:
(1)访问器类型:选择NCVO;
(2)类名称:实体VO的类名称(nc.vo.to.m5a.Entity.TransInBodyVO);
(3)名称:同缺省表名是一样的(to_apply_b);
(4)缺省表名:实体对应的数据库的表名(to_apply_b);
(5)显示名称:实体的显示名称(调入申请子实体);
(6)业务接口实现类: 如果实体实现了业务接口,这里可以注册实现类;
实体属性
这里拿调入申请主实体来举例,调入申请子实体属性的设置和主实体的设置类似。针对本例子,主子实体关联属性只针对主实体不适用子实体。
创建主属性
1.点击增加按钮,则属性自动增加一行,在模型视图下对该属性进行编辑:
(1)名称:和字段名称一致,cbillid;
(2)显示名称:在单据模板上显示的名称,主表;
(3)类型样式:选择SINGLE;
(4)类型:主键必须设置成UFID,不允许设置成其他类型;
(5)字段名称:在数据库中所存储的字段名称,cbillid;
(6)字段类型:在数据库中字段的类型;
(7)空:主键是不允许为空的;
(8)动态属性:勾选;
(9)扩展表:表示该字段可以存储在另外一张表,这里输入另一张表的表名。
2.当设置完主属性后,需要在实体信息中设置主属性(主键),对于调入申请来说,它的主属性就是调入申请主键;
创建其他属性
参照型属性
1.点击增加按钮,则属性自动增加一行,在模型视图下对该属性进行编辑:
(1)名称:和字段名称一致,cgroupid;
(2)显示名称:在单据模板上显示的名称,集团;
(3)类型样式:选择REF;
(4)类型:在类型中单击类型选择框,在里面找到参照的类型,例如cgroupid字段它的参照集团,因此在类型对话框中选择集团;
(5)字段名称:cgroupid;
(6)字段类型:参照属性该字段都是null,不需要选择;
(7)空:根据需求设置是否允许为空;
(8)动态属性:勾选;
(9)扩展表:表示该字段可以存储在另外一张表,这里输入另一张表的表名,并且该表的主键和调入申