21.6 工作流快照
工作流执行的每一步,系统都在数据库中保留了本步的快照,不管后续流程中表单上的内容如何变化,已完成的步骤的快照内容不变。保留每步的快照,有利于对业务的追溯,明确责任。
例如,订单上的价格,销售员在第一步“制单”的时候可以录入,销售部长在后续的“审批”步骤中也可以修改,如果一份订单上,最终的价格是错误的,而此单又经过了多人之手,就涉及到一个责任认定的问题,到底是谁把价格录错了呢?有了工作流快照,我们可以很容地知道,销售员在“制单”那一步,所填的价格是什么,销售部长在“审批”那一步,是否改变了价格,改成了什么,谁的责任,会一目了然。
对于带工作流的模板,其上的每个数据表,在应用数据库中都有一个配对的工作流快照表,表名是用户数据表表名,加上“_wi”后缀,例如,订单模板上定义了工作流,其上定义了两个数据表“订单_主表”和“订单_明细”,则在应用数据库中,会有两个配对的表“订单_主表_wi”和“订单_明细_wi”。
用户数据表中存储的是每份表单的最新数据,而快照表中存储的是一份表单在工作流的每一步提交的那个时刻的数据。假如一份订单经历了三步,则这份订单在“订单_主表”中有一条记录,而在“订单_主表_wi”表中有三条记录。
设置工作流快照可见
一般情况下,我们不需要去关心工作流已完成步骤的快照,所以默认情况下,工作流快照是不显示的,如果希望显示工作流快照,需要在“个人选项”中做设置。
登录到客户端,点击右上角的菜单【个人设置】-【填报选项】,弹出“选项”窗口,切换到“数据显示”选项卡,把“不显示”改为“显示最近一段时间的已处理工作”或者“显示全部”,然后点击【确定】。
查询快照
设置了已处理工作的显示范围之后,到我的工作台中,会看到“已处理工作节点”,其子节点为本人有权参与的所有工作流任务。
选择某个任务,右侧列表区列出本人对该任务所办理过的待办事宜,选中某一条,点击列表工具栏按钮【查看】,则打开表单,显示此待办事宜的快照。注意这里显示的是此单当初办理提交的那个时刻的快照,而不是此单当前的最新数据。