Xrm.Page.data.process (クライアント側の参照)

 

公開日: 2016年11月

対象: Dynamics CRM 2015

Microsoft Dynamics CRM 2015 および Microsoft Dynamics CRM Online 2015 更新プログラム では、Xrm.Page.data.process 名前空間は、フォームの業務プロセス フローのデータを操作するためのイベント、メソッド、およびオブジェクトを提供します。

フォームの業務プロセス フローのコントロールを操作するメソッドについては、「Xrm.Page.ui.process (クライアント側の参照)」を参照してください。

Xrm.Page.data.process メソッド

  • ActiveProcess メソッド
    getActiveProcess を使用してアクティブなプロセスに関する情報を取得し、setActiveProcess を使用して異なるプロセスをアクティブ プロセスとして設定します。

  • ActiveStage メソッド
    getActiveStage を使用してアクティブ ステージに関する情報を取得し、setActiveStage を使用して完了したステージをアクティブ ステージとして設定します。

    Microsoft Dynamics CRM Online 2015 更新プログラム 1 では、別のエンティティ内のステージに対して setActiveStage を使用できます。

  • getActivePath
    このメソッドを使用して、現在アクティブ パスにあるステージのコレクションを取得します。業務プロセス フローのコントロールに表示されているステージを操作するメソッドと共に使用します。

    アクティブ パスは、分岐ルールとレコードの最新のデータに基づいてプロセス コントロールで現在表示されているステージを表します。

  • getEnabledProcesses
    このメソッドを使用して、ユーザーが切り替えることのできるエンティティの有効な業務プロセス フローを非同期で取得します。

  • getSelectedStage
    Microsoft Dynamics CRM Online 2015 更新プログラム 1 で追加されたとき、このメソッドを使用して、現在選択されているステージにアクセスします。

  • イベント ハンドラーを管理するメソッド
    addOnStageChange、removeOnStageChange、addOnStageSelected、および removeOnStageSelected メソッドを使用して、業務プロセス フローのコントロールのイベント ハンドラーを追加または削除します。

  • ナビゲーション メソッド
    moveNext を使用して次のステージに移動し、movePrevious を使用して前のステージに移動します。

    Microsoft Dynamics CRM Online 2015 更新プログラム 1 では、別のエンティティ内の以前のステージに対して movePrevious を使用できます。

  • プロセス メソッド
    プロセス メソッドを使用して、プロセスのプロパティにアクセスします。

  • ステージ メソッド
    ステージ メソッドを使用して、業務プロセス フローのステージのプロパティにアクセスします。

  • ステップ メソッド
    ステップ メソッドを使用して、業務プロセス フローのステージに含まれるステップのプロパティにアクセスします。

ActiveProcess メソッド

getActiveProcess を使用してアクティブなプロセスに関する情報を取得し、setActiveProcess を使用して異なるプロセスをアクティブ プロセスとして設定します。

getActiveProcess

アクティブなプロセスを表す Process オブジェクトを返します。

var activeProcess = Xrm.Page.data.process.getActiveProcess();
  • 戻り値
    種類: プロセス

    備考: 返されるプロセスのプロパティにアクセスするメソッドについては、「プロセス メソッド」を参照してください。

setActiveProcess

Processをアクティブ プロセスとして設定します。

Xrm.Page.data.process.setActiveProcess(processId, callbackFunction);

パラメーター:

  • processId
    種類:String

    備考: アクティブなプロセスとするプロセスの ID。

  • callbackFunction
    種類:Function

    備考: 操作が完了したときに呼び出す関数。 このコールバック関数には、操作が成功したかどうかを示すために次のいずれかの文字列値が渡されます。

    説明

    success

    操作が成功しました。

    invalid

    processId が有効でないか、プロセスが有効になっていません。

ActiveStage メソッド

getActiveStage を使用してアクティブ ステージに関する情報を取得し、setActiveStage を使用して異なるステージをアクティブ ステージとして設定します。

getActiveStage

アクティブなステージを表す Stage オブジェクトを返します。

var activeStage = Xrm.Page.data.process.getActiveStage();
  • 戻り値
    種類: ステージ

    備考: 返されるステージのプロパティにアクセスするメソッドについては、「ステージ メソッド」を参照してください。

setActiveStage

完了したステージをアクティブ ステージとして設定します。

注意

Microsoft Dynamics CRM Online 2015 更新プログラム 1 では、別のエンティティ内のステージに対して、このメソッドを使用できます。

エンティティに対して完了したステージのみを、このメソッドを使用して設定できます。

Xrm.Page.data.process.setActiveStage(stageId, callbackFunction);

パラメーター:

  • stageId
    種類:String

    備考: アクティブ ステージにするエンティティの完了したステージの ID。

  • callbackFunction
    種類:Function

    備考: 操作が完了したときに呼び出す任意の関数。

    操作が正常に完了すると、コールバック関数には、success の文字列値が渡されます。

    stageId の表すステージが有効でない場合、そのステージはアクティブにならず、コールバック関数には理由を示す文字列値が渡されます。 次の表は、返される可能性のある値の一覧示します。

    理由

    crossEntity

    ステージは、現在のエンティティに対するステージである必要があります。

    invalid

    この値が返される可能性がある理由は次の 3 つです。

    • stageId パラメーターが存在しないステージの ID 値である。

    • アクティブ ステージが選択したステージではない。

    • レコードがまだ保存されていない。

    unreachable

    ステージが異なるパスに存在します。

    dirtyForm

    この値は、ページ内のデータが保存されない場合に返されます。

    重要

    このメソッドを使用できるのは、選択したステージとアクティブ ステージが同じである場合のみです。OnStageChange イベント からコードを開始すると、現在のステージが選択されます。OnStageSelected イベント からコードを開始する際、Xrm.Page.data.process.getActiveStage を使用して選択したステージがアクティブ ステージでもあることを確認する必要があります。 その他すべてのフォーム イベントでは、どのステージが現在選択されているかを判断することはできません。 最善の結果を得るには、OnStageSelected イベントと OnStageChange イベントによって開始される関数で呼び出されるコードでのみ、このメソッドを使用する必要があります。

getActivePath

このメソッドを使用して、現在アクティブ パスにあるステージのコレクションを取得します。業務プロセス フローのコントロールに表示されているステージを操作するメソッドと共に使用します。

アクティブ パスは、分岐ルールとレコードの最新のデータに基づいてプロセス コントロールで現在表示されているステージを表します。

var stageCollection = Xrm.Page.data.process.getActivePath();

例:

このメソッドを使用したサンプルについては、「サンプル: Xrm.Page.data.process.getActivePath」を参照してください。

  • 戻り値
    種類: コレクション

    Remarks: すべての完了したステージ、現在アクティブなステージ、および分岐ルールの条件に基づいて予測される今後の一連のステージのコレクションです。 状況によっては、**Xrm.Page.data.process.**getActiveProcess によって返されるステージのサブセットとなります。これは、プロセスで発生する分岐に基づき、現在のステージからの有効な遷移を表すステージのみを含むからです。

getEnabledProcesses

このメソッドを使用して、ユーザーが切り替えることのできるエンティティの有効な業務プロセス フローを非同期で取得します。

Xrm.Page.data.process.getEnabledProcesses(callbackFunction(enabledProcesses));
  • パラメーター
    種類:Function

    備考: このコールバック関数は、ディクショナリ プロパティを持つオブジェクトを含むパラメーターを受け入れる必要があります。プロパティの名前は業務プロセス フローの ID であり、プロパティの値は業務プロセス フローの名前です。

    有効なプロセスは、ユーザーの特権に基づいてフィルター処理されます。 プロセスを手動で変更する場合、有効なプロセスのリストは、ユーザーが UI で表示できるものと同じです。

    例:

    このメソッドを使用したサンプルについては、「サンプル: Xrm.Page.data.process.getEnabledProcesses」を参照してください。

getSelectedStage

このメソッドを使用して、現在選択されているステージに到達します。

Xrm.Page.data.process.getSelectedStage()
  • 戻り値
    種類: ステージ

    現在選択されているステージ。

  • 備考
    このメソッドが Microsoft Dynamics CRM Online 2015 更新プログラム 1 に追加されました。

    返されたステージのプロパティにアクセスするメソッドについては、「ステージ メソッド」を参照してください。

イベント ハンドラーを管理するメソッド

これらのメソッドを使用して、業務プロセス フローのコントロールのイベント ハンドラーを追加または削除します。

addOnStageChange

このメソッドを使用して、OnStageChange イベントのイベント ハンドラーとして関数を追加し、業務プロセス フローのステージが変更されるときに呼び出されるようにします。

Xrm.Page.data.process.addOnStageChange(handler);
  • パラメーター
    種類: 関数参照

    Remarks: その関数は、イベント ハンドラー パイプラインの一番下に追加されます。 実行コンテキストは、イベント ハンドラーに渡す最初のパラメーターとして自動的に設定されます。 詳細については、「実行コンテキスト (クライアント側の参照)」を参照してください。

    後でイベント ハンドラーを削除する場合は、匿名関数ではなく、名前付き関数への参照を使用する必要があります。

removeOnStageChange

このメソッドを使用して、OnStageChange イベントのイベント ハンドラーである関数を削除します。

Xrm.Page.data.process.removeOnStageChange(handler);
  • パラメーター
    種類: 関数参照

    Remarks: 匿名関数が addOnStageChange メソッドを使用して設定されている場合、このメソッドを使用して削除することはできません。

addOnStageSelected

このメソッドを使用して、OnStageSelected イベントのイベント ハンドラーとして関数を追加し、業務プロセス フローのステージが選択されるときに呼び出されるようにします。

Xrm.Page.data.process.addOnStageSelected(handler);
  • パラメーター
    種類: 関数参照

    Remarks: その関数は、イベント ハンドラー パイプラインの一番下に追加されます。 実行コンテキストは、イベント ハンドラーに渡す最初のパラメーターとして自動的に設定されます。 詳細については、「実行コンテキスト (クライアント側の参照)」を参照してください。

    後でイベント ハンドラーを削除する場合は、匿名関数ではなく、名前付き関数への参照を使用する必要があります。

removeOnStageSelected

このメソッドを使用して、OnStageSelected イベントのイベント ハンドラーである関数を削除します。

Xrm.Page.data.process.removeOnStageSelected(function reference);
  • パラメーター
    種類: 関数参照

    Remarks: 匿名関数が addOnStageSelected メソッドを使用して設定されている場合、このメソッドを使用して削除することはできません。

ナビゲーション メソッド

moveNext を使用して次のステージに移動し、movePrevious を使用して前のステージに移動します。 これらのいずれのメソッドでも、OnStageChange イベントが発生します。

moveNext

次のステージに進みます。

Xrm.Page.data.process.moveNext(callbackFunction);
  • パラメーター
    種類: 関数

    備考: 操作が完了したときに呼び出す任意の関数。 このコールバック関数には、操作が成功したかどうかを示すために次のいずれかの文字列値が渡されます。

    説明

    success

    操作が成功しました。

    crossEntity

    次のステージは別のエンティティ用です。

    end

    アクティブ ステージはアクティブ パスの最後のステージです。

    invalid

    選択したステージがアクティブ ステージと同じではないため、操作が失敗しました。

    dirtyForm

    この値は、ページ内のデータが保存されない場合に返されます。

重要

このメソッドを使用できるのは、選択したステージとアクティブ ステージが同じである場合のみです。OnStageChange イベント からコードを開始すると、現在のステージが選択されます。OnStageSelected イベント からコードを開始する際、Xrm.Page.data.process.getActiveStage を使用して選択したステージがアクティブ ステージでもあることを確認する必要があります。 その他すべてのフォーム イベントでは、どのステージが現在選択されているかを判断することはできません。 最善の結果を得るには、OnStageSelected イベントと OnStageChange イベントによって開始される関数で呼び出されるコードでのみ、このメソッドを使用する必要があります。

movePrevious

前のステージに移動します。Microsoft Dynamics CRM Online 2015 更新プログラム 1 では、別のエンティティ内の以前のステージに対して movePrevious を使用できます。

Xrm.Page.data.process.movePrevious(callbackFunction);
  • パラメーター
    種類: 関数

    備考: 操作が完了したときに呼び出す任意の関数。 このコールバック関数には、操作が成功したかどうかを示すために次のいずれかの文字列値が渡されます。

    説明

    success

    操作が成功しました。

    crossEntity

    前のステージは別のエンティティ用です。

    beginning

    アクティブ ステージはアクティブ パスの最初のステージです。

    invalid

    選択したステージがアクティブ ステージと同じではないため、操作が失敗しました。

    dirtyForm

    この値は、ページ内のデータが保存されない場合に返されます。

重要

このメソッドを使用できるのは、選択したステージとアクティブ ステージが同じである場合のみです。OnStageChange イベント からコードを開始すると、現在のステージが選択されます。OnStageSelected イベント からコードを開始する際、Xrm.Page.data.process.getActiveStage を使用して選択したステージがアクティブ ステージでもあることを確認する必要があります。 その他すべてのフォーム イベントでは、どのステージが現在選択されているかを判断することはできません。 最善の結果を得るには、OnStageSelected イベントと OnStageChange イベントによって開始される関数で呼び出されるコードでのみ、このメソッドを使用する必要があります。

注意

Microsoft Dynamics CRM Online 2015 更新プログラム 1 では、このメソッドを使用して、別のエンティティのステージに戻ることができます。

プロセス メソッド

プロセスには、業務プロセス フローのデータが含まれます。 これらのメソッドを使用して、プロセスのプロパティにアクセスします。

getId

プロセスの一意識別子を返します。

var processId = procObj.getId();
  • 戻り値
    種類:String

    備考: 値は、GUID 値を示す文字列を表します。

getName

プロセスの名前を返します。

var processName = procObj.getName();
  • 戻り値
    種類:String

getStages

プロセスのステージのコレクションを返します。

var stageCollection = procObj.getStages();
  • 戻り値
    種類: コレクション

    返されるステージのプロパティにアクセスするメソッドについては、「ステージ メソッド」を参照してください。

isRendered

プロセスが表示されている場合は true を、そうでない場合は false を返します。

var processRendered = procObj.isRendered();

ステージ メソッド

ステージには、業務プロセス フローのステージのデータが含まれます。 これらのメソッドを使用して、ステージのプロパティにアクセスします。

getCategory

業務プロセス フロー カテゴリの整数値を返す getValue メソッドを持つオブジェクトを返します。

var stageCategoryNumber = stageObj.getCategory().getValue();

getEntityName

ステージに関連付けられているエンティティの論理名を返します。

var stageEntityName = stageObj.getEntityName();
  • 戻り値
    種類:String

getId

ステージの一意識別子を返します。

var stageId = stageObj.getId();
  • 戻り値
    種類:String

getName

ステージの名前を返します。

var stageName = stageObj.getName();
  • 戻り値
    種類:String

getStatus

ステージの状態を返します。

var stageStatus = stageObj.getStatus();
  • 戻り値
    種類:String

    備考: このメソッドは、active または inactive を返します。

getSteps

ステージのステップのコレクションを返します。

var stepsCollection = stageObj.getSteps();
  • 戻り値
    種類:Array

    ステップのプロパティ値にアクセスするメソッドについては、「ステップ メソッド」を参照してください。

ステップ メソッド

ステップには、業務プロセス フローのステージに含まれるステップのデータが含まれます。 これらのメソッドを使用して、ステップのプロパティにアクセスします。

getAttribute

ステップに関連付けられている属性の論理名を返します。

var stepAttributeName = stepObj.getAttribute();
  • 戻り値
    種類:String

    備考: ステップには、属性の値を含まないものもあります。

getName

ステップの名前を返します。

var stepName = stepObj.getName();
  • 戻り値
    種類:String

isRequired

業務プロセス フローでそのステップが必須かどうかを返します。

var stepIsRequired = stepObj.isRequired();
  • 戻り値
    種類:Boolean

    備考: 業務プロセス フローのエディターでステップが必須としてマークされている場合は true を返し、その他の場合は false を返します。 この値と、Xrm.Page.data.entity 属性の RequiredLevel メソッドで変更できる値との間に関連付けはありません。

関連項目

業務プロセス フローのスクリプトを作成する
Xrm.Page.ui.process (クライアント側の参照)
クライアント側のプログラミング リファレンス
フォーム スクリプトの簡易参照
Microsoft Dynamics CRM 2015 フォームのコードを記述する
Xrm.Page オブジェクト モデルの使用
サンプル: Xrm.Page.data.process.getEnabledProcesses
サンプル: Xrm.Page.data.process.getActivePath

© 2017 Microsoft. All rights reserved. 著作権