本文介绍了工作流中流程挂起的原因、常见场景、核心处理思路、解决方案及其他扩展。流程挂起常因无满足条件的转移导致,常见场景包括审批节点已完成但流程挂起、路由节点卡住。处理时需分析流程定义和属性文件,注意版本差异。根本解决方案是修改并重新发布流程,临时方案可修改流程变量数据后撤销挂起。此外,还讨论了工作流保护机制和流程变量不一致的问题。
一:报错详解
1、判断流程挂起 - 在工作流监控中 - 流程属性可以查看到流程状态是 ‘已挂起’状态
2、挂起报错 - 【**{***}没有满足条件的转移】
在挂起的节点 - 后续所有的连接弧都没有满足条件。工作流判断不知道往哪个连接弧方向流走故报此错。
二:常见场景
场景一:流程在 审批/人工 节点有 √ - 的标识。
有些客户经常走入误区 - 看上面审批节点的状态是 ‘已完成’呀,而且审批意见也出来但是流程怎么就挂起了呢??? -- bug吧 - 然后就直接提单了 - 【实际查看错误日志存在错误日志 - 没有满足条件的转移】
场景二:流程在卡在 路由 节点卡住不动,也没有标识 - 流程不往下走 - 也没有其他节点闪动
三:核心处理思路
【核心要点】遇到挂起的流程
可以先按照右面连接取到对应文件先分析 - 取 当前单据运行 的【流程定义文件】 和 【流程属性文件】分析
特别注意:一定要取 当前单据运行 的【流程定义文件】 和 【流程属性文件】分析
原因:流程存在版本的概念 - 经常有客户走入误区 - 看着自己BOS工具里的流程定义和当前的流程属性文件对比分析
怎么看,怎么看就是没有问题,怎么回事 bug吧!!! -( PS:抓脑阔,脑壳疼)
流程存在版本的概念:也即每次在BOS工具中发布完流程 - 对应后台流程的版本都会 +1,单据提交默认是走最新版本的流程定义。
那么就会存在 -其实当前问题的单据流程是在 n 版本的流程,但是BOS里的流程又是 n+1版本的流程,找不到问题就很正常
(PS :用前朝的剑斩本朝的官呀 - 哟嚯嚯嚯~ )
分析对比步骤见下图:
四:解决方案
根本解决方案:
1、按照上述方式分析检查可知为流程定义问题 - 连接弧配置有问题
2、需要重新修改流程之后发布
3、新提交的单据 -进新版本流程 就不会有问题了
临时解决方案:
场景:客户某些单据很重要 - 不能重新做单进流程 -或者有大领导审批了不好重新再让领导审批
1、按照附件文档《修改正在运行的流程变量的方案.docx》临时修改流程变量数据
2、修复完数据后 - 在撤销挂起 >> 流程属性 - 撤销挂起
五:其他扩展
1、工作流 - 没有满足条件的转移 - 自身的保护机制
这类报错 - 只对节点后面存在 两条以上 的连接弧 - 才会判断挂起,当节点后面只有一条连接弧时,实际后面的条件判断不满足条件也会正常往下走的。
-- 原因: 一般客户流程都非常庞大 - 新建一个流程耗时较大。当存在相同配置较多的情况,工作流是支持流程的复制然后修改流程配置的。但是修改起来也比较复杂,粗心的客户有些连接弧会忘了修改 - 所以才有以上机制。
2、上面这个没有满足条件的转移我分析了。但是我的问题是 - 我单据上明明填的是 A ,但是流程变量怎么是B呢???
BUG吧 。这类问题分析 后续其他文章补充。
修改正在运行的流程变量的方案.docx(78.99KB)