2016-09-01 12 views
0

私はいくつかのワークフローを設計しています。メインワークフローでは、子ワークフローが呼び出されます。子ワークフローが失敗した場合、一定期間待ってからその子ワークフローを再実行する必要があります。再度失敗した場合は、キューにタスクを送信します。 子ワークフローのステータスを確認する際に問題が発生しています。それが失敗すると、ステータスがキャンセルされた子ワークフローが停止します。MS CRM:子ワークフローのステータスを確認してください

答えて

0

非同期操作テーブルを照会し、子ワークフローの状態をチェックするカスタムワークフローステップを作成できます。子ワークフローの状態を取得する

問合せ:

<?xml version='1.0' encoding='utf-8'?> 
<fetch distinct='false' no-lock='false' mapping='logical' page='1' count='100'> 
    <entity name='asyncoperation'> 
    <attribute name='statuscode' /> 
    <filter type='and'> 
     <filter type='and'> 
     <condition attribute='correlationid' operator='eq' value='{Correlation ID of workflow>' /> 
     <condition attribute='name' operator='eq' value='NAME OF CHILD WORKFLOW' /> 
     </filter> 
    </filter> 
    </entity> 
</fetch> 

それはサンプルクエリだし、名前と相関IDにより子と一致します。子ワークフローへの呼び出しが1つしかない場合は機能します。

ここでは、非同期のプロセスの状態値のリストを見つけることができます:https://msdn.microsoft.com/en-us/library/gg309288.aspx

そして、メイン・ワークフロー・ステップは次のようになります。

  • コール子ワークフロー
  • にいくつかの時間を待つ
  • コールカスタム子ワークフローのステータスを確認するステップ
  • 子ステータスがokの場合 - メインで実行する
  • 障害を処理するロジックを追加しない場合
関連する問題