openForm (クライアント API 参照)
エンティティ フォームまたは簡易作成フォームを開きます。
注意
メイン フォームをダイアログとして開くには、代わりに 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 : ナビゲーション バーが表示されます。 navbar パラメーターが使用されていない場合の既定の動作です。- 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:Referencing - 2:AssociationEntity |
注釈
テーブルまたは簡易作成フォームを開くには、廃止された Xrm.Utility.openEntityForm メソッドおよび Xrm.Utility.openQuickCreate メソッドの代わりに、このメソッドを使用する必要があります。
setActiveProcess を使用して特定のビジネス プロセスと setActiveProcessInstance を表示して、フォームに特定のビジネス プロセス インスタンスを表示します。
例
例 1: 既存のレコードのフォームを開く
次のサンプル コードは、既存の取引先担当者レコードを表示する取引先担当者フォームを開きます。
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["entityId"] = "8DA6E5B9-88DF-E311-B8E5-6C3BE5A8B200";
// 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);
});
関連記事
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。