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

エンティティ フォームまたは簡易作成フォームを開きます。

注意

メイン フォームをダイアログとして開くには、代わりに navigateTo メソッドを使用します。 詳細情報: ダイアログでクライアント API を使用してメイン フォームを開く

構文

Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);

Parameters

件名 タイプ Required Description
entityFormOptions Object フォームを開くためのフォーム オプション。 entityFormOptions オブジェクト を参照してください
formParameters Object No 追加のパラメーターをフォームに渡すディクショナリ オブジェクト。 パラメーターが無効の場合、エラーが発生します。

フォームにパラメータを渡す方法の詳細については、フォームに渡すパラメーターを使用して列の値を設定するおよびカスタム クエリストリング パラメーターが許可されるフォームの構成を参照してください。
successCallback Function No レコードがクイック作成フォームに保存されるときに実行される関数。この関数はパラメーターとしてオブジェクトに渡されます。 オブジェクトには、表示または作成されるレコード (複数) を識別するための以下のプロパティと共に savedEntityReference 配列があります。
- entityType: テーブルの 論理名です。
- id: レコードの GUID 値を表す文字列。
- name: 表示または作成されるレコードのプライマリ列値。

メモ:
- successCallback 関数は、既存または新規レコードのフォームを開くときは実行されません。
- successCallback 関数は、openForm メソッドを使用して開いた簡易作成フォームにレコードを保存するときにのみ実行されます。
errorCallback Function No 処理が失敗したときに実行する関数。

entityFormOptions オブジェクト

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

件名 タイプ Required Description
entityName String フォームを表示するテーブルの論理名。
entityId String No フォームを表示するテーブル レコードの ID。
formId String No 表示するフォーム インスタンスの ID。
cmdbar Bool No コマンド バーを表示するかどうかを指定します。 このパラメーターの値を指定しない場合、既定でコマンド バーが表示されます。 openInNewWindow パラメータを true にする必要があります。
createFromEntity 参照 No マップした列値に基づいて既定値を提供するレコードを指定します。 検索オブジェクトには、以下の文字列プロパティが含まれます。entityTypeid、およびname (任意)。
openInNewWindow Bool No フォームを新しいウィンドウに表示するか、新しいタブに表示するかを示します。true を指定した場合、高さや幅の値を指定しない場合、フォームは新しいタブに表示されます。新しいウィンドウまたは新しいタブでフォームを開くと、同じタブでフォームを開く場合に比べてフォームのレンダリングが遅くなります。代わりに、メインフォームダイアログでフォームを開くことを検討してください。 新しいウィンドウやタブで開けないため、簡易作成フォームは現在このプロパティをサポートしていません。
height 回数 No 表示するフォーム ウィンドウの高さ (ピクセル単位)。 openInNewWindow パラメータを true にする必要があります。
width 回数 No 表示するフォーム ウィンドウの幅 (ピクセル単位)。 openInNewWindow パラメータを true にする必要があります。
navbar String No サイト マップで定義されているエリアとサブエリアを使用して、ナビゲーション バーを表示するかどうか、およびアプリケーションのナビゲーションを使用可能にするかどうかを制御します。 有効な値は onoff または entity です。 openInNewWindow パラメータを true にする必要があります。
- on: ナビゲーション バーが表示されます。 navbar パラメーターが使用されていない場合の既定の動作です。
- off: ナビゲーション バーは表示されません。 他のユーザー インターフェイス要素、または戻るボタンと進むボタンを使用して移動できます。
- entity: フォームでは、関連テーブルのナビゲーション オプションのみが使用可能です。 関連テーブルへの移動の後は、ナビゲーション バーに戻るボタンが表示され、元のレコードに戻ることができます。
relationship Object No フォームに関連レコードを表示する関係オブジェクトを定義します。 関係オブジェクト を参照
selectedStageId String No ビジネス プロセス インスタンスで選択したステージの ID。
useQuickCreateForm Bool No 簡易作成フォームを開くかどうかを示します。 簡易作成フォームを表示するには、テーブルの 簡易作成を許可 オプションが有効になり、テーブルと簡易作成フォームをアプリに追加する必要があります。 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);
    });

Xrm.Navigation

注意

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

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