问题解决了。
我要解决的问题:1、通过JS事件触发一系列的填报任务。2、这一系列的填报任务每个都需要单独提交事务到数据库后才能执行后续任务。
解决方法:
主页面的加载起始JS事件触发填报任务,可以用FR.showDialog打开另外一个CPT,在新CPT里设计填报,然后在新CPT的加载结束用verifyAndWriteReport自动提交入库。
一开始在JS事件里顺序用多个FR.showDialog打开多个CPT,因为事务最后才提交,导致中间多个CPT的填报执行数据不稳定,结果经常出现不同(啥原因啊?)。并且因为第一个填报任务没有实际提交到数据库,导致其他用户在填报任务执行期间打开本页面也会开始执行这一系列的填报CPT。
现在的解决办法是:JS事件只用对话框打开第一个CPT,在新CPT的填报成功事件再打开下一个CPT,依次类推,任务完美执行完毕,中间结果也完美的控制其他用户再次调起任务,下一个CPT的填报依赖的上一个CPT的填报结果也正确。(这是一整个不能断开的逻辑,所以孤陌的多个定时调度并用公式控制每一个调度的启动不能符合要求)
现在仍然存在的但不影响使用的问题是:在主页面的加载起始中调起第一个CPT后,如果不关闭对话框,页面感官极差,如果关闭对话框,后续的填报任务将在后台静默运行,当前主页面展示的数据是未更新的上一期数据(仅存在于今日第一个打开本主页面的用户)。解决思路是用时间延迟或自动刷新页面解决,或者考虑将本主页面设置为定时调度是否可行。
感谢孤陌大神的热心回答讨论,虽然没实际解决问题,但很热心,非常感谢!