フォームに渡すパラメーターを使用してフィールド値を設定する

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

このトピックの内容は Microsoft Dynamics 365 (オンラインおよび設置型) に適用できます。 ユーザーによって作成される新規のレコードの既定値を設定するには、そのフォームを開くために使われる URL 内に属性値を指定します。 既定で、これらの値はフォーム内に設定されますが、ユーザーがレコードを保存する前に変更することもできます。

このトピックの内容

レコードのフィールド値を設定するパラメーターの受け渡し

例: 文字列フィールドの値を設定する

検索フィールドの値の設定

例: 検索フィールドの値を設定する

例: 日付フィールドの値を設定する

例: オプション セット フィールドの値を設定する

例: Xrm.Utility.openEntityForm で新しいウィンドウを開く

例: window.open で新しいウィンドウを開く

レコードのフィールド値を設定するパラメーターの受け渡し

注意

Xrm.Utility.openEntityForm 関数を使用して、フォームにパラメーター値を渡してフィールドの値を設定できます。 例については、「例: Xrm.Utility.openEntityForm で新しいウィンドウを開く」を参照してください。

URL アドレスを使用して新しいフォームを開くとき、フィールドの値を設定する引数を extraqs パラメーターに含めることができます。 次の要件を満たす必要があります。

  • extraqs パラメーターで受け渡すパラメーターをエンコードすること。 パラメーターのエンコードには encodeURIComponent を使用します。

  • クエリ文字列の引数の名前を該当するエンティティの属性の名前と一致させること。あるいは、それらの名前に属性の名前が含まれるようにすること。

  • 有効な値を引き渡すこと。

  • 値にスクリプトは使用できない。

無効なパラメーターまたは値を引き渡そうとするとエラーが発生します。

  • ブール値フィールドでは、01 の整数値、または truefalse のテキスト値を使用すること。

  • DateTime フィールドでは、日付のテキスト値を使用すること。

例: 文字列フィールドの値を設定する

次のサンプルでは、新規の取引先企業レコードの [名前] フィールドに値 "New Account" を設定します。

extraqs パラメーターのエンコード前の値は "name=New Account" です。

/main.aspx?etn=account&extraqs=name%3DNew%20Account&pagetype=entityrecord

検索フィールドの値の設定

次の表に、5 種類の検索フィールドを示します。 検索フィールドの使用例については、「例: 検索フィールドの値を設定する」および「例: Xrm.Utility.openEntityForm で新しいウィンドウを開く」を参照してください。

検索の種類

内容

簡易検索

1 種類のエンティティに対する 1 つの参照を使用できます。

顧客の検索

取引先企業または取引先担当者のレコードに対する単一の参照を使用できます。

所有者の検索

チームまたはシステム ユーザーのレコードに対する単一の参照を使用できます。

関係者リストの検索

複数のエンティティに対する複数の参照を使用できます。

関連の検索

複数のエンティティに対する単一の参照を使用できます。

クエリ文字列引数を使用してフォームに対する検索の値を設定するときは、次のガイドラインが適用されます。

  • 簡易検索の場合、検索に表示する値とテキストを設定する必要があります。 テキストの値を設定するときは、属性の名前を末尾に使用します。

    その他の引数を使用しないでください。

  • 顧客および所有者の検索の場合、値と名前を設定する必要があります。設定方法は簡易検索の場合と同じです。 また、エンティティの種類を指定するときは、種類を表す値を末尾に使用する必要があります。 使用できる値は、account、contact、systemuser、および team です。

  • partylist または関連の検索には値を設定できません。

例: 検索フィールドの値を設定する

検索フィールドの値を設定するには、データ値と名前値を使用し、顧客または所有者の検索の場合にのみ、各フィールドの種類値を指定します。 次のサンプルは "Mark Folkerts" という名前のユーザーに所有者フィールドを設定します。

extraqs パラメーターのエンコード前の値は "ownerid={B8C6E040-656E-DF11-B414-00155DB1891A}&owneridname=Mark Folkerts&owneridtype=systemuser" です。

/main.aspx?etn=lead&pagetype=entityrecord&extraqs=ownerid%3D%7bB8C6E040-656E-DF11-B414-00155DB1891A%7d%26owneridname%3DMark%20Folkerts%26owneridtype%3Dsystemuser

次のサンプルでは、取引先責任者フィールドを “Yvonne McKay (sample)” という名前のユーザーに設定します。extraqs パラメーターのエンコード前の値は “primarycontactid={43b58571-eefa-e311-80c1-00155d2a68c4}&primarycontactidname=Yvonne McKay (sample)” です。

/main.aspx?etn=account&pagetype=entityrecord&extraqs=primarycontactid%3D%7B43b58571-eefa-e311-80c1-00155d2a68c4%7D%26primarycontactidname%3DYvonne%20McKay%20(sample)

注意

このような簡易検索の場合、種類の値を設定する必要はありません。

例: 日付フィールドの値を設定する

次の例では、新しい営業案件の予測クローズ日フィールドを 2011 年 1 月 31 日に設定します。extraqs パラメーターのエンコード前の値は “estimatedclosedate=01/31/11” です。

/main.aspx?etn=opportunity&extraqs=estimatedclosedate%3D01%2F31%2F11&pagetype=entityrecord

例: オプション セット フィールドの値を設定する

[オプション セット] フィールドの値を設定するには、オプションに整数値を設定します。 次の例では、新しい取引先担当者レコードの値の [ロール] フィールドの値を "意思決定者" に設定します。

extraqs パラメーターのエンコード前の値は "accountrolecode=1" です。

/main.aspx?etn=contact&extraqs=accountrolecode%3D1&pagetype=entityrecord

例: Xrm.Utility.openEntityForm で新しいウィンドウを開く

次の例では、いくつかのフィールドの既定値を設定します。これを見ると、Xrm.Utility.openEntityForm 関数の使用方法がわかります。 この例は、window.open メソッドを使用した前の例と同じです。

function OpenNewContact() {
 var parameters = {};
 //Set the Parent Customer field value to “Contoso”.
 parameters["parentcustomerid"] = "2878282E-94D6-E111-9B1D-00155D9D700B";
 parameters["parentcustomeridname"] = "Contoso";
 parameters["parentcustomeridtype"] = "account";
 //Set the Address Type to “Primary”.
 parameters["address1_addresstypecode"] = "3";
 //Set text in the Description field.
 parameters["description"] = "Default values for this record were set programmatically.";
 //Set Do not allow E-mails to "Do Not Allow".
 parameters["donotemail"] = "1";

 // Open the window.
 Xrm.Utility.openEntityForm("contact", null, parameters);
}

例: window.open で新しいウィンドウを開く

次のサンプルでは、いくつかのフィールドの既定値を設定します。これを見ると、encodeURIComponentextraqs パラメーターの値をエンコードする方法がわかります。window.open メソッドでは、開くウィンドウの機能を制御できます。

function OpenNewContact() {
    //Set the Parent Customer field value to “Contoso”.
    var extraqs = "parentcustomerid={F01F3F6D-896E-DF11-B414-00155DB1891A}";
    extraqs += "&parentcustomeridname=Contoso";
    extraqs += "&parentcustomeridtype=account";
    //Set the Address Type to “Primary”.
    extraqs += "&address1_addresstypecode=3";
    //Set text in the Description field.
    extraqs += "&description=Default values for this record were set programatically.";
    //Set Do not allow E-mails to "Do Not Allow".
    extraqs += "&donotemail=1";
    //Set features for how the window will appear.
    var features = "location=no,menubar=no,status=no,toolbar=no";
    // Open the window.
    window.open("/main.aspx?etn=contact&pagetype=entityrecord&extraqs=" +
     encodeURIComponent(extraqs), "_blank", features, false);
}

関連項目

URL を使用してフォーム、ビュー、ダイアログ、およびレポートを開く
openEntityForm
カスタム クエリストリング パラメーターが許可されるフォームの構成

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権