关于智能推送日报表的实现 一、现状 任何企业、部门等单位基本上都有日报表、周报表等固定周期性报表的需求,大多数单位的报表填报不是定时的,或者说无规律可言,造成使用定时调度功能,会出现以下几种情况: 1、定时调度设置为【简单重复执行】,例如设置成每分钟执行一次来监控数据更新,会造成 数据报表的重复发送 2、定时调度设置为【明细频率设置】,例如设置成每天15:00执行,如果在15:00之前没有填报数据更新,则会发送空数据报表,或错误数据报表 3、。。。。。。
二、需求 监控数据库,如果有数据更新即有新的日报数据录入数据库,就触发定时调度,发送日报表
三、报表cpt设计 1、设计数据库表,必须的字段:ID为自增主键,ZT为记录本条记录是否发送的发送状态,0为未发送,1为已发送 2、设计日报表cpt-填报,用于日报数据的录入,其中字段【ZT】值为0,即未发送数据 3、设计日报表cpt-发送,用于日报数据的定时调度,并设置报表填报属性为更新提交,ID为主键,【ZT】值为1,即已发送数据;定义数据集为where ZT=0;如果需要识别多个日期的报表,可以增加where条件,取ZT=0且日期字段为最小值的记录,即可区分,避免日报数据出现多个未发送数据的混乱
四、定时调度设置 1、日报表-发送:模版选择【设计日报表cpt-发送】,设置频率为3分钟一次,设置执行条件为公式判断,公式为len(A2)>0,A2为记录行单元格,即为查询记录数不为0,设置本地文件类型为预览(切记),设置开始时间2018年7月15日 15:00:00(老板午休结束时间,呵呵😄) 上述步骤为发送日报记录
2、日报表-更改ZT状态为已发送:模版选择【设计日报表cpt-发送】,设置频率为3分钟一次,设置执行条件为公式判断,公式为len(A2)>0,A2为记录行单元格,即为查询记录数不为0,设置本地文件类型为填报(切记),设置开始时间2018年7月15日 15:00:15(即比上个任务晚执行15秒) 上述步骤为更改发送状态
五、感谢 感谢论坛孤陌等大神的帮助和指点
六、其他 1、亲测成功,已使用一周左右,没有任何问题 2、顾虑:服务器重启等情况,是否会影响执行效果,有待验证 3、但愿能帮到你们。。。。。。曲线救国的方式实现,如果有好的方法,请指教
编辑于 2018-7-27 10:45
|