报表二次开发高级查询添加自定义字段指导方案原创
21人赞赏了该文章
1,886次浏览
编辑于2019年05月21日 09:45:27
背景: 目前标准产品的报表中,过滤窗口中高级查询字段都是固定的,如果客户做了二次开发,比如在单据中增加了一些自定义字段,同时想在报表中按照这些自定义字段来筛选数据,这种情况,如果直接配置高级查询,则会出现查询报错,或者查不到信息的情况,该类需求属于特殊需求,标准产不会处理,可以通过二开插件来实现 (本帖参考https://vip.kingdee.com/article/285118202751868703(报表二次开发添加自定义字段的指导方案)扩展整理而成,谢谢楼主启发) 方案:新建一个报表服务插件,直接继承K3Cloud的标准报表的服务插件,在报表获取数据之前先清除会报错的高级查询语句,再获取到报表的原始数据(该数据是保存在临时表中的),然后我们对此报表的原始数据进行高级查询筛选,就可以获取到你需要的任何数据,该方案通用于所有报表高级查询扩展自定义字段 下面以Cloud6.0 固定资产 折旧明细表为例,详细说明操作步骤 步骤:1. 扩展报表过滤条件 扩展 添加高级查询字段 2. 在BOSIDE中找到你需要处理的报表,确定其使用的服务插件是什么 添加相关引用: using Kingdee.BOS.Util; 注:只需要重载基类的两个方法: public overridevoidBuilderReportSqlAndTempTable(IRptParams filter,stringtableName) public overridevoidCloseReport() 4. 在BOSIDE中,对原报表做一下扩展 扩展 扩展后,添加注册二次开发的插件,并取消原来插件启用 (此处极容易出错,一旦重现编译组件或者移动组件位置之后,一定记得重新注册插件) 至此,就可以在报表通过自定的扩展的字段查询数据了 |
赞 21
21人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读