流程引擎——OA流程表单的认识及优化
现在企业内部产品大多会涉及工作流,不论CRM、OA、WMS、ERP等,都有流程引擎应用的场景。
我在工作中一直接触OA,流程表单运用很多,但在之前的使用过程中发现还有些细节可以优化;所以根据应用经验及使用的需求整理了如下内容,以后有机会重新设计这个模块时可以有个参考。
一、流程和表单
流程表单分为两部分,流程及表单;表单其实也是流程的一部分,但表单内容较多,所以单独划分。
流程主要是流程节点、流程流干、流程处理、流程日志、流程权限,表单就是页面交互的内容。
二、流程
1. 流程节点
1)节点顺序
流程节点可以设置展示的先后顺序,但也要能设置节点是否有效。
有的节点当时有用,特殊时期又不能用,但如果以增删改查的方式来管理,容易影响进行中的流程实例;所以直接根据是否有效来判断展示节点(无效节点则不展示,自动跳过)是最简单快捷的方式。
2)节点流向
节点一般分为正向、反向、条件跳转三种流向:
- 正向:按照节点顺序逐一执行
- 反向:当前节点返回到前面节点
- 条件跳转:一般流程引擎都允许设置基础的跳转条件,根据表单中一个或者多个字段做判断条件;但有的条件不一定是当前表单字段就能判断的,可能会涉及多个表单才能判断,这就比较考验条件设置个性化能力;要不然调整流程使用方式,比如设置多个流程,让符合不同条件的用户用不同的流程,要不然能代码设置判断条件,让有开发能力的组织根据需求调整。
3)节点变更
节点变更一般是进行中的流程(不在条件跳转规则内)跨节点跳转,已结束的流程要退回来重新流转;通常是通过流程管理中心人工更改,比如流程实例管理,管理员或特殊人员人为更改节点,流程日志记录操作信息。
但人工操作过程会增加申请人与修改人的沟通时间,可以在流程上添加节点修改申请按钮,申请人提交申请时填写节点更改原因;根据设置的申请条件触发审批或者直接到修改人,节点更改后系统通知申请人;不仅可以保留修改原因,规范流程,也减少沟通成本。
4)节点处理
- 同时处理:同时处理就是流程无论指定单人还是多人,指定所有人员都处理,当前节点才算执行完毕,否则无法流转到下一节点;比如一个审批单到管理岗节点,但有多个平级管理岗,需要他们都同意才能继续往下推进,那这个节点就需要多人同时处理。
- 抑或处理:当前节点多人有处理权限,但只要其中某些人处理就能流转下一节点,其他有权限但未处理人员能查看流程,类似于流程抄送。
- 条件处理:设置个性化处理规则,根据发起人部门、表单字段值等条件自动判断处理人;比如集团企业不同分公司用同一流程,同一节点不同公司有不同审批人和不同审批要求,个性化的设置能让管理更简单便捷。
2. 流程流干
流程大多是一条主流,但现在流程引擎有项目管理的多任务执行要求,所以会涉及支流。
例如业务订单处理多个小任务需要不同人同时执行,如果只有一条主流,只能顺序执行,不能有效管理各小任务进度;如果主流能生成支流,支流也能汇入主流,在主流程页面能有效管理分支,那流程引擎也能实现项目管理。
- 流程主流:单条流程,顺序执行流程节点;
- 流程支流:根据条件自动触发分支或者手动添加分支,能跟进管理分支进度。
3. 流程处理
- 流程处理:流程处理时选择处理动作(通过、退回),填写处理意见;处理意见有的是常规事务性的,有的是必须明确表态的,所以处理意见是否为必填要能灵活设置。
- 流程移交:原处理人离职或者职务发生变化,需要将原审批权限移交给新接手人;更多还是离职人员交接时会用到,这需要与人员在职状态关联,人员离职可以一键将未处理的所有流程都移交给新接手人。
4. 流程日志
日志主要是为了出现问题有迹可循,最好全面覆盖。
正常情况下,流程和表单做的所有操作都应该有痕迹,但很多常规痕迹是无效的,如果都保留会浪费服务器空间,影响访问速度;但有的数据又很重要,不能轻易修改,如果修改必须留下痕迹,所以需要根据使用要求保留日志内容。
流程日志主要是节点处理痕迹、表单操作痕迹:
- 节点处理痕迹:保留所有节点处理人、处理时间、处理动作、处理意见。
- 表单操作痕迹:保留表单字段的操作人、操作时间、操作动作、操作前后内容;表单字段较多,要根据字段重要性设置是否留痕,这部分财务相关的数据涉及的会更多一些。
5. 流程权限
流程权限主要分为流程处理权限(发起、审批、特殊处理),表单字段权限:
1)处理权限:设置流程发起和审批的权限,流程结束后允许退回的权限:
- 发起权限主要与角色有关,比如业务员、财务员,根据不同岗位或工作职责划分角色就行了。
- 审批权限与组织架构高度相关,企业内部大多根据人员级别逐一审批,所以权限与组织架构匹配,会让权限管理变得便捷(设置审批层次,根据人员级别顺序往下审批,执行级别没有人员的则跳转下一级别);但也有部分审批与组织层级无关,这部分更简单,直接设置固定审批人或者条件设置审批人就可以了。
- 特殊处理就如前文说的条件跳转或者流程退回,这根据管理制度设定指定处理人就可以了。
2)字段权限:字段在不同节点,对应不同处理人增删改查的权限;例如同一个字段,业务员节点无法填写,主管节点允许填写,职能部门节点不允许填写但允许查看,或者同一个表单在不同节点看到和可以操作的字段都完全不一样。
三、表单
1. 表单构成
表单内容一般由基本信息、逻辑主体、补充说明三部分构成:
- 基本信息:基本就是常规信息,差不多每个表单都会用到的,例如:发起人、发起组织、发起时间等身份标识,与业务相关的客户基本信息或者合同基本信息等。
- 逻辑主体:流程的主要部分,相当于流程的详细描述,涉及逻辑交互、数据交互等,比如合同具体成交的业务类型、费用、数量、付款和回款信息等。
- 补充说明:作为逻辑主体没有表达清楚的补充说明,例如备注、说明、附件等让相关人员将表单没表达清楚的部分表达清楚。
2. 字段设置
字段设置个性化、灵活性越高,流程引擎能面向的用户则更广,能达到的管理要求也更高。
1)字段排版排序:字段排版、排序要符合用户使用习惯,有逻辑关联的字段要放一起,不要隔开;例如:客户姓名后放了一堆合同信息,最后又放一个客户地址,这样填写和审批都不方便,打乱使用者思维;合理的排序在数据列表展示或导出时都省事不少,表单在使用过程中会不断优化调整,优化后的字段页面上也要及时取消,避免增加页面空值字段。
2)字段查看权限:有的字段比如上传的附件资料,不允许某些节点处理人查阅,则会限制查看。
3)字段编辑权限:不是所有字段在所有节点都允许编辑,所以要根据字段的数据管理要求来设置字段在不同节点的编辑属性。
4)字段留痕:字段修改和留痕关联,重要的字段修改后如果找不到修改人只有系统背锅。有的字段在员工节点填写后,上级节点需要再确认修改;或者流程已结束再修改字段内容的情况就需要将修改痕迹保留下来;留痕就是日志,需要考虑痕迹的重要性,如果重要性不高的字段就不必设置留痕,浪费服务器空间。
5)字段只读:自动填充的关联数据有的能修改,有的不能修改,如果有只读这个控制开关便能更好管理,默认情况应该将自动填充的关联数据都设置只读;设置了只读的字段,一定要关闭必填属性,否则当关联数据空值或者关联失败时,用户是无法提交表单的,设计者应该避免犯这种常规错误。
6)修改字段值:很多流程结束后但需要修改页面内容,需要考虑是否允许不通过节点,直接更改页面表单值,如果允许直接修改已有值,那必须得留痕;但应该尽量避免这种情况,如果直接修改已有值会让流程规范变得更难,使用者对于规范会越来越不重视。
3. 关联数据
1)页面字段数据:表单除了要手动输入的数据外,还有很多数据是由其他表单关联过来的;选择关键字段后会自动带出关联数据,有的表单可能一个字段都不填,打开流程所有数据都自动填充了;有的数据也只需要选择关键字段就自动填充;常规人事、行政审批对数据串联要求不高,但财务或者业务,逻辑关联性较强,涉及数据多,数据串联就变得非常重要。
2)流程相关数据:除了自动填充表单字段数据外,还要将影响审批判断但表单上没有的数据体现出来,便于审批;例如项目请款,同一个合同所有的请款历史、项目信息都应该展示出来,让审批人能快速做审批判断。
4. 常规功能
- 导入:表单内容一般是手动填写,但有的表单会涉及到数据特别多的情况,就需要导入、导出,特别是财务的账款清单之类的。
- 导出:同样的数据但不同场景有不同的格式要求,要允许设置不同格式的导出模板,以适用不同情况。
- 打印:表单数据大多要打印,添加打印快捷方式,节省用户时间。
上述大概就是我整理的关于工作流引擎流程表单的相关内容,有的部分是关联的但拆开说会显得有点重复,还请见谅,没有想起的内容后面想到再做补充。
本文作者 @Rabbit 。
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!