【工作流】重新指定执行人后流程仍然是挂起状态
场景描述:
1、职员用户zj005提交费用报销单流程后,将用户zj005删除;“审批1”节点的参与人审批不同意后,流程回到提交节点,此时流程挂起;
2、在工作流监控中,管理员将提交节点的参与人重新指定执行人为Emily_003,如下图所示,任务已分配给Emily_003,但流程仍然是挂起状态。
查看错误日志,显示原因是: participants not found
分析解答:
该问题已有补丁解决,补丁号:
EAS 8.5:PT151911(流程中心,发布日期:2020-10-30;依赖工作流管理平台的补丁PT153604,发布日期也是2020-10-30)
EAS 8.2:PT159384(工作流管理,发布日期:2021-07-12)
临时解决方案:
重新指定执行人之后,流程仍然挂起的问题,可以通过如下方式进行修复。
方案一:通过修复流程数据及跳转等方式让流程继续往下走
---- 1. 查询流程实例ID(“流程编码”可以在工作流监控 - 流程属性页面获取;高版本中,这个页面也会显示流程实例ID;低版本中该界面不显示流程实例ID,只显示流程编码)
select * from T_WFR_PROCINST where fcode = '流程编码xxx'
---- 2. 更新这个流程实例的状态为“运行中”
UPDATE T_WFR_PROCINST set FSTATE = 'open.running' where FPROCINSTID = '这里输入上步中查出来的流程实例内码'
----3. 在活动实例表中查出有问题的这个节点,然后获取活动实例内码
SELECT * FROM T_WFR_ACTINST where FPROCINSTID ='这里输入上步中查出来的流程实例内码' order by FCREATEDTIME desc
如下图所示,有问题的节点为“人工0618”节点,其状态为“已阻塞”,是否初始化为“未初始化”:
---- 4. 更新这个活动实例的状态为“未开始”、是否初始化为“初始化”
update T_WFR_ACTINST set FINITED = 1 ,FSTATE = 'open.not_running.not_started' where FACTINSTID='这里输入上步中查出来的有问题的那个活动实例内码'
----5. 修复后,流程状态、节点状态都正确了,此时Emily_003的用户进入消息中心处理待办任务,就可以提交单据了。
----6. 但是重新指定的执行人提交单据之后,流程停住了不往下走,也没有节点闪动,也没有生成错误日志
查看表T_WFR_PROFILE的数据(如下脚本可以查下),生成的指令数据有问题,但是这个表的数据没办法修,可以使用跳转的方式跳转到审批1节点。
SELECT * FROM T_WFR_PROFILE where FPROCINSTID = '流程实例内码' order by FTIME desc
跳转之后,流程就正常了,审批1节点在闪动,且参与人可以正常审批了。
方案二:终止流程,再由新的职员用户重新提交单据。
说明:这种方式会生成新的流程实例,各节点的参与人无法看到上一个流程实例的审批意见!
【工作流】重新指定执行人后流程仍然是挂起状态
本文2024-09-16 22:20:17发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-47496.html