navigateTo (クライアント API 参照)

指定されたテーブル リスト、テーブル レコード、HTML Web リソース、またはカスタム ページに移動します。

注意

このメソッドは、統一インターフェイス上でのみサポートされます。

構文

Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);

パラメーター

件名 必要 Description
pageInput Object はい 移動するページについて入力します。 pageInput パラメーター を参照
navigationOptions Object いいえ ページに移動するためのオプション: インラインで開くか、またはダイアログで開くか。 このパラメーターを指定しない場合、ページは既定でインラインで開かれます。
successCallback function いいえ インラインで移動してページへの移動が成功した時、およびダイアログに移動する場合、ダイアログを閉じる時に実行する関数。
errorCallback Function いいえ 処理が失敗したときに実行する関数。

pageInput パラメーター

オブジェクト定義は、移動先のページの種類に応じて変わります: エンティティ リストエンティティ レコードダッシュボードHTML Web リソース、またはカスタムページ

エンティティ リスト

エンティティ リスト オブジェクトには、次の値が含まれています。

件名 タイプ Description
pageType String entitylist を指定します。
entityName String リスト コントロールに読み込むテーブルの論理名。
viewId String (オプション) 読み込むビューの ID。 指定しない場合は、テーブルの既定のメイン ビューに移動します。
viewType String (オプション) 読み込むビューのタイプ。 savedqueryまたはuserqueryを指定します。

エンティティ レコード

エンティティ レコード オブジェクトには、次の値が含まれています。

件名 タイプ Description
pageType String entityrecord を指定します。
entityName String フォームを表示するテーブルの論理名。
entityId String (オプション) フォームを表示するテーブル レコードの ID。 この値を指定しない場合、フォームは作成モードで開かれます。
createFromEntity 参照 (オプション) マップした列の値に基づいて既定値を提供するレコードを指定します。 ルックアップ オブジェクトには、entityType、ID、名前 (オプション) などの文字列プロパティがあります。
data Object (オプション) 追加のパラメーターをフォームに渡すディクショナリ オブジェクト。

このパラメータは、新しいフォームに設定されたデフォルト値を持つテーブル列 (フォームに渡されたパラメーターを使用して列の値を設定する を参照してください)、または formContext.data.attributes を使用してフォームでアクセスされるカスタム パラメータ (カスタム クエリ文字列パラメーターを受け入れるようにフォームを構成する、と formContext.data をご覧ください) にすることができます。 パラメーターが無効の場合、エラーが発生します。

formId String (オプション) 表示するフォーム インスタンスの ID。
isCrossEntityNavigate ブール型 (オプション) クロステーブル ビジネス プロセス フローを使用して、フォームに別のテーブルから移動されるかどうかを示します。
isOfflineSyncError ブール型 (オプション) オフライン同期エラーがあるかどうかを示します。
processId String (オプション) フォームに表示するビジネス プロセス プロセスの ID。
processInstanceId String (オプション) フォームに表示するビジネス プロセス インスタンスの ID。
relationship Object (オプション) フォームに関連レコードを表示する関係オブジェクトを定義します。 リレーションシップ を参照してください。
selectedStageId String (オプション) ビジネス プロセス インスタンスで選択したステージの ID。
tabName String (オプション) フォームのタブにフォーカスを設定します。
関係オブジェクト

関係オブジェクトは、エンティティ レコードで使用され、次の値が含まれます。

件名 タイプ Description
attributeName String 関連付けに使用される列の名前。
name String リレーションシップの名前です。
navigationPropertyName String この関係のナビゲーション プロパティの名前。
relationshipType 回数 リレーションシップ タイプ。 次のいずれかの値を指定します: 0:OneToMany、1:ManyToMany。
roleType 回数 リレーションシップのロール タイプ。 次のいずれかの値を指定します: 1:Referencing、2:AssociationEntity。

ダッシュボード

ダッシュボード オブジェクトには、次の値が含まれています。

件名 タイプ Description
pageType String dashboard を指定します。
dashboardId String ロードするダッシュボードの ID。 ID を指定しない場合は、規定のダッシュボードに移動します。

HTML Web リソース

HTML Web リソースには、次の値が含まれています。

件名 タイプ Description
pageType String webresource を指定します。
webresourceName String 読み込む Web リソースの名前。
data String (オプション) Web リソースに渡すデータ。

カスタム ページ

カスタム ページ オブジェクトには、次の値が含まれています。

件名 タイプ Description
pageType String custom を指定します。
name String 開くカスタムページの論理名です。
entityName String (オプション) Param("entityName") を介してカスタム ページで使用できるようにするテーブルの論理名です。
recordId String (オプション) Param("recordId") を介してカスタム ページで使用できるようにするテーブル レコードの ID。

navigationOptions オブジェクトには、次の値が含まれています。

件名 タイプ Description
target 回数 インラインでページを開くには 1 を指定し、ダイアログでページを開くには 2 を指定します。
また、残りの値 (幅、高さ、位置) は、この値に 2 を指定した (ダイアログでページを開く) 場合にのみ有効です。
: エンティティ リストはインラインでのみ開くことができます。エンティティ レコードと Web リソースは、インラインまたはダイアログで開くことができます。
width 数値またはオブジェクト (オプション) ダイアログの幅。 ピクセル単位で幅を指定するには、数値を入力するだけです。 パーセンテージで幅を指定するには、次のプロパティを持つ種類のオブジェクト SizeValue を指定します。
- value: 数値タイプの数値。
- unit: 文字列型の測定単位。 %またはpxを指定します。 既定値は px
height 数値またはオブジェクト (オプション) ダイアログの高さ。 ピクセル単位で高さを指定するには、数値を入力するだけです。 パーセンテージで幅を指定するには、次のプロパティを持つ種類のオブジェクト SizeValue を指定します。
- 値: 数値タイプの数値。
- 単位: 文字列型の測定単位。 %またはpxを指定します。 既定値は px
position 回数 (オプション) 中央にダイアログを開くには 1 を指定し、端にダイアログを開くには 2 を指定します。 既定は 1 (中央) です。
title String (オプション) 中央または側面のダイアログの上部にあるダイアログのタイトル。

戻り値

Promise を返します。 Promise の解決時に渡される値は、ターゲットに依存しています。

  • inline: Promise はすぐに解決され、値を返しません。

  • dialog: ダイアログを閉じるときに Promise が解決されます。 pageType = entityRecord で、作成モードでフォームを開いたときにのみ、オブジェクトは渡されます。 オブジェクトには、作成されるテーブル レコードを識別するための以下のプロパティと共に savedEntityReference 配列があります。

    • entityType: テーブルの論理名。
    • id: レコードの GUID 値を表す文字列。
    • name: 表示または作成されるレコードのプライマリ列値。

例 1: アカウント リストを開く

var pageInput = {
    pageType: "entitylist",
    entityName: "account"
};
Xrm.Navigation.navigateTo(pageInput).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

例 2: ダイアログ内で既存のアカウント レコードを開く

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    entityId: "5a57f2c3-5672-ea11-a812-000d3a339706" //replace with actual ID
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

例3: ダイアログ内の作成モードでアカウント フォームを開く

var pageInput = {
    pageType: "entityrecord",
    entityName: "account"    
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success(result) {
            console.log("Record created with ID: " + result.savedEntityReference[0].id + 
            " Name: " + result.savedEntityReference[0].name)
            // Handle dialog closed
    },
    function error() {
            // Handle errors
    }
);

例4: ダイアログで HTML Web リソースを開く

var pageInput = {
    pageType: "webresource",
    webresourceName: "new_sample_webresource.htm"
};
var navigationOptions = {
    target: 2,
    width: 500, // value specified in pixel
    height: 400, // value specified in pixel
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Xrm.Navigation
カスタムページへの移動とカスタムページからの移動 (プレビュー)

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。