本文介绍了一种灵活加载数据以展示报表的需求背景及实现方案。为解决数据源配置查询限制,作者通过新增树形基础资料、单据、报表及过滤控件,结合Java插件查询和合并数据的方式,实现了报表的灵活展示。文中详细描述了创建基础资料、单据、报表模板及Java插件开发的过程,并展示了查询效果。
如果文章对您有帮助,请为我点击一个朴实无华的赞^_^
1.需求背景
报表的配置查询数据源已经无法满足需求了,需要一种更加灵活的加载数据的方式来展示报表。
如果想了解 分组报表如何实现,请查看我的下一篇文章:
https://club.kdcloud.com/article/172638873694823680?fromAction=POST_ARTICLE
单据、基础资料的元数据请查看附件,java插件代码请查看实现过程或者附件。
2.实现方案
(1)新增一个 树形基础资料,命名为 地区。两个单据,命名为 水果单据、电器单据。
其中水果单据引用 地区基础资料。
(2)新增报表,添加过滤控件。报表中添加报表查询插件。
(3)Java插件中增加几个列。
(4)Java插件中根据过滤控件查询单据数据。查询第1步创建的两个单据的数据,
把水果单据、电器单据用左连接进行合并。
3.实现过程
(1)准备工作,为第2步的报表准备一些展示的数据源。
创建分组基础资料,名称为 地区。
基础资料填充几数据
创建单据,命名为 水果单据。
加入一个分组字段,加入单据体和一些单据体字段,隐藏标准单据体的部分字段
新增几个水果单据数据
创建单据,命名为 电器单据。加入两个字段
新增几个电器单据
(2)添加报表
新增报表模板
在过滤面板添加一个基础资料作为过滤条件
添加查询插件,这个查询插件可以现再IDE中创建,把包名+类名复制粘贴
(3)Java插件
添加几个列,修改首列的颜色和标题
(4)Java插件中根据过滤控件查询单据数据。两个单据的数据用左连接进行合并。
注意,左连接条件为两个单据的单据编号相同
4.效果图
(1)不使用过滤条件直接查询
(2)选择地区基础资料的值为“广东”,然后过滤
水果报表实现.zip(11.12KB)
推荐阅读