您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 1.主子实体元数据开发指南
主子实体元数据开发指南作者:李瑜时间:2009-11-151.概述主子实体是指业务实体组件中有一个主实体和子实体对象。它普遍出现在NC的单据中。2.步骤本文以内部交易的调入申请组件为例子。调入申请的模块名称为to,调入申请组件的名字为transferin.bmf。2.1.Eclipse打开模型视图Eclipse插件安装成功之后,Windows-OpenPerspective-Other,选中下图红线部分。2.2.创建组件在创建组件前需要在Eclipse建立相应模块的项目,即此时需要创建内部交易to的项目,然后在NC模型设计器中的MDP资源浏览器中刷新目录。如先建立相应的模块则在NC模型设计器中的MDP资源浏览器中看不到对应模块的资源树(如下图)。2.2.1.创建目录1.鼠标右键单击需要创建模型文件的项目,弹出子菜单选中新建目录,则创建新的目录;2.在新建目录对话框中输入目录的名称,对于调入申请组件来说,其目录名称是transferin;2.2.2.创建模型文件1.鼠标右键单击需要创建模型文件的文件夹,弹出子菜单选中新建实体组件,则创建新的模型文件;2.在新建模型文件对话框中输入模型文件的名称,对于调入申请来说其组件名为transferin;3.在组件的信息区设置组件的信息:(1)多语言资源模块:对应多语言里的文件名,调入申请的多语文件名是transferin;(2)名称:组件名称,必须唯一,不能与其他组件相同(m5a);(3)所属模块:该组件所属的模块,例“调入申请”组件是属于内部交易to模块的;(4)名称空间:和所属模块是一样,也是to;(5)显示名称:当发布元数据后,在单据模板初始化节点下可以看到元数据,其名称就是该显示名称。2.3.创建实体2.3.1.创建主实体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)当创建实体之后,需要在组件信息中设置主实体,对于调入申请来说,它的主实体就是“调入申请主实体”。2.3.2.创建子实体1.点击业务组件工具箱的实体,拖动到实体图区域即可创建新的实体;2.在实体的信息区设置实体的信息:(1)访问器类型:选择NCVO;(2)类名称:实体VO的类名称(nc.vo.to.m5a.Entity.TransInBodyVO);(3)名称:同缺省表名是一样的(to_apply_b);(4)缺省表名:实体对应的数据库的表名(to_apply_b);(5)显示名称:实体的显示名称(调入申请子实体);(6)业务接口实现类:如果实体实现了业务接口,这里可以注册实现类;2.4.实体属性这里拿调入申请主实体来举例,调入申请子实体属性的设置和主实体的设置类似。针对本例子,主子实体关联属性只针对主实体不适用子实体。2.4.1.创建主属性1.点击增加按钮,则属性自动增加一行,在模型视图下对该属性进行编辑:(1)名称:和字段名称一致,cbillid;(2)显示名称:在单据模板上显示的名称,主表;(3)类型样式:选择SINGLE;(4)类型:主键必须设置成UFID,不允许设置成其他类型;(5)字段名称:在数据库中所存储的字段名称,cbillid;(6)字段类型:在数据库中字段的类型;(7)空:主键是不允许为空的;(8)动态属性:勾选;(9)扩展表:表示该字段可以存储在另外一张表,这里输入另一张表的表名。2.当设置完主属性后,需要在实体信息中设置主属性(主键),对于调入申请来说,它的主属性就是调入申请主键;2.4.2.创建其他属性2.4.2.1.参照型属性1.点击增加按钮,则属性自动增加一行,在模型视图下对该属性进行编辑:(1)名称:和字段名称一致,cgroupid;(2)显示名称:在单据模板上显示的名称,集团;(3)类型样式:选择REF;(4)类型:在类型中单击类型选择框,在里面找到参照的类型,例如cgroupid字段它的参照集团,因此在类型对话框中选择集团;(5)字段名称:cgroupid;(6)字段类型:参照属性该字段都是null,不需要选择;(7)空:根据需求设置是否允许为空;(8)动态属性:勾选;(9)扩展表:表示该字段可以存储在另外一张表,这里输入另一张表的表名,并且该表的主键和调入申请的主键一致。2.4.2.2.日期型属性1.点击增加按钮,则属性自动增加一行,在模型视图下对该属性进行编辑:(1)名称:和字段名称一致,dbilldate;(2)显示名称:在单据模板上显示的名称,单据日期;(3)类型样式:选择SINGLE;(4)类型:日期型属性都选择UFDate;(5)字段名称:dbilldate;(6)字段类型:选择类型字段类型默认为char,其精度默认是char(10);(7)空:根据需求设置是否允许为空。(8)隐藏:从元数据单据生成单据模板的时候,根据需求决定该字段在单据显示的时候是否隐藏;(9)动态属性:勾选;(10)扩展表:表示该字段可以存储在另外一张表,这里输入另一张表的表名,并且该表的主键和调入申请的主键一致。2.4.2.3.时间型属性1.点击增加按钮,则属性自动增加一行,在模型视图下对该属性进行编辑:(1)名称:和字段名称一致,tmaketime;(2)显示名称:在单据模板上显示的名称,制单日期;(3)类型样式:选择SINGLE;(4)类型:时间型属性都选择UFDateTime;(5)字段名称:tmaketime;(6)字段类型:选择类型字段类型默认为char,其精度默认是char(19);(7)空:根据需求设置是否允许为空。(8)隐藏:从元数据单据生成单据模板的时候,根据需求决定该字段在单据显示的时候是否隐藏;(9)动态属性:勾选;(10)扩展表:表示该字段可以存储在另外一张表,这里输入另一张表的表名,并且该表的主键和调入申请的主键一致。2.4.2.4.数字型属性1.点击增加按钮,则属性自动增加一行,在模型视图下对该属性进行编辑:(1)名称:和字段名称一致,ntotalastnum;(2)显示名称:在单据模板上显示的名称,业务单位总数量;(3)类型样式:选择SINGLE;(4)类型:如果是小数型,属性都选择UFDouble,整数型则选择Integer;(5)字段名称:ntotalastnum;(6)字段类型:小数型属性选择类型字段类型默认为decimal,其精度默认是decimal(28,8);(7)空:根据需求设置是否允许为空。(8)隐藏:从元数据单据生成单据模板的时候,根据需求决定该字段在单据显示的时候是否隐藏;(9)动态属性:勾选;(10)扩展表:表示该字段可以存储在另外一张表,这里输入另一张表的表名,并且该表的主键和调入申请的主键一致。2.4.2.5.自定义项型属性1.点击增加按钮,则属性自动增加一行,在模型视图下对该属性进行编辑:(1)名称:和字段名称一致,vdef7;(2)显示名称:在单据模板上显示的名称,自定义项7;(3)类型样式:选择SINGLE;(4)类型:选择自定义项;(5)字段名称:vdef7;(6)字段类型:varchar;(7)空:根据需求设置是否允许为空。(8)隐藏:从元数据单据生成单据模板的时候,根据需求决定该字段在单据显示的时候是否隐藏;(9)长度:表示在数据库中存储字段的长度,设置成100;(10)动态属性:勾选;(11)扩展表:表示该字段可以存储在另外一张表,这里输入另一张表的表名,并且该表的主键和调入申请的主键一致。2.4.2.6.主子实体关联属性1.点击增加按钮,则属性自动增加一行,在模型视图下对该属性进行编辑:(1)名称:bodyfk,该字段不存在数据库中;(2)显示名称:子表外键;(3)类型样式:选择ARRAY;(4)类型:在类型中单击类型选择框,选择调入申请子实体;(5)字段名称:主子实体关联的字段(cbillid);(7)空:根据需求设置是否允许为空;(8)访问策略:选择nc.md.model.access.BodyOfAggVOAccessor。(哪里设置)2.5.枚举类型1.点击业务组件工具箱的枚举,拖动到实体图区域即可创建新的枚举;2.在实体的信息区设置枚举的信息:(1)返回值类型:枚举类型必须设置返回值类型,当前支持int和String两种;(2)类名称:元数据对应类的名称(nc.vo.to.m5a.enumeration.FstatusFlag);(3)名称:m5afstatusflag;(4)显示名称:元数据的显示名称(单据状态)。3.设置枚举的属性:(1)枚举项显示:表示在单据上显示的值;(2)枚举值:表示在数据库中存储的值。4.设置实体属性为枚举类型:(1)名称:和字段名称一致,fstatusflag;(2)显示名称:在单据模板上显示的名称,单据状态;(3)类型样式:选择SINGLE;(4)类型:在类型选择框中选择需要参照的枚举类型;(5)字段名称:fstatusflag;(6)空:根据需求设置是否允许为空。(7)隐藏:从元数据单据生成单据模板的时候,根据需求决定该字段在单据显示的时候是否隐藏;(8)动态属性:勾选;(9)扩展表:表示该字段可以存储在另外一张表,这里输入另一张表的表名,并且该表的主键和调入申请的主键一致。2.6.主实体与子实体之间的关系1.点击关联关系组件工具箱的“组合”,将想要进行组合的实体和接口关联起来;2.设置关联的信息:(1)多样性的目标:对于主子表来说,都是1个主实体对应多个子实体,因此对于目标也就是子实体来说都是设置成1…n;(2)源:设置成1;(3)源属性:表示主实体和子实体之间关联的属性,对于调入申请主实体和子实体来说,它们之间关联的字段是“子表外键”,因此将其的源属性设置成子表外键;(4)连接的目标:对应的子实体;(5)连接的源点:对应的主实体。2.7.业务接口2.7.1.IBillNO接口对于调入申请主实体来说,需要录入单据号,则需要实现IBillNO该接口。步骤:1.在MDP资源浏览器的引用模型下找到实体要实现的IBillNO接口;MD文件路径\bill\IBillInterface.bmf2.点击关联关系组件工具箱的“业务接口实现”,将想要关联的实体和接口关联起来;3.设置实现的接口的信息:对于IBillNO接口来说,其映射属性就是调入申请主实体的“单据号”字段。2.7.2.IRowNO接口对于调入申请子实体来说,需要录入行号,则需要实现IRowNO该接口。步骤:1.在MDP资源浏览器的引用模型下找到实体要实现的IRowNO接口;MD文件路径\bill\IBillInterface.bmf2.点击关联关系组件工具箱的“业务接口实现”,将想要关联的实体和接口关联起来;3.设置实现的接口的信息:对于IRowNO接口来说,其映射属性就是调入申请子实体的“行号”字段。2.7.3.IMakeTime接口对于调入申请主实体来说,需要录入制单时间和最后修改时间,则需要实现IMakeTime该接口。步骤:1.在MDP资源浏览器的引用模型下找到实体要实现的IMakeTime接口;MD文件路径\bill\IBillInterface.bmf2.点击关联关系组件工具箱的“业务接口实现”,将想要关联的实体和接口关联起来;3.设置实现的接口的信息:对于IMakeTime接口来说,制单时间的映射属性就是调入申请主实体的“制单时间”字段,最后修改时间的映射属性就是调入申请主实体的“最后修改时间”字段。2.7.4.流程信息获取、回写接口对于调入申请组件来说,它审核的时候需要走审批流流程,因此调入申
本文标题:1.主子实体元数据开发指南
链接地址:https://www.777doc.com/doc-3449963 .html