创建被参照的元数据
创建一个“被参照者”的元数据。“代码风格”为自定义样式
,“访问器类型”为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);
也在表中复制其他人的记录然后修改为自己的。
设置参照
在对应的元数据中选中实体,选择参照页签,点击设置参照
,然后选中自己定义的参照后点击确定,就可以在对应的列表看到自己定义的参照。
引用自定义参照
显示参照名称
完成以上操作以后参照就可以使用了,如果想要参照以后在需要参照的位置显示参照名称而不是其编码,那么需要在单据模板初始化中找到对应的单据模板,然后修改。最后保存模板即可。