クライアント API を使用してダイアログでメイン フォームを開く

クライアント API を使用してダイアログでメイン フォームを開くには、 Xrm.Navigation.navigateTo メソッドを呼び出します。 Xrm.Navigation.navigateTo API メソッドは、サイズや位置など、いくつかのオプションを含むダイアログを開きます。

Note

Xrm.Navigation.openForm メソッドでは、メイン フォームをダイアログとして開く機能はサポートされていません。

例 対象
新しいレコードを開く 幅がウィンドウの 50% の中央揃えダイアログで新しいアカウント フォームを開く方法。
既存のレコードを開く ID を指定して、中央揃えのダイアログで既存の取引先企業レコードを開く方法。
サイド ペインで新しいレコードを開く 幅が 500 ピクセルの右側のダイアログで新しいアカウントを作成するフォームを開く方法。
コールバック メソッドを使用してダイアログでメイン フォームを開く 新しいレコードを保存してダイアログを閉じた後にコールバックを実行し、保存されたレコードの ID と名前にアクセスする方法。

新しいレコードの例を開く

この例では、ダイアログが新規レコードを作成する新たな取引先企業のフォームを開きます。 ダイアログは、呼び出されたフォームまたは呼び出し元のフォームの上に、使用可能なウィンドウの最大 50% をモーダルとして使用して、中央にポップアップ表示されます。

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    formType: 2,
};
var navigationOptions = {
    target: 2,
    width: {value: 50, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);

モデル駆動型アプリの中央のモーダル ダイアログで開かれた新しいアカウント フォームのスクリーンショット。

既存のレコードの例を開く

この例では、コンタクトフォームのアカウントID値を使用して、既存のアカウントレコードを開きます。 ID を任意のレコード ID 値に置き換えて、ダイアログでレコードを開きます。

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    formType: 2,
    entityId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" //replace with actual ID
};
var navigationOptions = {
    target: 2,
    width: {value: 80, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);

連絡先フォーム上のモーダル ダイアログで開かれた既存のアカウントレコードのスクリーンショット。

サイド ウィンドウで新しいレコードを開く例

この例では、ダイアログ ウィンドウの右隅で新しいレコードを開きます。 この動作は、ピクセル オプションを使用して実現できます。

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    formType: 2,
};
var navigationOptions = {
    target: 2,
    width: {value: 500, unit:"px"},
    position: 2
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);

ウィンドウの右側にあるサイド ペイン ダイアログで開かれた新しいアカウント フォームのスクリーンショット。

コールバック メソッドを使用してダイアログでメイン フォームを開く例

この例では、レコードを保存してダイアログを閉じた後、コールバック メソッドを使用してメイン フォーム ダイアログを呼び出す方法を示します。

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    formType: 2
};
var navigationOptions = {
    target: 2,
    width: {value: 80, unit:"%"},
    position: 2
};
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
    }
);

フォームの作成および設計
モデル駆動型アプリのフォームをカスタマイズする
Xrm.Navigation.navigateTo