我有一个分成许多不同分支的过程。业务要求是,在任何步骤中,流程都必须发送回流程发起人进行更正和重新批准。
我知道可以在每个步骤结束时使用网关逻辑,并让流程以这种方式返回到开头;但是,这会在流程中添加许多行和分支,因此难以阅读。我认为另一种方法是简单地中止流程并根据现有流程中的信息重新启动 - 这似乎更易于维护。
这些都不会太难实现,但我想知道是否有更简单的方法来实现这一目标。我没有多少信号处理,但有没有办法利用它来回到过程的前一步?
根据@Kris Verlaenen的建议,它创建了以下示例流程。
我首先将所有可能跳过的步骤放入嵌入式子流程中。返回,拒绝和取消信号是从调色板的“边界事件”选项卡添加的。当该过程等待Supervisor或Manager批准完成时,您可以发送任一信号返回第一步或跳转到过程结束。
答案 0 :(得分:2)
使用事件子流程可以让您在每次事件发生时触发流程的某些部分(可能是信号,错误等)。
使用带有边界事件的嵌入式子流程可能会有所帮助,因为这样您只需要将边界事件的grom链接到开始,并且每当子流程内发生信号/错误时,边界事件都可以赶上这个。你甚至可以让它中断,这意味着它会取消子流程中的任何内容,基本上重置你正在做的事情。