Xrm.Page.data.process (クライアント側の参照)
公開日: 2017年1月
対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
Xrm.Page.data.process 名前空間では、フォームの業務プロセス フローのデータを操作するためのイベント、メソッド、およびオブジェクトを提供します。
フォームの業務プロセス フローのコントロールを操作するメソッドについては、「Xrm.Page.ui.process (クライアント側の参照)」を参照してください。
Xrm.Page.data.process メソッド
ActiveProcess メソッド
getActiveProcess を使用してアクティブなプロセスに関する情報を取得し、setActiveProcess を使用して異なるプロセスをアクティブ プロセスとして設定します。ProcessInstance メソッド
getProcessInstances を使用して、エンティティ レコードに対するすべてのプロセス インスタンスに関する情報を取得し、setActiveProcessInstance を使用して、プロセス インスタンスをアクティブなインスタンスとして設定します。ActiveStage メソッド
getActiveStage を使用してアクティブ ステージに関する情報を取得し、setActiveStage を使用して完了したステージをアクティブ ステージとして設定します。別のエンティティ内のステージに対して setActiveStage を使用できます。
getActivePath
このメソッドを使用して、現在アクティブ パスにあるステージのコレクションを取得します。業務プロセス フローのコントロールに表示されているステージを操作するメソッドと共に使用します。アクティブ パスは、分岐ルールとレコードの最新のデータに基づいてプロセス コントロールで現在表示されているステージを表します。
getEnabledProcesses
このメソッドを使用して、ユーザーが切り替えることのできるエンティティの有効な業務プロセス フローを非同期で取得します。getSelectedStage
このメソッドを使用して、現在選択されているステージにアクセスします。イベント ハンドラーを管理するメソッド
addOnStageChange、removeOnStageChange、addOnStageSelected、removeOnStageSelected、addOnProcessStatusChange、removeOnProcessStatusChange メソッドを使用して、業務プロセス フローのコントロールのイベント ハンドラーを追加または削除します。ナビゲーション メソッド
moveNext を使用して次のステージに移動し、movePrevious を使用して前のステージに移動します。別のエンティティ内の以前のステージに対して movePrevious を使用できます。
プロセス メソッド
プロセス メソッドを使用して、プロセスのプロパティにアクセスします。インスタンス メソッド
現在の各プロセス インスタンスのメソッドを使用して、現在のプロセス インスタンスのプロパティにアクセスします。ステージ メソッド
ステージ メソッドを使用して、業務プロセス フローのステージのプロパティにアクセスします。ステップ メソッド
ステップ メソッドを使用して、業務プロセス フローのステージに含まれるステップのプロパティにアクセスします。
ActiveProcess メソッド
getActiveProcess を使用してアクティブなプロセスに関する情報を取得し、setActiveProcess を使用して異なるプロセスをアクティブ プロセスとして設定します。
getActiveProcess
アクティブなプロセスを表す Process オブジェクトを返します。
var activeProcess = Xrm.Page.data.process.getActiveProcess();
戻り値
種類: プロセス備考: 返されるプロセスのプロパティにアクセスするメソッドについては、「プロセス メソッド」を参照してください。
setActiveProcess
Processをアクティブ プロセスとして設定します。
プロセスのアクティブなインスタンスがある場合、エンティティ レコードはインスタンス ID とともに読み込まれます。 現在のプロセスのアクティブなインスタンスがない場合、新しいプロセス インスタンスが作成され、エンティティ レコードがインスタンス ID とともに読み込まれます。 現在のプロセスの複数のインスタンスがある場合、レコードは既定値設定ロジックごとのアクティブなプロセスの最初のインスタンスとともに読み込まれ、これはユーザーごとの最近使用したプロセス インスタンスになります。
Xrm.Page.data.process.setActiveProcess(processId, callbackFunction);
パラメーター:
processId
種類 :String備考: アクティブなプロセスとするプロセスの ID。
callbackFunction
種類:Function備考: 操作が完了したときに呼び出す関数。 このコールバック関数には、操作が成功したかどうかを示すために次のいずれかの文字列値が渡されます。
値
説明
success
操作が成功しました。
invalid
processId が有効でないか、プロセスが有効になっていません。
ProcessInstance メソッド
getProcessInstances を使用して、エンティティ レコードに対するすべてのプロセス インスタンスに関する情報を取得し、setActiveProcessInstance を使用して、プロセス インスタンスをアクティブなインスタンスとして設定します。
注意
これらのメソッドは、Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) で導入されました。
getProcessInstances
呼び出し元ユーザーがアクセス権を持っているエンティティ レコードのすべてのプロセス インスタンスを返します。
Xrm.Page.data.process.getProcessInstances(callbackFunction(object));
パラメーター
種類 :Function備考: コールバック関数は、キー : 値のペアとして次の属性を持つオブジェクトおよび対応する値に渡されます。
CreatedOn
ProcessDefinitionID
ProcessDefinitionName
ProcessInstanceID
ProcessInstanceName
StatusCodeName
プロセス インスタンスは、ユーザーの特権に基づいてフィルター処理されます。
setActiveProcessInstance
アクティブなインスタンスとしてプロセス インスタンスを設定します。
Xrm.Page.data.process.setActiveProcessInstance(processInstanceId, callbackFunction);
パラメーター:
processInstanceId
種類 :String備考: アクティブなプロセスとして設定するプロセス インスタンスの ID。
callbackFunction
種類 :Function備考: 操作が完了したときに呼び出す関数。 このコールバック関数には、操作が成功したかどうかを示すために次のいずれかの文字列値が渡されます。
値
説明
success
操作が成功しました。
invalid
processInstanceId が有効でないか、プロセスが有効になっていません。
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 の表すステージが有効でない場合、そのステージはアクティブにならず、コールバック関数には理由を示す文字列値が渡されます。 次の表は、返される可能性のある値の一覧示します。
値
理由
invalid
この値が返される可能性がある理由は次の 3 つです。
stageId パラメーターが存在しないステージの ID 値である。
アクティブ ステージが選択したステージではない。
レコードがまだ保存されていない。
unreachable
ステージが異なるパスに存在します。
dirtyForm
この値は、ページ内のデータが保存されない場合に返されます。
重要
このメソッドを使用できるのは、選択したステージとアクティブ ステージが同じである場合のみです。d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange からコードを開始すると、現在のステージが選択されます。d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_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()
戻り値
種類: ステージ現在選択されているステージ。
- 備考
返されたステージのプロパティにアクセスするメソッドについては、「ステージ メソッド」を参照してください。
イベント ハンドラーを管理するメソッド
これらのメソッドを使用して、業務プロセス フローのコントロールのイベント ハンドラーを追加または削除します。
addOnStageChange
このメソッドを使用して、d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChangeのイベント ハンドラーとして関数を追加し、業務プロセス フローのステージが変更されるときに呼び出されるようにします。
Xrm.Page.data.process.addOnStageChange(handler);
パラメーター
種類: 関数参照Remarks: その関数は、イベント ハンドラー パイプラインの一番下に追加されます。 実行コンテキストは、イベント ハンドラーに渡す最初のパラメーターとして自動的に設定されます。 詳細については、「実行コンテキスト (クライアント側の参照)」を参照してください。
後でイベント ハンドラーを削除する場合は、匿名関数ではなく、名前付き関数への参照を使用する必要があります。
removeOnStageChange
このメソッドを使用して、d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChangeのイベント ハンドラーである関数を削除します。
Xrm.Page.data.process.removeOnStageChange(handler);
パラメーター
種類: 関数参照Remarks: 匿名関数が addOnStageChange メソッドを使用して設定されている場合、このメソッドを使用して削除することはできません。
addOnStageSelected
このメソッドを使用して、d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelectedのイベント ハンドラーとして関数を追加し、業務プロセス フローのステージが選択されるときに呼び出されるようにします。
Xrm.Page.data.process.addOnStageSelected(handler);
パラメーター
種類: 関数参照Remarks: その関数は、イベント ハンドラー パイプラインの一番下に追加されます。 実行コンテキストは、イベント ハンドラーに渡す最初のパラメーターとして自動的に設定されます。 詳細については、「実行コンテキスト (クライアント側の参照)」を参照してください。
後でイベント ハンドラーを削除する場合は、匿名関数ではなく、名前付き関数への参照を使用する必要があります。
removeOnStageSelected
このメソッドを使用して、d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelectedのイベント ハンドラーである関数を削除します。
Xrm.Page.data.process.removeOnStageSelected(function reference);
パラメーター
種類: 関数参照Remarks: 匿名関数が addOnStageSelected メソッドを使用して設定されている場合、このメソッドを使用して削除することはできません。
addOnProcessStatusChange
このメソッドを使用して、d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange イベントのイベント ハンドラーとして関数を追加し、業務プロセス フローの状態が変更されるときに呼び出されるようにします。
Xrm.Page.data.process.addOnProcessStatusChange(handler);
パラメーター
種類: 関数参照Remarks: その関数は、イベント ハンドラー パイプラインの一番下に追加されます。 実行コンテキストは、イベント ハンドラーに渡す最初のパラメーターとして自動的に設定されます。 詳細については、「実行コンテキスト (クライアント側の参照)」を参照してください。
後でイベント ハンドラーを削除する場合は、匿名関数ではなく、名前付き関数への参照を使用する必要があります。
このメソッドは、Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) で導入されました。
removeOnProcessStatusChange
このメソッドを使用して、d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange イベントのイベント ハンドラーである関数を削除します。
Xrm.Page.data.process.removeOnProcessStatusChange(handler);
パラメーター
種類: 関数参照Remarks: 匿名関数が addOnProcessStatusChange メソッドを使用して設定されている場合、このメソッドを使用して削除することはできません。
このメソッドは、Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) で導入されました。
ナビゲーション メソッド
moveNext を使用して次のステージに移動し、movePrevious を使用して前のステージに移動します。 これらのいずれのメソッドでも、d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChangeが発生します。
moveNext
次のステージに進みます。
Xrm.Page.data.process.moveNext(callbackFunction);
パラメーター
種類: 関数備考: 操作が完了したときに呼び出す任意の関数。 このコールバック関数には、操作が成功したかどうかを示すために次のいずれかの文字列値が渡されます。
値
説明
success
操作が成功しました。
crossEntity
次のステージは別のエンティティ用です。
end
アクティブ ステージはアクティブ パスの最後のステージです。
invalid
選択したステージがアクティブ ステージと同じではないため、操作が失敗しました。
dirtyForm
この値は、ページ内のデータが保存されない場合に返されます。
重要
このメソッドを使用できるのは、選択したステージとアクティブ ステージが同じである場合のみです。d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange からコードを開始すると、現在のステージが選択されます。d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected からコードを開始する際、Xrm.Page.data.process.getActiveStage を使用して選択したステージがアクティブ ステージでもあることを確認する必要があります。 その他すべてのフォーム イベントでは、どのステージが現在選択されているかを判断することはできません。 最善の結果を得るには、OnStageSelected イベントと OnStageChange イベントによって開始される関数で呼び出されるコードでのみ、このメソッドを使用する必要があります。
movePrevious
前のステージに移動します。 別のエンティティ内の以前のステージに対して movePrevious を使用できます。
Xrm.Page.data.process.movePrevious(callbackFunction);
パラメーター
種類: 関数備考: 操作が完了したときに呼び出す任意の関数。 このコールバック関数には、操作が成功したかどうかを示すために次のいずれかの文字列値が渡されます。
値
説明
success
操作が成功しました。
crossEntity
前のステージは別のエンティティ用です。
beginning
アクティブ ステージはアクティブ パスの最初のステージです。
invalid
選択したステージがアクティブ ステージと同じではないため、操作が失敗しました。
dirtyForm
この値は、ページ内のデータが保存されない場合に返されます。
重要
このメソッドを使用できるのは、選択したステージとアクティブ ステージが同じである場合のみです。d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange からコードを開始すると、現在のステージが選択されます。d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected からコードを開始する際、Xrm.Page.data.process.getActiveStage を使用して選択したステージがアクティブ ステージでもあることを確認する必要があります。 その他すべてのフォーム イベントでは、どのステージが現在選択されているかを判断することはできません。 最善の結果を得るには、OnStageSelected イベントと OnStageChange イベントによって開始される関数で呼び出されるコードでのみ、このメソッドを使用する必要があります。
注意
このメソッドを使用して、別のエンティティのステージに戻ることができます。
プロセス メソッド
プロセスには、業務プロセス フローのデータが含まれます。 これらのメソッドを使用して、プロセスのプロパティにアクセスします。
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();
戻り値
種類:Boolean備考: 使用されているフォームが Microsoft Dynamics 365 の以前のバージョンからアップグレードされており、新しいフォームを使用するようアップグレードされていない場合、業務プロセス フローのコントロールは表示できません。詳細:TechNet: Microsoft Dynamics CRM 2013 または Microsoft Dynamics CRM Online 2013 年秋にフォームを更新
インスタンス メソッド
プロセス インスタンスには業務プロセス フローのインスタンスのデータが含まれます。 これらのメソッドを使用して、プロセス インスタンスのプロパティにアクセスします。
注意
このインスタンス メソッドは、Dynamics 365 用 2016 年 12 月の更新プログラム (オンラインおよび設置型) で導入されました。
getInstanceId
プロセス インスタンスの一意識別子を返します。
Xrm.Page.data.process.getInstanceId();
戻り値
種類 :String備考: 値は、GUID 値を示す文字列を表します。
getInstanceName
プロセス インスタンスの名前を返します。
Xrm.Page.data.process.getInstanceName();
- 戻り値
種類 :String
getStatus
プロセス インスタンスの現在の状態を返します。
Xrm.Page.data.process.getStatus();
戻り値
種類 :String備考: このメソッドは、次の文字列値のいずれかを返します。active、aborted、finished。
setStatus
アクティブなプロセス インスタンスの現在の状態を設定します。
Xrm.Page.data.process.setStatus(status, callbackFunction);
パラメーター:
status
種類 :String備考: 値は active、aborted、または finished になります。
callbackFunction
種類 :Function備考: 操作が完了したときに呼び出す任意の関数。 このコールバック関数は、文字列値として新しい状態に渡されます。
ステージ メソッド
ステージには、業務プロセス フローのステージのデータが含まれます。 これらのメソッドを使用して、ステージのプロパティにアクセスします。
getCategory
業務プロセス フロー カテゴリの整数値を返す getValue メソッドを持つオブジェクトを返します。
var stageCategoryNumber = stageObj.getCategory().getValue();
戻り値
種類:Number備考: 可能性のある値のリストについては、「afe17a4a-fdca-44b4-8c14-a19ba327662e#BKMK_StageCategory」を参照してください。
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 属性の 6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_RequiredLevel メソッドで変更できる値との間に関連付けはありません。
関連項目
業務プロセス フローのスクリプトを作成する
Xrm.Page.ui.process (クライアント側の参照)
クライアント側のプログラミング リファレンス
フォーム スクリプトの簡易参照
Microsoft Dynamics 365 フォームのコードを記述する
Xrm.Page オブジェクト モデルの使用
サンプル: Xrm.Page.data.process.getEnabledProcesses
サンプル: Xrm.Page.data.process.getActivePath
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 著作権