業務プロセス フローのスクリプトを作成する

 

公開日: 2016年11月

対象: Dynamics CRM 2015

Microsoft Dynamics CRM 2015 および Microsoft Dynamics CRM Online 2015 更新プログラムには、スクリプトの業務プロセス フローとの対話に使用できるクライアント側のオブジェクトがあります。Xrm.Page.data 名前空間は、Xrm.Page.data.processのメソッドを含むように拡張されています。Xrm.Page.ui 名前空間は、Xrm.Page.ui.processのメソッドを含むように拡張されています。

このトピックの内容

業務プロセス フローの構造

自動化できるアクション

業務プロセス フローのイベント

業務プロセス フローの構造

業務プロセス フローは、それぞれいくつかのステップを含む一連のステージによって構成されています。 1 つのステージのみがアクティブ ステージです。 ステージに含まれる必須のステップが完了すると、プロセスは次のステージに進み、それがアクティブ ステージになります。 次のステージは、以下の図に示すように、業務プロセス フローの条件に基づいて定義できます。

業務プロセス フロー オブジェクト

ステージは、特定の関連エンティティに関連付けることができます。したがって、業務プロセス フローは複数のエンティティにまたがることができます。 ビジネス プロセスに変化はなく、ユーザーを適切な最終処理に導きます。詳細:TechNet: 業務プロセス フロー

自動化できるアクション

通常、業務プロセスの進行状況は、ユーザーの入力によって決まります。 開発者は、フォーム スクリプトで同じ操作をプログラム的に実行できます。

  • エンティティで使用できるプロセスが複数ある場合は、プロセスを変更します。
    Xrm.Page.data.process.getEnabledProcessesを使用して、ユーザーがエンティティのために選択できる、有効なプロセスに関する情報を取得します。 次に、Xrm.Page.data.process.setActiveProcessを使用して、いずれかの有効なプロセスをアクティブにします。

  • 必要なすべてのステップが完了したら、次のステージに移動し、そのステージを現在のアクティブ ステージにします。
    Xrm.Page.data.process.moveNextの使用

  • 前のステージに移動し、そのステージを現在のアクティブ ステージにします。
    Xrm.Page.data.process.movePreviousの使用

  • ステージを選択し、そのステージに含まれるステップの状態を表示します。
    Xrm.Page.data.process.getActivePathを使用して、完了したステージ、現在のアクティブ ステージ、現在のアクティブ ステージから使用可能な有効なステージに関する情報を取得します。 このステージに含まれるステップを確認し、対応するフォームの属性値と比較して、ステップが完了したかどうかを判断します。

  • ステップを完了します
    フォームの対応するデータが入力されると、ステップは完了します。 ステップの getAttribute メソッドを使用すると、属性を判別できます。 これは、属性の論理名を返します。 次に、Xrm.Page.getAttribute を使用して、Xrm.Page.data.entity.attributes コレクションから属性を取得し、属性の setValue メソッドを使用して値を設定します。

  • ステップが必要かどうかを検出します
    ステップの isRequired メソッドを使用して、業務プロセス フローでステップが必要かどうかを判断します。

  • 業務プロセス フローのコントロールを展開または折りたたむ
    Xrm.Page.ui.process.setDisplayStateの使用

また、ユーザーは実行できないものの、開発者は実行できる操作があります。

  • プロセス コントロールを非表示にします
    **Xrm.Page.ui.process.**1468bab0-f6b3-4320-a60c-a88c9d4fcf1f#BKMK_setVisible を使用すると、業務プロセス フローのコントロールを表示するかどうかを制御できます。

  • 有効な完了したステージにスキップします。
    Xrm.Page.data.process.setActiveStage を使用して、現在のエンティティに対する有効な完了したステージの 1 つを設定します。

  • 現在表示されていないステージを含むプロセスの定義をクエリします。
    Xrm.Page.data.process.getActiveProcess を使用して、業務プロセス フローの定義をクエリします。プロセスの分岐ロジックのために表示されていないステージも含みます。

業務プロセス フローのイベント

業務プロセス フローでは、フォームで提供される任意のイベントを操作できますが、新しい 2 つのイベントでは、業務プロセス フローのコントロールのイベントに基づいてのみコードを実行できます。 業務プロセス フローのアクティブ ステージが変更されるか (OnStageChange イベント)、ステージが選択されるときに (OnStageSelected イベント)、コードを実行できます。

これらの新しいイベントのいずれにも、イベント ハンドラーを登録するユーザー インターフェイスはありません。 フォームの OnLoad イベントでこれらのイベントのハンドラーを追加または削除するには、提供されているメソッドを使用する必要があります。詳細:業務プロセス フローのコントロール イベント

関連項目

Xrm.Page オブジェクト モデルの使用
Xrm.Page.data.process (クライアント側の参照)
サンプル: Xrm.Page.data.process.getEnabledProcesses
サンプル: Xrm.Page.data.process.getActivePath
業務プロセス フローのコントロール イベント
TechNet: 業務プロセス フロー

© 2017 Microsoft. All rights reserved. 著作権