CRM2011工作流程:如果在工作流程启动后更新工作流程条件中使用的字段,会发生什么?

时间:2012-08-08 15:19:31

标签: dynamics-crm dynamics-crm-2011

示例:假设我的工作流程在保修期限结束前2天发送电子邮件。 此工作流程在实体的“创建”中触发。

step 1: wait condition - process timeout < (warrantyendate - 2)
     after wait: send email.

因此,在创建记录时,将启动工作流程。但是当用户返回并更新保修期限时会发生什么。

工作流程是否检查更新的保修期限或是否仍然使用触发时输入的结束日期(即创建值的初始值)?

2 个答案:

答案 0 :(得分:8)

我的理解是工作流程在执行时使用系统中的数据。

这里要注意的重要一点是工作流程可以多次执行,在这些时候系统中的数据可能不同。 Crm缓存工作流的状态,但不缓存数据。 Process Architecture for Microsoft Dynamics CRM 2011描述了这一点。

因此,每次检查过程超时条件时,它将使用warrantyEndDate的当前值。如果更改了值,则下次检查条件时将使用新值。

无论如何,正如@ BenPatterson1建议的那样,你可能最好只是测试以确定。

答案 1 :(得分:4)

自己尝试后,如果条件中包含的字段值发生变化,则工作流引擎会从睡眠状态(等待)启动并再次检查该条件。

如果符合条件,则继续下一步或继续等待。