# 分支规则和分支聚合问题排查与解决手册
# 1. 分支条件判断问题
问题描述:在流程分支中如何做字符串包含的逻辑?
解决方案:
1、 在表单中添加一个自定义字段的组件(不会保存到数据库的表中),只用来保存字符串包含判断的结果。
2、 在表单提交前事件中,做字符串包含逻辑判断,判断结果赋值给上一步定义的自定义字段的组件。
3、 在对应流程中,添加业务规则,判断自定义字段组件的值。比如:"yes" 表示确实包含。
![分支规则]()
4、 为需要分支判断的流程分支绑定业务规则
![分支规则]()
# 2. 分支条件规则不生效
问题描述:下拉框选择字典‘是否判断’,分支规则选择业务资源右值为 是或者Y 都只走默认分支。
解决方案:
1、 由于数据库中存在大小写不同的两个字典项(
BFP_YESORNO和bfp_yesorno)导致的。2、 将小写的字典
bfp_yesorno删除,只保留初始化的BFP_YESORNO便可正常判断分支条件。
# 3. 多路聚合环节未启动
- 问题描述:多路聚合满足条件的连线走完了,还是没有启动当前聚合环节。
- 原因分析:多路聚合活动必须等到它的所有满足条件的前驱活动全部完成才可以触发,包括默认连线和连线条件为"true"的前驱活动分支。
- 解决方案: 检查是否有其中一根默认线或为true的线未走,导致不触发聚合。
# 4. 多路聚合流程流转错误
问题描述:多路聚合流程审批,小组长审批之后,部门主管回退到小组长,小组长再次审批后,到不了部门主管了,找不到审批人了,流程状态为运行,但是审批人为无。
![多路聚合]()
原因分析: 聚合环节没有再次启动是正确的,分析如下:
1、聚合模式是多路聚合,满足条件的分支,必须都聚合,聚合环节才能启动;
2、从聚合环节回退到某一个前驱活动,之前走过的线都不算数。聚合需要重新计算;
即使回退后的前驱活动完成了,但还有一个满足条件的前驱活动没有执行,不满足聚合节点启动的条件,所以聚合环节没有启动起来。
解决方案: 回退后提交策略不要选择按流程提交,建议选择跳转提交。
![回退提交策略]()



