无法在报表中取出模板参数值

模板参数.pngds1:

select id from fine_user where userName='${fine_username}'

ds2:

select id,rootId from (select id from fine_department where name='${indexofarray(reversearray(split(getuserdepartments(),",")),1)}') as a join (select id as rootId from fine_department where name='${indexofarray(split(getuserdepartments(),","),1)}') as b on 1=1

test.cpt


===============================================================


部门职务层级.png

在模板参数中用SQL函数也无法获取数据。


设置模板参数“userId”初始值为

sql("HSQL","select '$fine_username' from fine_user",1,1)

报表中取模板参数“$userId”值返回“$fine_username”,应该是生成模板参数时变量“$fine_username”还未初始化。

FineReport ejzhang 发布于 2020-3-18 18:23 (编辑于 2020-3-19 12:49)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
qq1320929786Lv6初级互助
发布于2020-3-19 08:59(编辑于 2020-3-19 14:56)

你可以这么理解,模板参数在页面加载起始的时候就会去获取数值,而数据集里面值要在页面加载完成才能获取数值,有个先后顺序,所以你取值不到。你要实现什么功能,或许可以用另外一个方式实现

1.公式会在模板加载的时候就会获取值的。

你上面写的这个sql公式sql("HSQL","select '$fine_username' from fine_user",1,1),就相当于$fine_username

,而且也写错了应该这样写sql("HSQL","select '"+$fine_username+"' from fine_user',1,1),fine_username是一个变量,而不是字符

最佳回答
0
听雨轩Lv6初级互助
发布于2020-3-19 09:25(编辑于 2020-6-19 15:22)




楼上正解,有先后关系。 所以你要在参数里写sql公式    sql("数据连接名","sql语句",1,1)

image.png

image.png

  • ejzhang ejzhang(提问者) 在模板参数中用SQL函数也无法获取数据,截图请看问题贴。
    2020-03-19 11:47 
  • ejzhang ejzhang(提问者) 设置模板参数初始值为:sql(\"HSQL\",\"select \'$fine_username\' from fine_user\",1,1),报表中取模板参数返回“$fine_username”,应该是生成模板参数时“$fine_username”还未赋值。
    2020-03-19 12:00 
  • 听雨轩 听雨轩 回复 ejzhang(提问者) 你写错了
    2020-03-19 13:55 
  • 听雨轩 听雨轩 回复 ejzhang(提问者) \'\"+$fine_username+\"\',看我上面的图
    2020-03-19 13:58 
  • 3关注人数
  • 784浏览人数
  • 最后回答于:2020-6-19 15:22
    请选择关闭问题的原因
    确定 取消
    返回顶部