永洪社区

标题: 报告中脚本运行顺序 [打印本页]

作者: 月球上的鲨鱼头    时间: 2024-7-23 14:57
标题: 报告中脚本运行顺序
请问下在报告里面的脚本有运行顺序吗(比如是不是按照行号由上到下一次运行)
或是有没有办法让某个脚本语句在另一个语句执行之后再运行的办法
因为我遇到一个问题: 脚本里面引用了报告中的值并进行判断(这是语句1)  另外有一个语句2会引用语句1判断之后的值
现在语句2要比语句1执行的快 就造成报告拿不到值而报错

作者: yhdata_lyaa    时间: 2024-7-23 14:57
月球上的鲨鱼头 发表于 2024-7-23 15:27

第二第三行会引用 第22和23行的值,那就把 第二第三行写在最后面呢。是先执行第三行再执行23行呢
作者: yhdata_lyaa    时间: 2024-7-23 15:10
一个脚本里的报告吗,一般是按照顺序执行的,你写的什么脚本呢
参考https://www.yonghongtech.com/rea ... C%E9%A1%BA%E5%BA%8F
作者: 月球上的鲨鱼头    时间: 2024-7-23 15:15
param["sdate_tongqi"]=formatDate(dateAdd(param["sdate"],"year",-1),"yyyy-MM-dd")
param["edate_tongqi"]=formatDate(dateAdd(param["edate"],"year",-1),"yyyy-MM-dd")

var e
var myDate = new Date();            //获取系统当前时间
var years=myDate.getFullYear();   //获取当前时间的完整年份
var s = date(years,4,1)           //获取指定日期,当前年份的4月1日

if(myDate.getTime()==s.getTime()){
        s = formatDate(date(years-1,4,1),'yyyy-MM-dd')   //sdate赋值为前一年的4月1日
        e = formatDate(date(years,3,31),'yyyy-MM-dd')    //edate赋值为今年的3月31日

} else if (myDate.getTime()<s.getTime()){
        s = formatDate(date(years-1,4,1),'yyyy-MM-dd')   //sdate赋值为前一年的4月1日
        e = formatDate(dateAdd(now(),'dayofyear',-1),'yyyy-MM-dd')   //当前时间的前一天
} else {
        s = formatDate(s,'yyyy-MM-dd')  //否则sdate赋值为当前年份的4月1日
        e = formatDate(dateAdd(now(),'dayofyear',-1),'yyyy-MM-dd')   //当前时间的前一天
}

sdate.value=s
edate.value=e

这是脚本  在e还没拿到值呢  就执行力第二行的脚本
作者: 月球上的鲨鱼头    时间: 2024-7-23 15:16
我把第一二行的脚本 放在整体脚本的最后 是不是就能避免这个问题了
作者: yhdata_lyaa    时间: 2024-7-23 15:21
哪个第二行,您是想实现什么

作者: 月球上的鲨鱼头    时间: 2024-7-23 15:21
当前脚本都在'装载时运行'里面  主要看'装载时运行'里面的执行多个赋值脚本的执行顺序
作者: yhdata_lyaa    时间: 2024-7-23 15:25
yhdata_lyaa 发表于 2024-7-23 15:21
哪个第二行,您是想实现什么

可以指一下是哪个跟哪个不对吗,要实现什么
作者: 月球上的鲨鱼头    时间: 2024-7-23 15:27
yhdata_lyaa 发表于 2024-7-23 15:21
哪个第二行,您是想实现什么

图片里 第二第三行会引用 第22和23行的值
遇到的问题是第23行还没运行完 也就是e还没有值呢
就执行了第三行语句 造成了报错:  类型强制转换异常: NaN不能转化为时间戳类型
作者: 月球上的鲨鱼头    时间: 2024-7-23 15:27
月球上的鲨鱼头 发表于 2024-7-23 15:27
图片里 第二第三行会引用 第22和23行的值
遇到的问题是第23行还没运行完 也就是e还没有值呢
就执行了第三 ...



作者: 月球上的鲨鱼头    时间: 2024-7-23 15:40
yhdata_lyaa 发表于 2024-7-23 15:38
第二第三行会引用 第22和23行的值,那就把 第二第三行写在最后面呢。是先执行第三行再执行23行呢 ...

也就是装载时运行里面的脚本 是按照行号顺序执行的
作者: yhdata_lyaa    时间: 2024-7-23 15:58
月球上的鲨鱼头 发表于 2024-7-23 15:40
也就是装载时运行里面的脚本 是按照行号顺序执行的

是的
作者: 月球上的鲨鱼头    时间: 2024-7-23 15:59
yhdata_lyaa 发表于 2024-7-23 15:58
是的

好的 麻烦您了




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