帆软FineReport 报表联动

最近有个需求,想实现从一张报表跳转到另一张报表,即从商品销量汇总表跳到商品销量明细表,记录下来,方便备查。
基本思路
将第一张表选择单元格的关键信息,作为条件传递给第二张报表。帆软支持配置链接。
素材:
原始报表-商品销量汇总表(rpt_order_sub.cpt)如下图所示。
在这里插入图片描述
目标表-商品销量明细表(rpt_order_item.cpt),如下图所示。
在这里插入图片描述
需求:
点击 商品销量汇总表中的商品ID,可跳转到新报表,查看该商品ID的所有明细,同时可以返回。

1、源报表设置

绑定SQL如下所示。

SELECT
	sku_id,
	spu_id,
	sku_name,
	goods_type,
	sum(sku_num),
	create_time,
	update_time
FROM
	tb_order_item
WHERE
    	1 = 1
	and date_format(create_time,'%Y-%m-%d') >= '${beginDate}'
	AND date_format(create_time,'%Y-%m-%d') <= '${endDate}'
	 group by sku_id
	order by goods_type,sku_id desc

第一步、添加网络报表
选中 商品销量 单元格,在右侧编辑栏,添加链接 -> 网络报表
在这里插入图片描述
在弹出的编辑页面,选择 跳转前往的目标报表参数传递方式参数设置,这里beginDate和endDate是源报表选择的日期,shu_id 为选中单元格的信息,即B5单元格的值,作为参数传递。注意这里的sku_id 要与子页面的参数一致
在这里插入图片描述

2、目标报表设置

在商品销量明细表的绑定SQL中 where条件加上 sku_id 信息,用于接收父页面参数,绑定SQL如下所示。

-- 展示商品明细信息
SELECT
	sku_id,
	spu_id,
	sku_name,
	goods_type,
	sku_num,
	create_time,
	update_time
FROM
	tb_order_item
WHERE
    	1 = 1
	and date_format(create_time,'%Y-%m-%d') >= '${beginDate}'
	AND date_format(create_time,'%Y-%m-%d') <= '${endDate}'
	 ${
   
   if(len(sku_id)==0,""," and sku_id = '"+sku_id+"' ")} 
	order by goods_type,sku_id desc

第一步、添加网络报表
跳转到目标报表后,添加 返回上一级 功能,和上面操作类似。
选中 返回上一级 文字,在右侧编辑栏,添加链接 -> 网络报表
在这里插入图片描述
在弹出窗口,选择 跳转前往的目标报表参数传递方式参数设置,这里beginDate和endDate是源报表选择的日期,同样的参数带回去。
在这里插入图片描述

3、测试跳转

在 商品销量汇总表中查询 2022-10-17 到 2022-10-20 范围内的商品,如下图所示。
在这里插入图片描述
点击 商品ID 为66676 的商品,即跳转到 商品销量明细表,销量总数为5,如下图所示。
在这里插入图片描述
点击 返回上一级 按钮,回到 商品销量汇总表,起始时间都获取到,展示正常,如下图所示。
在这里插入图片描述
以上就是 帆软报表联动,主要应用网络报表功能,相互间的参数传递。

猜你喜欢

转载自blog.csdn.net/u012190388/article/details/127398001