3

我有一个分为许多不同分支的过程。业务要求是,在任何步骤,流程都必须发送回流程发起者进行更正和重新批准。

我知道可以在每个步骤结束时使用网关逻辑,并让流程以这种方式返回开始;但是,这会在流程中添加许多行和分支,从而难以阅读。我在想实现这一点的另一种方法是简单地中止进程并根据现有进程中的信息重新启动 - 这似乎更易于维护。

这两个都不会太难实现,但我想知道是否有更简单的方法来实现这个目标。我没有太多使用信号,但是有没有办法利用它返回到流程中的上一步?

开始编辑解决方案

根据@Kris Verlaenen 的建议,它创建了下面的示例流程。

嵌入式过程和信号示例

我首先将所有可以跳过的步骤放入嵌入式子流程中。Return、Rejection 和 Cancel 信号是从面板的 Boundary Events 选项卡中添加的。在流程等待主管或经理批准完成时,您可以发送任一信号以返回第一步或跳至流程结束。

4

1 回答 1

2

使用事件子流程可以让您在每次事件发生时触发流程的某些部分(可能是信号、错误等)

使用带有边界事件的嵌入式子流程可能会有所帮助,因为这样您只需将该边界事件链接回开始,并且每当子流程内部发生信号/错误时,边界事件就可以捕获它。你甚至可以让它中断,这意味着它也会取消子流程中的任何东西,基本上重置你正在做的事情。

于 2015-03-26T21:49:34.990 回答