2

タイプに応じてケースの解決方法が異なる多くのケース詳細エンティティがあります。ケース解決タイプを選択すると、詳細フォームを非アクティブにし、子ワークフローを呼び出して、所有しているケースを解決できます。ただし、所有しているケースに未解決のアクティビティがある場合は、もちろん解決されません。所有しているケースからオープン アクティビティの数を取得してワークフローで使用する方法はありますか。

4

1 に答える 1

2

ワークフローは count などの集計関数をサポートしていないため、親ケースで進行中の活動の数を維持するためのロジックを追加する必要があります。ケースのアクティビティ数を維持するために私が考えることができる最良の方法は、アクティビティの作成後/状態変更後/削除前に実行されるプラグインを作成して、それらがケースに関連しているかどうかを確認することです。 、RetrieveMultiple 要求を CRM Web サービスに実行して、親ケースに属するアクティビティの総数をカウントし、(Web サービスを介して) 親ケースのカスタム アクティビティ カウント フィールドをアクティビティの総数で更新します。

これが完了すると、ケース ワークフローで親ケースのアクティビティ カウントを使用できるようになります。Web サービスの呼び出しには、削除が発生する前に同期的に実行する必要があるため、特に削除時に少し時間がかかるため、これによりパフォーマンス ヒットが発生します。終了したアクティビティを追跡する必要があるため、削除が頻繁に発生することはあまりありません。必要に応じて、おそらく post プラグインを非同期で実行するように設定できます。それらの直接的なパフォーマンス ヒットは見られませんが、非同期プラグインがワークフローのように起動するまで待つ必要があります。適切に設計されていれば、これらすべてを 1 つのプラグインで 3 つのステップ (イベントごとに 1 つ) で達成できます。

于 2011-09-16T15:04:37.003 に答える