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