润乾填报——报表只更新修改数据

 

润乾 V5 填报保存时是根据脚本中的新旧对象进行判断,然后通过 update 函数进行更新,目前是对里边的所有数据进行操作,也就是后所页面中展现 10 条记录,如果只修改一行的话,那么保存时 10 条就都会进行更新,一方面效率有些差,另外,有可能数据表中会有一些最后修改人等字段,只要求对该条数据修改的字段进行更新。

解决办法:
1,数据来源:

imagepng

数据来源中定义对象:员工表, 从 demo 数据源的员工表中取数。
注:此例使用润乾自带数据库中的员工表。
2、数据去向:

可以对新旧对象进行控制,如果数据没有修改,则在对象中将该条数据删掉即可,这样新旧对象中保存的就是修改的数据,再用 update 操作即可。下面列出删除数据的一种方法,其他方法可自行实现:

在数据去向里,先将新旧对象按照所有字段 join 在一起,这样 join 出来的就是没有修改的数据,然后再 delete 即可。
注:
B1:使用 join 函数,将填报表中的新(员工表)旧 (员工表 _old) 对象 join 在一起,因为判断整行是否修改,所以后边主键字段用的是多字段方式,并将员工表对象命名为 yg,员工 _old 对象命名为 ygold。
C1:取出 B1 中的编号字段,此时 C1 中取出的编号是未修改的数据的编号
A2:从新对象(员工表)中根据 C1 的值取出未修改的对象记录
B2:从旧对象(员工表 _old)中取出未修改的记录
A3:在新对象员工表中删掉 A2,也就是删掉未修改的记录,将删掉后的结果赋值给员工表对象,此时员工表对象中保存的是页面中有修改数据的记录
B3:同上,控制旧对象数据
C4:使用 update 函数,根据新旧对象的结果,进行 update 操作。

具体函数说明,请参考:http://d.raqsoft.com.cn:6999/esproc/func/
更多填报类问题请看:填报分类导航
* 固定格式填报表的制作
* 分组填报表的制作
* 脚本中如何做填报数据校验
* 填报表之数据留痕
* 行式填报之主键设置