クライアント 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