エンティティ フォームまたは簡易作成フォームを開きます。
ヒント
メイン フォームをダイアログとして開くには、代わりに navigateTo メソッドを使用します。 詳細情報: ダイアログでクライアント API を使用してメイン フォームを開く
構文
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);
Parameters
| 件名 | タイプ | Required | Description |
|---|---|---|---|
entityFormOptions |
Object | はい | フォームを開くためのフォーム オプション。 entityFormOptions オブジェクト を参照してください |
formParameters |
Object | いいえ | 追加のパラメーターをフォームに渡すディクショナリ オブジェクト。 パラメーターが無効な場合、エラーが発生します。 フォームにパラメータを渡す方法の詳細については、フォームに渡すパラメーターを使用して列の値を設定するおよびカスタム クエリストリング パラメーターが許可されるフォームの構成を参照してください。 |
successCallback |
Function | いいえ | レコードが簡易作成フォームに保存されたときに実行する関数。 この関数は、オブジェクトをパラメーターとして受け入れます。 オブジェクトには、表示または作成されたレコードを識別するための次のプロパティを持つ savedEntityReference 配列があります。- entityType: テーブルの 論理名です。- id: レコードの GUID 値を表す文字列。- name: 表示または作成されるレコードのプライマリ列値。メモ: - successCallback 関数は、既存のレコードまたは新しいレコードのフォームを開いたときに実行されません。- successCallback 関数は、openForm メソッドを使用して開いた簡易作成フォームにレコードを保存するときにのみ実行されます。 |
errorCallback |
Function | いいえ | 処理が失敗したときに実行する関数。 |
entityFormOptions オブジェクト
オブジェクトには、次の値が含まれています:
| 件名 | タイプ | Required | Description |
|---|---|---|---|
entityName |
String | はい | フォームを表示するテーブルの論理名。 |
entityId |
String | いいえ | フォームを表示するテーブル レコードの ID。 |
formId |
String | いいえ | 表示するフォーム インスタンスの ID。 |
cmdbar |
Bool | いいえ | コマンド バーを表示するかどうかを指定します。 このパラメーターを指定しない場合、コマンド バーは既定で表示されます。
openInNewWindow パラメータを true にする必要があります。 |
createFromEntity |
参照 | いいえ | マップされた列の値に基づいて既定値を提供するレコードを指定します。 検索オブジェクトには、以下の文字列プロパティが含まれます。entityType、id、およびname (任意)。 |
openInNewWindow |
Bool | いいえ | フォームを新しいウィンドウに表示するか、新しいタブに表示するかを示します。 true 指定し、高さまたは幅の値を指定しない場合、フォームは新しいタブに表示されます。新しいウィンドウまたは新しいタブでフォームを開くと、同じタブでフォームを開く場合と比べてフォームのレンダリングが遅くなります。代わりにメイン フォーム ダイアログでフォームを開く方法を検討してください。 このプロパティは、新しいウィンドウまたはタブで開くことができないため、クイック作成フォームでは現在サポートされていません。 |
height |
回数 | いいえ | 表示するフォーム ウィンドウの高さ (ピクセル単位)。
openInNewWindow パラメータを true にする必要があります。 |
width |
回数 | いいえ | 表示するフォーム ウィンドウの幅 (ピクセル単位)。
openInNewWindow パラメータを true にする必要があります。 |
navbar |
String | いいえ | サイト マップで定義されているエリアとサブエリアを使用して、ナビゲーション バーを表示するかどうか、およびアプリケーションのナビゲーションを使用可能にするかどうかを制御します。 有効な値は on、off または entity です。 openInNewWindow パラメータを true にする必要があります。- on: ナビゲーション バーが表示されます。 これは、ナビゲーション バー パラメーターが使用されていない場合の既定の動作です。- off: ナビゲーション バーは表示されません。 他のユーザー インターフェイス要素、または戻るボタンと進むボタンを使用して移動できます。- entity: フォームでは、関連テーブルのナビゲーション オプションのみが使用可能です。 関連テーブルへの移動の後は、ナビゲーション バーに戻るボタンが表示され、元のレコードに戻ることができます。 |
relationship |
Object | いいえ | フォームに関連レコードを表示する関係オブジェクトを定義します。 関係オブジェクト を参照 |
selectedStageId |
String | いいえ | ビジネス プロセス インスタンスで選択したステージの ID。 |
useQuickCreateForm |
Bool | いいえ | 簡易作成フォームを開くかどうかを示します。 簡易作成フォームを表示するには、テーブルの 簡易作成を許可 オプションが有効になり、テーブルと簡易作成フォームをアプリに追加する必要があります。
useQuickCreateFormの値を指定しない場合、既定値は false に設定されます。 |
関係オブジェクト
オブジェクトには、次の値があります。
| 件名 | タイプ | Description |
|---|---|---|
attributeName |
String | 関連付けに使用される列の名前。 |
name |
String | 関連付けに使用される列の名前。 |
navigationPropertyName |
String | 関連付けに使用される列の名前。 |
relationshipType |
回数 | リレーションシップ タイプ。 次のいずれかの値を指定します。 - 0:OneToMany - 1:ManyToMany |
roleType |
回数 | リレーションシップのロール タイプ。 次のいずれかの値を指定します。 - 1:参照 - 2:AssociationEntity |
注釈
テーブルまたは簡易作成フォームを開くには、廃止された Xrm.Utility.openEntityForm メソッドおよび Xrm.Utility.openQuickCreate メソッドの代わりに、このメソッドを使用する必要があります。
setActiveProcess を使用して特定のビジネス プロセスと setActiveProcessInstance を表示して、フォームに特定のビジネス プロセス インスタンスを表示します。
例
例 1: 既存のレコードのフォームを開く
次のサンプル コードは、既存の取引先担当者レコードを表示する取引先担当者フォームを開きます。
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["entityId"] = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee";
// Open the form.
Xrm.Navigation.openForm(entityFormOptions).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
例 2: 新規レコードのフォームを開く
次のサンプル コードは、新しいレコードを作成する、一部の値が事前に入力された取引先担当者フォームを開きます。
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";
// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
// End of set lookup column
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
例 3: 新しいレコードのフォームを開く (複合検索)
次のサンプル コードでは、新しいレコードを作成するために、事前に設定された値 (複雑な参照を含む) を含むアクティビティ フォームを開きます。
var entityFormOptions = {};
entityFormOptions["entityName"] = "email";
// Set default values for the Contact form
var formParameters = {};
formParameters["subject"] = "Sample";
formParameters["description"] = "Default values for this record were set programmatically.";
// Set lookup column
formParameters["regardingobjectid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["regardingobjectidname"] = "Admin user"; // Name of the user.
formParameters["regardingobjectidtype"] = "systemuser"; // Table name.
// End of set lookup column
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
例 4: 簡易作成フォームを開く
次のサンプル コードは、一部の値が事前に入力された簡易作成の取引先担当者フォームを開きます。
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["useQuickCreateForm"] = true;
// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";
// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
formParameters["preferredsystemuseridtype"] = "systemuser"; // Table name.
// End of set lookup column
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});