文章目录
- 基本思路
- 素材
- 实现方案
- 1、源报表设置
- 第一步、添加网络报表
- 2、目标报表设置
- 第一步、添加网络报表
- 3、测试跳转
最近有个需求,想实现从一张报表跳转到另一张报表,即从商品销量汇总表跳到商品销量明细表,记录下来,方便备查。
基本思路
将第一张表选择单元格的关键信息,作为条件传递给第二张报表。帆软支持配置链接。
素材
原始报表-商品销量汇总表(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,如下图所示。
点击 返回上一级 按钮,回到 商品销量汇总表,起始时间都获取到,展示正常,如下图所示。
以上就是 帆软报表联动,主要应用网络报表功能,相互间的参数传递。