Dynamics CRM 2011 ワークフローの待機条件 Tips
みなさん、こんにちは。
今日は開発者の方向けの情報として、ワークフローで利用できる
待機条件に関する Tips を提供します。
ワークフローの待機条件
ワークフローの待機条件を利用すると、特定の状況が発生するまで、
一旦ワークフローを待機させることが可能です。
フィールドの値で判定
例えば以下のようにタスクの状態が完了になったらと設定すると、該当の
レコードのステータスが完了になるまでワークフローが実行されません。
実際にこのワークフローが実行されて待機状態に入ると、以下の
ように延期が 9999/12/30 8:59 に変更されています。つまり自動
的に再開はされず、レコードが更新された際に、条件に一致するか
再評価されます。
期間を利用したタイムアウトで判定
待機条件ではタイムアウトを設定することも可能です。以下のように、
前回の条件に追加して、5 分でタイムアウトするように設定します。
また 設定は動的な値の機能を利用して、期間で指定しています。
この条件でワークフローを実行すると、以下のように延期が
ワークフロー実行時間の 5 分後となります。
期間を利用したタイムアウトの注意点
上記のようなタイムアウトを設定した場合、5 分間が経過するまでに
レコードが更新されると、初めの状態の条件が満たされるか確認が
行われた際に、そこから再度 5 分間のタイムアウトが設定されます。
例えば 2 分後に先ほどのレコードの説明などを更新した場合、以下の
ように延期の指定が17:31 から17:33 に書き換えられます。
タイムアウト時間を最終更新から数えたい場合には有効ですが、
絶対値を利用してタイムアウトを設定したい場合は以下の方法を
利用できます。
絶対値を利用したタイムアウトで判定
先ほどの期間の条件を削除後、新たに以下の条件を追加しました。
今回は期間を利用せず、レコードの作成日から 5 分後を動的な値
で設定しています。
この場合ワークフロー実行時は先ほどと同じく 5 分後が設定
されますが、レコードを更新しても延期の時間は延長されません。
まとめ
Microsoft Dynamics CRM のワークフローでは様々な条件を
利用することができますが、設定によっては意図した動作に
ならない場合があります。是非こちらの記事を参考にして
いただき、ワークフローの待機条件を作成してください。
- Dynamics CRM サポート 中村 憲一郎