# 流程环节参与者未找到使用手册
流程环节在启动前流程引擎会对环节配置的参与者解析,解析出参与者且参与者存在时则正常启动该活动并对参与者分配工作项。当未解析出参与者或参与者不存在时则会根据参与者未找到策略进行逻辑处理。
# 参与者未找到策略
当流程环节解析参与者未找到时(下文会对参与者未找到的几个场景做说明),流程引擎会根据环节参与者未找到策略配置进行相应处理,共有4个策略可配置(拒绝前序活动提交、自动跳过、任务转交指定人员、监控异常)其中默认为拒绝前序活动提交。
# 1、拒绝前序活动提交
拒绝前序活动提交策略为参与者未找到时则抛出异常信息。
如下图设置人工活动1参与者后,配置未找到参与者时策略为拒绝前序活动提交。
再将所设置参与者禁用来模拟未找到参与者场景
发起流程查看是否可以正常提交。如下图会抛异常且拒绝提交。
# 2、自动跳过
自动跳过策略为参与者未找到时则跳过该活动实例,即创建活动实例但不创建工作项,直接完成该活动实例。注意:自动跳过策略不支持多工作项场景。
如下图,设置人工活动1未找到参与者时策略为自动跳过。配置参与者后再禁用来模拟未找到参与者场景。
发起流程查看是否可以正常提交。如下图会提交成功,且人工活动1的活动实例创建并自动完成。
# 3、任务转交指定人员
任务转交指定人员策略为参与者未找到时则根据该配置项所选择的参与者进行任务分配。
如下图,设置人工活动1未找到参与者时策略为任务转交指定人员,并配置选择的参与者(参与者为单选)
发起流程,并查看人工活动1启动创建的工作项参与者是否为test6。(分配工作项参与者为test6,由于配置的参与者稀饭粥被禁用,所以找不到参与者,引擎会根据参与者未找到策略配置的指定参与者进行分配)
# 4、监控异常
监控异常策略为参与者未找到时,则根据解析参与者时为空还是创建工作项时参与者未找到两种场景不同,生成两种类型的异常工作项信息。
如下图,设置人工活动1未找到参与者时策略为监控异常。
发起流程,参与者稀饭粥未找到不会报错,该流程正常创建人工活动1的活动实例和工作项,但参与者信息为空。且创建异常工作项信息。
引擎管理—异常管理中可以查看到参与者未找到配置监控异常的异常活动实例信息。异常类型有两类:工作项异常、活动实例异常。
工作项异常:当根据参与者配置解析出参与者,但参与者不存在时,则会创建活动实例和工作项信息,不创建参与者信息。可根据详情查看异常参与者信息。
活动实例异常:当根据参与者配置解析出参与者为空时,只创建活动实例,不创建工作项和参与者信息。活动实例异常详情中无异常参与者信息。
异常管理中可针对异常的活动实例、工作项进行异常处理,如下图,可重新分配参与者。支持多选
处理异常重新分配参与者后,该活动实例参与者则为重新分配的参与者。如下图,重新分配的参与者登陆,在待办查看。
# 是否解析非叶子节点
在引擎解析配置的参与者为非叶子节点(role、org、workgroup类型)时,会根据bps引擎中配置文件application-bps.properties中bps.workitem.parse.leaf.participant值是否为true,该配置为创建工作项时是否解析非叶子节点参与者,默认为false。当配置开关为true,且配置的非叶子节点下没有参与者时,则认为该活动实例未找到参与者,根据未找到参与者配置逻辑进行对应处理。
如下图,人工活动1配置参与者为角色(体验用户),该角色下没有绑定员工,且引擎配置文件配置bps.workitem.parse.leaf.participant=true,配置未找到参与者策略为拒绝前序活动提交
发起流程,报错拒绝前序活动提交,由于非叶子节点下不存在叶子节点。
当引擎配置文件配置bps.workitem.parse.leaf.participant=false或未配置该配置项时,引擎将不解析非叶子节点参与者下是否存在叶子节点,直接分配工作项给非叶子节点。