永洪社区

标题: 全局脚本(装载时运行),在打开报告时不生效问题,... [打印本页]

作者: 咕咕吉    时间: 2024-3-24 17:48
标题: 全局脚本(装载时运行),在打开报告时不生效问题,...
本帖最后由 yhdata_kY2oZeOp 于 2024-3-24 17:52 编辑

问题现象:数据集中有一列:‘同步时间’(数据集每天同步一次)
文本组件1,获取了‘同步时间’列的最大值
文本组件2,希望将文本组件1中的时间减1天后再增加点文字显示
var a =formatDate(dateAdd(parseDate(文本组件1.data,'yyyy-MM-dd'),'day',-1),'yyyy-MM-dd');
文本组件2.data="数据库更新时间:"+a+" 0点";
脚本写在全局的“装载时运行”中
保存报告之后,文本组件2时间刷新,之后,数据集在第二天同步后,文本组件1的时间会自动刷新,但是文本组件2中的时间始终不发生变化(不论在查看报告界面做什么操作),除非是去制作报表界面重新编辑并保存报告。



作者: Malelee    时间: 2024-3-24 18:15
这边根据你描述的现象,测试了一下内容,没有发现像你描述的出现不发生变化的情况,可以试试增加报告刷新时间,或者组件的刷新时间,或者把脚本写到变化是运行中试试看,或者在脚本中增加refreshData();clearData();其中一个尝试一下
作者: 咕咕吉    时间: 2024-3-24 20:25
Malelee 发表于 2024-3-24 18:15
这边根据你描述的现象,测试了一下内容,没有发现像你描述的出现不发生变化的情况,可以试试增加报告刷新时 ...

我在全局脚本的装载时运行中写了如下4行脚本(并在在变化时运行中写了如下的后面3行脚本),没用。那个时间就是不刷新,但是文本组件1的时间会刷新,所以我在另外一个帖子里面才想试试让文本组件2直接从数据集里面取数。
+refreshData()
var a =formatDate(dateAdd(parseDate(文本组件1.data,'yyyy-MM-dd'),'day',0),'yyyy-MM-dd');
var b =" 0点";
文本组件2data="数据库更新时间:"+a+b;





欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4