8

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

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

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

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

4

2 回答 2

8

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

这里需要注意的重要一点是,一个工作流可以执行多次,此时系统中的数据可能不同。Crm 缓存工作流的状态,但不缓存数据。Microsoft Dynamics CRM 2011 的流程架构对此进行了描述。

因此,每次检查进程超时条件时,都会使用当前值warrantyEndDate。如果值更改,则下次检查条件时将使用新值。

在任何情况下,正如@BenPatterson1 所建议的那样,您最好只是进行测试以确定。

于 2012-08-08T18:28:00.073 回答
4

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

如果满足条件,则继续下一步或继续等待。

于 2012-08-08T20:09:15.137 回答