|
|
Q:我在后台任务里写如下脚本,- var starttime1 =format(getToday(),"yyyy-MM-dd")+" 09:00:00";
- var starttime2=format(getToday(),"yyyy-MM-dd")+" 10:00:00";
- var value=getWorkingTimesCount(starttime1,starttime2);
复制代码 执行任务会报错。在论坛里查了下应该是因为后台任务是独立运行,也就找不到对应域下的工作日历。我想问下,怎么在后台任务里写脚本能够来执行getWorkingTimesCount()这个函数?
A:您好,平台是给用户绑定工作日历,前台运行时,会自动去获取匹配当前登录用户所绑定的工作日历,所以后台定时任务中,无法直接使用该方法。但您可通过实例化DateUtil类,再调用getWorkingTimesCount(Date startdate, Date enddate,String calendar),传固定的工作日历来实现。将您上述脚本修改成以下语句即可使用:- var starttime1 =format(getToday(),"yyyy-MM-dd")+" 09:00:00";
- var starttime2=format(getToday(),"yyyy-MM-dd")+" 10:00:00";
- var dates = new Packages.cn.myapps.util.DateUtil();
- var value=dates.getWorkingTimesCount(starttime1,starttime2,"11e1-7f98-53dca0da-a04d-05b43c063ac2");//11e1-7f98-53dca0da-a04d-05b43c063ac2为工作日历id
复制代码 |
|