背景:

      目前标准产品的报表中,显示的字段都是固定的,如果客户做了二次开发,比如在单据中增加了一些自定义字段,同时想在报表中把这些自定义字段显示出来,这种需求属于特殊需求,标准产品不会处理,但可以通过二次开发来实现


方案:

      新建一个报表服务插件,直接继承K3Cloud的标准报表的服务插件,获取到报表的原始数据(该数据是保存在临时表中的),然后我们对此报表的原始数据进行再次加工处理,比如按单据编号或基础资料编号进行关联,就可以获取到你需要的任何数据


下面以Cloud5.0应收款明细表为例,详细说明操作步骤

步骤:
1.     BOSIDE中找到你需要处理的报表,确定其使用的服务插件是什么



2.     使用visual studio新建一个类,并继承原报表的类
添加相关引用:


添加using



继承标准产品的报表插件:


注:只需要重载基类的两个方法:

public overridevoidBuilderReportSqlAndTempTable(IRptParams filter,stringtableName)

public overridevoidCloseReport()


3.     BOSIDE中,对原报表做一下扩展
扩展


注册插件

扩展后,添加注册二次开发的插件,并把原报表服务插件取消启用



添加报表字段

在扩展后的报表元数据中添加字段,注意添加的字段名,需要与代码中的字段名保持一致


4.     扩展报表过滤条件
扩展


添加过滤及显示字段

在显示隐藏列中,把二次开发字段加进去


5.     清除缓存,重新登录Cloud

至此,就可以在报表中看到增加的自定义字段了