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 に答える