我创建了许多短流程,这些短流程作用于单个SharePoint列表项以降低复杂性,但是我遇到了它们执行顺序的问题。我想我可以用一个例子来最好地解释一下,所以请看下面:
假设有三个流程, SetTitle , SetPermissions 和 SendEmail (在列更改后根据新值发送电子邮件)。理想情况下, SetPermissions 首先运行,然后运行 SendEmail ,最后运行 SetTitle ,因为它修改了该项。这种修改是一个问题,因为它向“版本历史记录”中添加了一个版本,我正在检查 SendEmail 流以查看列的值是否已更改。
但是,当前, SetTitle 有时会首先运行,这会中断 SendEmail ,因为现在最新替换的版本不包含两个版本之前发生的列更改记录
我想避免在项目中创建其他列来跟踪列更改或发送的电子邮件,因为我们正在创建这些流程来避免这种混乱的复杂性。
我希望某个地方有一些隐藏的执行顺序选项,因为正如我所说,我真的不想创建额外的列或基于HTTP调用触发流。当然,我现在正在做的事情没有用,所以我知道我可能不得不妥协。
答案 0 :(得分:0)
我认为您正在寻找的不是可能。
我知道您说过您不想创建更多的列,但是我能想到的唯一解决方案仅需要创建1个额外的列。使用它以正确的顺序运行流。
例如,如果有两个流:f1和f2,则将新列的默认值设置为0(然后将其称为“ stage”)。然后,向f1添加一个条件,以便它仅在stage为0,并将列更新为1。然后f2还具有初始条件检查,并且仅在'Stage'为'1'并且将'Stage'设置为'2'时运行。
希望这会有所帮助。