通达OA 关于直接在数据库中修改工作流表单值的问题

时间:2021-10-05 23:19:11

           昨天,一个朋友的单位用通达OA工作流报了一个工作流审批,中间有一个数字写错了并且已经转交下一步不能再收回,需要这位管理员帮助修改。这位朋友登录后台数据库直接找到存储工作流表单的表 flow_data_xx (xx是数字,代表工作流编号),找到了要修改的数据修改了其中的数字,可是前台表单仍然显示为原来的数值。

         难道是工作流表单在客户端或者服务器上缓存了数据,这位朋友又是清楚IE缓存,删除Cookies,又重启了服务器,可是结果依旧。

         情急之下,找到我帮忙。我开始也是按照他说的那几招试了一遍,果然修改后结果不变,表单上还是显示原来的内容。真的是在服务器生产了静态文件吗?在相关目录中找了一下都没有,只有2个表单模板的缓存,这个是通达设计的为了工作流执行的文件但是并不存储工作流中的实际表单值。

         我又挨个把工作流的几个表都看了一遍,在打开flow_run_data表后,看到里面的数据很熟悉,这不是我刚刚输入表单的值吗,直接在里面改了一下,在前台刷新一下果然这回显示的是修改后的数值。这才是真正存储工作流表单值的地方,flow_data_xx 应该只是新建工作流第一步时存储的数据,后来显示就没它的事了。这样就帮朋友解决了这个问题。

        又在网上找了一下工作流相关的表说明,转载了一下(见 http://blog.csdn.net/upi2u/article/details/6947556),特别说明了一下flow_run_data表,希望能给朋友们提供点方便。

        当然,管理员建议还是不要用这种方法来改工作流的好,呵呵。