ワークフロー プロセスの使用の概要
このトピックは、Dynamics 365 Customer Engagement (on-premises) に適用されます。 このトピックの Power Apps バージョンについては、以下を参照してください。 従来の Dataverse バックグラウンド ワークフロー
ワークフローは、ユーザー インターフェイスを持たないビジネス プロセスを自動化します。 通常、ユーザーは、やり取りが不要な自動化を開始するワークフロー プロセスを使用します。
各ワークフロー プロセスは、1 つのエンティティに関連付けられます。 ワークフローの構成時に考慮する 4 つの重要な領域があります。
いつワークフローを開始するか。
リアルタイム ワークフローまたはバックグラウンド ワークフローとして動作させる必要があるか。
どのような操作を実行する必要があるか。
どのような条件の下でアクションを実行する必要があるか。
このトピックは、ワークフロー プロセスを探す方法を紹介し、それらをいつ開始するか、リアルタイムまたはバックグラウンドで実行する必要があるかどうかを説明しています。 実行する必要があるアクション、および条件の詳細については、ワークフロー プロセスの構成。
どこでワークフロー プロセスをカスタマイズしますか。
既定のソリューションのプロセスノードを表示および商品区分 ワークフローを持つプロセスをフィルター処理することによって、組織のワークフローを確認できます。
アプリが構築される方法に応じ、ユーザーはアプリ内で自分のワークフローを作成または修正することができます。
開発者は、Dynamics 365 Customer Engagement (on-premises) 開発者ガイド にある情報を使用してワークフローを作成することが可能であり、また購入するソリューションに自身で変更できるワークフローが含まれている場合があります。
ワークフロー プロパティ
ソリューション エクスプローラーで、プロセスを選択肢、新規をクリックします。
ワークフローを作成するとき、プロセスの作成ダイアログは、全プロセスが使用する次の 3 つのプロパティの設定を必要とします。
プロセス名
ワークフロー プロセスの名前は一意である必要はありませんが、多くのワークフロー プロセスの使用を予定している場合は、プロセスを明確に区別するために命名規則を使用してもかまいません。 ワークフロー名には、標準の接頭辞を適用できます。 接頭辞は、ワークフローの機能や会社の部門を示すものにできます。 これは、ワークフローの一覧にある同様な項目をグループ化するのに役立ちます。
カテゴリ
このプロパティは、これがワークフロー プロセスであることを確立します。
エンティティ
各プロセス ワークフローを単一のエンティティに設定する必要があります。 ワークフロー プロセスを作成したらエンティティは変更できません。
このワークフローをバックグラウンドで実行する (推奨)
このオプションは、カテゴリとしてワークフローを選択すると表示されます。 この設定により、ワークフローをリアルタイムとバックグラウンドのどちらのワークフローにするかが決まります。 リアルタイム ワークフローはすぐに (同期的に) 実行され、バックグラウンド ワークフローは非同期で実行されます。 使用可能な設定オプションは、ここで選択する設定によって異なります。 バックグラウンド ワークフローでは、リアルタイム ワークフローでは使用できない待機条件が使用できます。 これらの待機状態を使用していないかぎり、後で、バックグラウンド ワークフローをリアルタイム ワークフローへ、またリアルタイム ワークフローをバックグラウンド ワークフローへ変換できます。 待機状態の詳細については、"ワークフロー アクションの設定条件 を参照してください。
また、ワークフローを新規に作成するか、または既存のテンプレートから始めることを選択するかを指定するタイプオプションがあります。 既存テンプレートからのプロセスの新規作成 (一覧から選択) を選択したときは、プロセス テンプレートとして以前に保存された、利用可能なワークフロー プロセスから選択できます。
ワークフローの新規作成後、または既存のワークフローを編集した場合は、次の追加のプロパティが用意されています。
次の種類としてアクティブ化:
プロセス テンプレートを選択して、他のテンプレートの詳細な開始ポイントを作成できます。 このオプションを選択した場合、ワークフローのアクティブ化の後、タイプで既存テンプレートからのプロセスの新規作成 (一覧から選択) を選択している場合は、ワークフローは適用されず、代わりに、プロセスの作成ダイアログでの選択を使用できます。
プロセス テンプレートは、複数の同様のワークフロー プロセスがあって、同じロジックを重複させずに定義するときに便利です。
Note
プロセス テンプレートの編集によって、前にそれをテンプレートとして使用して作成したほかのワークフロー プロセスの動作が変更されることはありません。 テンプレートを使用して作成された新しいワークフローは、テンプレートのコンテンツのコピーです。
実行可能なワークフロー
このセクションには、ワークフローを実行可能にする方法を説明したオプションがあります。
このワークフローをバックグラウンドで実行する (推奨)
このチェック ボックスは、ワークフローの作成時に選択したオプションを反映しています。 このオプションは無効になっていますが、アクションメニューで、リアルタイム ワークフローに変換またはバックグラウンド ワークフローに変換を選択することによって変更できます。
オンデマンド プロセスとして
ユーザーがこのワークフローを手動で実行できるようにする場合は、このオプションを選択します。 オンデマンド プロセスは、フローの ワークフローの実行 セクションにあります。
子プロセスとして
このワークフローを別のワークフローから開始できるようにする場合は、このオプションを選択します。
ワークフロー ジョブの保持
このセクションには、ワークフローの実行が完了したら、ワークフローを削除するオプションがあります。
完了したワークフロー ジョブを自動的に削除する (ディスク容量の確保)
完了したワークフロー ジョブが自動的に削除されるようにする場合は、このオプションを選択します。
Note
ワークフロー ジョブは、完了後すぐに削除されませんが、バッチ処理を通じてできるだけすぐに削除されます。
スコープ
ユーザー所有のエンティティの場合、オプションは、組織、部署配下、部署、またはユーザーです。 組織所有のエンティティの場合、オプションは組織だけです。
スコープが組織の場合、ワークフロー ロジックは組織のすべてのレコードに適用できます。 それ以外の場合は、ワークフローはスコープに含まれるレコードのサブセットのみに適用できます。
Note
既定のスコープ値はユーザーです。 ワークフローをアクティブ化する前に、スコープ値が適切であることを確認してください。
開始時期
ワークフローをいつ自動的に開始するかを指定するには、このセクションのオプションを使用します。 リアルタイム ワークフローを、特定のイベント前に実行するように構成できます。 ワークフローは、アクションをその実行の前に停止できるので、これは非常に強力な機能です。 詳細: リアルタイム ワークフローの使用。 次のオプションがあります。
レコードの作成
レコードの状態の変更
レコードの割り当て
レコード フィールドの変更
レコードの削除
Note
ワークフローに対して定義する条件とアクションは、ワークフローがいつ実行されるかを認識してないことに注意してください。 たとえば、レコードを更新するワークフローを定義する場合、このアクションは、レコードが作成されるまでは、リアルタイム ワークフローによって実行できません。 存在しないレコードは更新できません。 同様に、バックグラウンド ワークフローは削除されたレコードは更新できません。ただし、ワークフローでこのアクションを定義することはできます。 実行できないアクションを実行するワークフローを構成した場合、そのアクションは失敗し、ワークフロー全体が機能しません。
実行時の権限
このオプションは、ワークフローの作成時にバックグラウンドの作成(推奨)、このワークフローを実行しますオプションの選択を解除した場合、またはバックグラウンド ワークフローをリアルタイム ワークフローに後で変換した場合にのみ使用できます。
ワークフロー プロセスのセキュリティ コンテキスト
バックグラウンド ワークフローがオンデマンド プロセスとして構成され、ユーザーがワークフローの実行コマンドを使用してそのワークフローを開始するとき、ワークフローが実行できるアクションは、そのユーザー アカウントのセキュリティ ロールによって定義された特権およびアクセス レベルに基づいてユーザーが実行できるアクションに制限されます。
バックグラウンド ワークフローがイベントに基づいて開始されるとき、ワークフローはそれを所有するユーザー (通常、ユーザー ワークフローを作成したユーザー) のコンテキストで実行されます。
リアルタイム ワークフローの場合、実行時の権限オプションがあり、ワークフローがワークフローの所有者のセキュリティ コンテキストを適用するか、またはレコードを変更したユーザーに適用するかを選択できます。 セキュリティ制限に基づいてすべてのユーザーが実行できないアクションがワークフローに含まれている場合、ワークフローをワークフローの所有者として実行するように選択する必要があります。
ワークフローのアクティブ化
ワークフローは、非アクティブされているときだけ編集できます。 手動の場合もイベントによって適用する場合も、ワークフローを使用するにはアクティブ化する必要があります。 ワークフローをアクティブ化できるようにするには、ワークフローにステップが 1 つ以上含まれている必要があります。 手順の設定については、ワークフロー プロセスの構成 を参照してください。
ワークフローは、ワークフローの所有者、またはシステム管理者などの別のユーザーの代理として操作の特権を持つユーザーだけがアクティブ化または非アクティブ化することができます。 この理由は、悪意のユーザーが、変更を気づかせないように、ユーザーのワークフローを変更できるからです。 所有者を変更することによって、所有するワークフローを再割り当てすることができます。 このフィールドは管理タブにあります。自分がシステム管理者ではなく、別のユーザーが所有するワークフローを編集する必要がある場合、それを非アクティブ化し、自分に割り当てることが必要です。 ワークフローの編集が終了したら、その割り当てを元に戻すことが可能であるため、それをアクティブ化することができます。
リアルタイム ワークフローでは、ユーザーはリアルタイム プロセスのアクティブ化特権を所有する必要があります。 リアルタイム ワークフローにはシステム パフォーマンスに影響する大きなリスクがあるので、潜在的リスクを評価できるユーザーだけにこの特権を付与する必要があります。
ワークフローはアクティブ化されたときに保存されます。したがって、アクティブ化する前に保存する必要はありません。