制作报表的两个重要概念就是语义模型跟自由报表,
新建报表的时候一般都要新建全局的语义模型和自由报表,
语义模型支持标准添加数据加工和标准添加数据表关联,标准的添加数据关联在语义模型设计器即可完成,按照步骤一次是添加元数据、连接字段、连接条件、连接字段、描述器、选项。。。按照sql的逻辑进行配置即可完成。
自定义数据加工要先在项目模块添加相应的查询类,先写接口,在写实现,要把接口实现类添加到/NC_PU/META-INF/fa_card.upm的component里面
接口方法返回的sql字符串
把相关的调用方法添加到数据加工里面,通过编译验证是否调用准确,调用准确地话会返回相关字段
相关调用方法:
com.ufida.dataset.IContext context = getContext();
String sql = nc.bs.framework.common.NCLocator.getInstance()
.lookup(nc.fa.report.carddetail.IFaCardGatherCorReport.class)
.querygather(context);
setResultSQL(sql);
如果没返回相关字段则需要调试查找原因,可以通过语义模型设计器添加相应的查询条件,也可通过自定义报表添加
数据表有些字段可能只显示关联表的主键,通过语义模型设计器可以关联相应的表,让其显示的是元数据的名称,
添加好语义模型之后就是添加自定义报表,在设计面板的右边可以添加语义模型,通过拖拽的方式添加相应的语义模型,并且对其进行修改,工具栏有分组、参数、统计求和等按钮,选中相应的列进行设置,可以实现各种功能,求和可以选不同的求和方法,选中求和列,通过统计按钮可以设置各种属性。写好自定义报表之后就可以通过预览、或者
自定义报表的浏览按钮查看相应的数据。
//update by xms 2016年3月16日23:42:53 begin
有些环境可能会有问题:
此时数据加工调用后台接口类应该这样写:
com.ufida.dataset.IContext context = getContext();
nc.itf.report.trn.order.IOrderReport ir =
(nc.itf.report.trn.order.IOrderReport) nc.bs.framework.common.NCLocator.getInstance()
.lookup(nc.itf.report.trn.order.IOrderReport.class);
String sql=ir.queryDetail(context);
setResultSQL(sql);
// update by xms 2016年3月16日23:44:00 end