背景:
目前标准产品的报表中,显示的字段都是固定的,如果客户做了二次开发,比如在单据中增加了一些自定义字段,同时想在报表中把这些自定义字段显示出来,这种需求属于特殊需求,标准产品不会处理,但可以通过二次开发来实现
方案:
新建一个报表服务插件,直接继承K3Cloud的标准报表的服务插件,获取到报表的原始数据(该数据是保存在临时表中的),然后我们对此报表的原始数据进行再次加工处理,比如按单据编号或基础资料编号进行关联,就可以获取到你需要的任何数据
下面以Cloud5.0应收款明细表为例,详细说明操作步骤
步骤:
1. 在BOSIDE中找到你需要处理的报表,确定其使用的服务插件是什么
2. 使用visual studio新建一个类,并继承原报表的类
添加相关引用:
添加using:
继承标准产品的报表插件:
注:只需要重载基类的两个方法:
public overridevoidBuilderReportSqlAndTempTable(IRptParams filter,stringtableName)
public overridevoidCloseReport()
3. 在BOSIDE中,对原报表做一下扩展
扩展
注册插件
扩展后,添加注册二次开发的插件,并把原报表服务插件取消启用
添加报表字段
在扩展后的报表元数据中添加字段,注意添加的字段名,需要与代码中的字段名保持一致
4. 扩展报表过滤条件
扩展
添加过滤及显示字段
在显示隐藏列中,把二次开发字段加进去
5. 清除缓存,重新登录Cloud
至此,就可以在报表中看到增加的自定义字段了
本文转自51GT51CTO博客,原文链接:http://blog.51cto.com/yataigp/1981007 ,如需转载请自行联系原作者