流程提交失败问题汇总
1. 简介
流程在流转的过程中可能会出现提交失败的情况,当提交失败后,管理员需要迅速定位问题来保障流程正常运行。下面为大家总结了流程提交失败的问题集锦,管理员可以根据具体情况快速定位并解决问题。
2. 提交失败问题汇总
2.1 不符合流转条件
2.1.1 问题描述
如果流程设置了数据流转条件,而提交的数据不满足流转条件时,则流程无法提交,需要修改数据至符合条件或者修改流转条件方可正常提交。
2.1.2 解决方案
当遇到「不符合流转条件」的提交失败问题时,可以按照下述方式进行问题排查处理。
1)找到提交失败的数据
进入数据管理后台 → 找到这条成员反馈提交失败的流程数据 → 点击查看数据;
怎么找到这条数据呢?比如,成员提交的这条数据的项目编号是 00001,那我们去数据管理后台筛选项目编号为 00001 的数据即可。
2)查看流程日志
流程日志里可以获取的信息:哪个节点提交失败了,失败的原因是什么。
3)看流转图
流转图里可以获取的信息:流程的版本号是多少、当前流程所处的节点、下一步即将流转到的节点。
4)查看流程版本
找到这条数据流程版本所对应的流程设计,数据里看到的版本是 V2,因此设计界面我们也要找到 V2 版本。
5)确定流转线&流转条件
示例数据里,流程日志里看到的是审批节点1提交失败,失败的原因是不符合流转条件,审批节点 1 的下一个节点为审批节点 2,也即需要检查的是两者之间的流转线设置。
如图,设置了确认项目是否完成字段为完成时才可往下流转,再去检查看成员提交的数据中该字段是否满足该条件即可。
后台数据显示该字段为「未完成」,也就是不满足条件,因此会出现提交失败的情况。
2.2 找不到下个节点负责人
2.2.1 问题描述
当流程节点未设置负责人或设置了动态负责人却查无此人,则流程提交时会显示找不到下个节点负责人,需要管理员重新设置流程节点的负责人。
如,「主管审批」节点的负责人为「发起人|直接部门主管」,但组织架构内没有对应的成员,则提交流程时找不到对应的成员,提交失败,如下图所示:
2.2.2 解决方案
当遇到「找不到下个节点负责人」的提交失败问题时,管理员可以按照下述方式进行问题排查处理。
1)找到提交失败的数据
进入数据管理后台(或数据的权限组) >> 找到这条成员反馈提交失败的流程数据 >> 点击查看数据。
怎么找到这条数据呢?比如,成员提交的这条数据是订单号 0001,那我们去数据管理后台筛选订单号为 0001 的数据即可。
2)查看流转图
点击这条数据,查看 流转图 ,找到当前流程所处节点的下一节点,即为提交失败的节点。
示例数据中,提交失败的节点为「审批节点2」,即该节点上的负责人设置中没有对应人员。
3)查看流程版本
找到这条数据流程版本所对应的流程设计,数据里流转图看到的版本是 V2,因此我们在流程设定界面我们也要找到 V2 版本。
4)修改流程节点负责人设置
注:建议开启 找不到节点负责人时 功能,当成员离职或人员变动等原因导致节点负责人为空时,可以自动将待办转给指定人员进行处理,避免对业务流程产生影响。
找到提交失败的节点,在节点属性处重新设置负责人即可。其中,若对应负责人已离职,且负责人类型为「组织架构/角色/成员」时,也可以通过在 离职成员管理 处进行工作交接的方式解决。
2.3 不符合子流程节点流入条件
2.3.1 问题描述
当子流程表单设置出现以下情形时,流程将提交失败:
- 子流程表单没有启用流程
- 子流程表单转为了普通表单
- 子流程表单被删除/失去跨应用权限
- 子流程发起人被全部离职
2.3.2 解决方案
1)当子流程表单没有启用流程时,去子流程中开启流程。
2)当子流程表单转为了普通表单时,将子流程转回流程表单,并配置好流程以及子流程与父流程之间的传递关系。
3)当子流程表单被删除/失去跨应用权限时,删除的表单可以联系商务恢复,也可以新建流程表单重新配置子流程;若失去跨应用权限,在 跨应用 处设置跨应用表单。
4)若子流程发起人被全部离职,可以在 离职成员管理 进行工作交接。
2.4 多分支流程存在循环
2.4.1 问题描述
当流程中有多个分支,且不同分支的节点间形成循环时,会出现提交某个节点后,流程会同时流入循环中的多个节点,循环中的节点相互依赖形成死锁,导致流程无法继续流转的情况。查看流程动态,如下图所示:
查看 流转图 ,根据最后提交的节点状态,分为以下两种常见场景:
2.4.1.1 场景一:多分支流出
多分支流出,即最后提交的节点上有多个即将流出的分支。多条分支即将流入的节点处于循环中,为循环节点。
比如,「流程节点」为最后提交的节点,存在「流程节点 >> 成环节点1」和「问题节点 >> 成环节点2」这两条即将流出的分支,流转线激活成功,但是节点没有被成功激活,则说明「成环节点1」和「成环节点2」为循环节点,如下图所示:
循环会同时流入循环节点,则根据循环节点「成环节点1」和「成环节点2」,可以找到闭环的流转线,如下图所示:
2.4.1.2 场景二:多循环依赖
最后提交的节点上没有激活的流出连接线,且该节点所在的循环中,有节点处于另一个循环中。
比如,「入库确认」为最后提交的节点,且流出连接线没有被激活,如下图所示:
「入库确认」节点处在循环「采购申请 >> 采购审批 >> 入库确认 >> 采购申请」的循环中,而该循环中的「采购申请」节点又处于「采购申请 >> 采购审批 >> 采购申请」循环中,如下图所示:
2.4.2 解决方案
当遇到「多分支流程存在循环」的提交失败问题时,可以按照下述方式进行问题排查处理。
2.4.2.1 解决方案一
该解决方案适用于场景一。
修改 流转条件,使得流程流向不同的节点处理流程,避免出现同时流入循环流程上的多个节点的情况。如下图所示:
2.4.2.2 解决方案二
该解决方案适用于场景一、二。
删除导致循环的连接线,使用 流程回退 功能代替向上流转的连接线。如下图所示: