创建被参照的元数据
创建一个“被参照者”的元数据。“代码风格”为自定义样式
,“访问器类型”为NCVO
。
选中元数据,右键发布元数据
,生成建库sql脚本并执行
,测试案例,无需“生成java代码”。
创建一个Java类
在需要使用参照的其他元数据的Java代码中,在client包下新建一个参照类。该类需要继承AbstractRefModel类。
package nc.ui.pmdom.ref; import nc.ui.bd.ref.AbstractRefModel; public class CustomerRefModel1730 extends AbstractRefModel { public CustomerRefModel1730() { reset(); } public void reset() { // 设置参照名称 setRefTitle("客户参照"); // 设置业务表的字段名 setFieldCode(new String[] { "code", "name" }); //设置业务表的字段中文名 setFieldName(new String[] { "编码", "名称" }); //设置隐藏字段 setHiddenFieldCode(new String[] { "cid" }); // 设定主键字段名 setPkFieldCode("cid"); // 设置参照编码字段 setRefCodeField("code"); //设置参照名称字段 setRefNameField("name"); // 设置参照表名 setTableName("pmdom_customer1730"); // 设置where子句 setWherePart("isnull(dr,0) = 0"); } }
向数据库的参照表bd_refinfo中插入一条数据
可向表中插入sql语句
insert into bd_refinfo (CODE, DR, ISNEEDPARA, ISSPECIALREF, LAYER, METADATANAMESPACE, METADATATYPENAME, MODULENAME, NAME, PARA1, PARA2, PARA3, PK_COUNTRY, PK_INDUSTRY, PK_REFINFO, REFCLASS, REFSYSTEM, REFTYPE, RESERV1, RESERV2, RESERV3, RESID, RESIDPATH, TS, WHEREPART) values ('StockRecordVO', 0, null, null, null, null, 'StockRecordVO', 'tr', '债券信息', null, null, null, null, null, '0001ZZ1000000000LL0G', 'nc.ui.tr.stockrecord.refmodel.StockRecordVORefModel', null, 1, null, null, null, '~', null, null, null);
也在表中复制其他人的记录然后修改为自己的。
设置参照
在对应的元数据中选中实体,选择参照页签,点击设置参照
,然后选中自己定义的参照后点击确定,就可以在对应的列表看到自己定义的参照。
引用自定义参照
显示参照名称
完成以上操作以后参照就可以使用了,如果想要参照以后在需要参照的位置显示参照名称而不是其编码,那么需要在单据模板初始化中找到对应的单据模板,然后修改。最后保存模板即可。