ワークフロー プロセスの作成と管理に関するベスト プラクティス
このトピックは、Dynamics 365 Customer Engagement (on-premises) に適用されます。 このトピックの Power Apps バージョンについては、以下を参照してください。 ワークフロー プロセスに関するベスト プラクティス
このトピックは、ワークフロー プロセスの作成と管理のためのベスト プラクティスを紹介します。
無限ループの回避
無限ループを開始する、ワークフローのロジックを作成する可能性があります。無限ループは、サーバーのリソースを消費し、パフォーマンスに影響を及ぼします。 無限ループが発生する可能性のある一般的な状態は、属性が更新されたときに開始し、ワークフローのロジックでその属性を更新するように構成されている、ワークフローがある場合です。 更新アクションがレコードを更新する同じワークフローをトリガーし、ワークフローを何回も反復して開始します。
作成するワークフローには、無限ループを検出して停止するためのロジックが含まれます。 ワークフロー プロセスが、短時間に特定のレコードに対して一定の回数を超えて実行されると、次のエラーでそのプロセスは失敗します。このワークフロー ジョブは、それを開始したワークフローに無限ループが含まれるので取り消されます。ワークフロー ロジックを修正して、もう一度やり直してください。 回数の上限値は 16 です。
ワークフロー テンプレートの使用
同様なワークフローが存在し、同じパターンに従ったワークフローをさらに作成する予定の場合、ワークフローをワークフロー テンプレートとして保存します。 このように、同様なワークフローを次回作成する必要があるときに、テンプレートを使用してワークフローを作成すれば、一からすべての条件とアクションを入力する必要がなくなります。
プロセスの作成ダイアログで、既存テンプレートからのプロセスの新規作成 (一覧から選択) を選択します。
子ワークフローの使用
別のワークフローでまたは条件分岐で同じロジックを適用する場合、ロジックを子ワークフローと定義すると、各ワークフローまたは条件分岐でそのロジックを手動で複製する必要がなくなります。 これにより、ワークフローの維持が容易になります。 同じロジックが適用される可能性のある複数のワークフローを調べる代わりに、1 つのワークフローをただ更新すればよいだけです。
少数のログを維持
ディスク領域を節約するには、このデータを保存するがなければ、エラーが発生したワークフロー ジョブのログを保持するチェック ボックスをオフにします。
同じエンティティを更新するワークフローの数を制限する
同じエンティティを更新するワークフローが複数実行していると、リソース ロック問題が発生することがあります。 各営業案件の更新プログラムが関連取引先企業に対して更新をトリガーしている状況で実行している複数のワークフローを考えてみてください。 同時に同じ取引先企業レコードを更新するよう、実行および試行するこれらのワークフローの複数のインスタンスにリソース ロック問題が発生する場合があります。 ワークフローの失敗が発生しSQL タイムアウト: リソース リソース名でロックが取得できませんなどのエラー メッセージが記録されます。
変更の追跡にメモを使用
ワークフローを編集するときは、[メモ] タブを使用して、実行した内容と実行した理由を入力する必要があります。 これにより、加えた変更を他のユーザーが理解することができます。