他的回复:
你好,原则上来说,SLA是不应该影响主流程的运行的,只能提升紧急程度,发送邮件提醒等处理。如果一定要改变影响流程,1)目前有变通办法就是: a)在当前人工任务后增加一个排他网关,判断某个变量值决定走不同的分支; b) 在sla中选择action为调用脚本,在脚本中调用bp.newTaskClient().complete(taskInsID, outcome, variables)自动完成当前任务,其中outcome 是表示任务的完成结果,默认是complete,输入的outcome值会在系统变量$BP.TaskOutcome中,在前面提到的流程排他网关中,可以判断这个变量来觉得流程走向。这个outcome值业务可以根据需要取值,不如审批通过"Approved", 拒绝“Rejected”等。 variables是用来给变量赋值的,可以不填。TaskInsID,需要根据传入的bpm实例id($Flow.MainID)进行查询, 就是根据bp实例id,查询这个bp实例下的活动任务的idlet curTasks = bp.newInstanceClient().queryTasks(bpInsID, ["New"])curTasks[0].id 就是当前任务id。2) 这个根据超时决定流程走向分支的属于正常业务流程,后续可以用边界事件来实现。目前边界事件正在开发中,预计第三季度发布。 如果采用边界事件,流程图如下: