公司最早的钉钉流程的表单设定,流程设定因为最早是由IT部门进行的创建。我们经常会遇到的一个问题是,有的申请人在流程审批表单当中填写错误或者审批人发现申请人填写错误后。其往往不会从自己身上找填写的原因,往往会直接把问题提交到IT部门。而IT部门的同事往往会根据用户的描述,在钉钉后台当中去检查填写的内容是否正确,并再给双方进行反馈。
这里,整理了几个常见的问题。
• “为什么表单填写的内容都不正确就提交了呢?”
• “为什们审批人没有通过我的申请呢?是我的模版表格使用的不正确么?(通常经过我们检查后发现确实有模版乱使用的情况)?正确的模版是哪一个呀?”
• “我用的模版是XXX提供给我的,我不知道是错误的?”
• “为什么之前的审批人都没有发现问题?”
由于这样的问题层出不穷,并且随着业务不断的扩展,不同的表单陆续被上线,这类似的问题越来越多。IT部门的大部分时间被占用在“来找茬”方面。
面对这个问题,冷静下来分析,造成这种情况无非是在整体流程中有太多的“人”这样的变量加入到了流程当中。而人的因素也是不稳定的,所以,有没有什么办法能够彻底解决这个问题呢?
按图索骥,我们对这种情况再次进行了分析,发现只要解决下面的问题基本就能把这个issues解决掉。
- 如果流程填写的问题,尽量在审批人之前进行告知和反馈是最好的。因为申请人自己填写错误的话,他是愿意进行修改,且不被审批人知道是最好的。
- 针对通用附件模版的版本管理,这个在很多公司不太好处理。从最初版本的模版被不同的人填写后,按照国内用户的习惯。要找模版大概率是去问同事,而不是去标准模版库下载最新模版。提供一个模版内容检测的功能,且能和申请人进行交互。
- 在流程当中,审批人的在业务核心上进行审批的大概率是“这个申请要不要通过,是否符合业务逻辑”(概念性审批),而申请表单上的标准一定都会有一个固定的逻辑标准来进行验证(逻辑性审批)。那我们可以帮审批人进行逻辑标准审批,审批人仅进行概念性审批。通俗的讲就是我们通过一种方式将需要套逻辑公式的逻辑性审批进行一次,并将审批结果呈现给审批人。由审批人根据这个参考再进行概念性审批。
改进之前,一个标准的常见流程如下:
大部分的流程通常会在一级审批人处陷入流程死循环,即,一级审批人作为审批流程的开始,通常会负责源头把关的作用。如果发现填写错误,往往都是直接附上简单的驳回原因后就对流程进行打回。而申请人有时候根本无法理解具体哪里错了。所以在这个阶段往往会重复很多次。
结合在之前我们想到的解决方案,我们对流程图进行小小的改进。
在改进流程当中,我们套入了1个预审批节点,并让预审批节点去载入3个广义范围的判断条件集和。
- 是否满足逻辑性审批条件
- 是否满足标准模版性条件
- 预警提示映射条件
其中,是否满足逻辑性审批条件是指:
在表单当中,必要的必须遵照逻辑规则的条件,可以是与其他业务系统进行数据关联后的逻辑验证。如,是否超出信用值申请;所填写的地址是否能够被其他系统解析(如填写的客户名称是否是收录在库的)。这类条件有明确的YES/NO标准,通过这类条件,如果申请人填写的是有错误,则能够直接明确的告诉申请人具体的错误信息。(如客户并不在客户池当中)
是否满足标准模版性条件是指:
若流程涉及到复杂的EXCEL附件表单,表单的sheet是否完整;sheet当中的列有没有被改变(通常列数和列的名字被改动后均认为该模版已经被篡改);每行当中需要填写如数字的地方是否填写成了字符。(如某些列必须填写成X位的编码)
若该条件发生拒绝,机器人也能直接在驳回附言当中明确告诉申请人具体哪一行填写错误,若附件模版使用错误,应该在哪里去获取最新的模版。
预警提示条件是指:
若满足了这类条件,不一定需要驳回请求,但是需要让后续审批人知晓该情况。 如以品牌方的发样申请当中,一个EXCEL附件当中可能会包含上百个地址。某些地址是无法发快递的,审批人也不可能对这么多地址进行检查。所以我的预警条件将会根据不发快递的条件去遍历每一行,并在通过附言当中提示“该请求总共XXX个地址,其中风险地址XXX个”。再或者需要给审批人提示申请人自身或该部门已经在特定时间周期内,申请了多少次。
回头一看,上面的设计应该可以支撑困扰我们多时是问题。下一步就是需要如何去完成这件看起来“有点自动”的事情了。