フォームに渡すパラメーターを使用して列値を設定する
ユーザーによって作成される新規のレコードの既定値を設定するには、そのフォームを開くために使われる URL 内に値を指定します。 既定で、これらの値はフォーム内に設定されますが、ユーザーがレコードを保存する前に変更することもできます。
レコードの列値を設定するパラメーターの受け渡し
注意
Xrm.Navigation.
openForm 関数を使用して、フォームにパラメーター値を渡して列値を設定できます。 例については、例: Xrm.Navigation.openForm を使用して新規ウィンドウを開く を参照してください。
URL アドレスを使用して新しいフォームを開くときに、列値を設定する引数を extraqs
パラメーターに含めることができます。 次の要件を満たす必要があります。
extraqs
パラメーターで受け渡すパラメーターをエンコードすること。 パラメーターのエンコードには encodeURIComponent を使用します。 パラメータ値で "=" や "&" などの特殊文字を使用するには、二重エンコードする必要があります (たとえば、name
をA=B&C
に設定するには、extraqs=name%3DA%253DB%2526C
になります)。クエリ文字列の引数の名前は、テーブルの列の名前と一致するか、または列の名前を含むものである。
有効な値を引き渡すこと。
値にスクリプトは使用できない。
無効なパラメーターまたは値を引き渡そうとするとエラーが発生します。
ブール型の列では、
0
か1
の整数値、またはtrue
かfalse
のテキスト値を使用して値を設定する。DateTime 列では、日付のテキスト値を使用する。
例: 文字列の列の値を設定する
次のサンプルでは、新規の取引先企業レコードの 名前 列に値 "New Account" を設定します。
extraqs
パラメーターのエンコード前の値は "name=New Account" です。
/main.aspx?etn=account&extraqs=name%3DNew%20Account&pagetype=entityrecord
検索列の値の設定
次の表に、5 種類の検索列を示します。 検索列の使用例については、例: 検索列の値を設定する および 例: Xrm.Navigation.openForm を使用して新規ウィンドウを開く を参照してください。
検索の種類 | 内容 |
---|---|
簡易検索 | 1 種類のテーブルに対する 1 つの参照を使用できます。 |
顧客の検索 | 取引先企業または取引先担当者のレコードに対する単一の参照を使用できます。 |
所有者の検索 | チームまたはシステム ユーザーのレコードに対する単一の参照を使用できます。 |
関係者リストの検索 | 複数のテーブルに対する複数の参照を使用できます。 |
関連の検索 | 複数のテーブルに対する単一の参照を使用できます。 |
クエリ文字列引数を使用してフォームに対する検索の値を設定するときは、次のガイドラインが適用されます。
簡易検索の場合、検索に表示する値とテキストを設定する必要があります。 テキストの値を設定するには、列の名前に接尾辞 “name” を使用します。
その他の引数を使用しないでください。
顧客および所有者の検索の場合、値と名前を設定する必要があります。設定方法は簡易検索の場合と同じです。 また、テーブルの種類を指定するには、接尾辞 "type" を使用する必要があります。 種類として使用できる値は、account、contact、systemuser、および team です。
関係者リストまたは関連の検索には値を設定できません。
例: 検索列の値を設定する
検索列の値を設定するには、データ値と名前値を使用し、顧客または所有者の検索の場合にのみ、各列の種類値を指定します。 次のサンプルは "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
例: 選択肢の列の値を設定する
選択肢 列の値を設定するには、フォームを開くために使用される URL にオプションの整数値を指定します。 たとえば、趣味 列のオプションを設定する場合、extraqs パラメーターのエンコード前の値は "hobbies=[1,3,4]" です。
/main.aspx?etn=contact&extraqs=hobbies%3D%5B1%2C3%2C4%5D&pagetype=entityrecord
例: Xrm.Navigation.openForm で新しいウィンドウを開く
次のサンプルでは、いくつかの列に既定値を設定し、Xrm.Navigation
.openForm 関数を使用する方法を示します。 この例は、window.open
メソッドを使用した前の例と同じです。
function OpenNewContact() {
var parameters = {};
//Set the Parent Customer column 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 column.
parameters["description"] = "Default values for this record were set programmatically.";
//Set Do not allow E-mails to "Do Not Allow".
parameters["donotemail"] = "1";
// Define the table name to open the form
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
// Open the form
Xrm.Navigation.openForm(entityFormOptions, parameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
}
例: window.open で新しいウィンドウを開く
次のサンプルでは、いくつかの列に既定値を設定し、encodeURIComponent を使用して extraqs
パラメーターの値をエンコードする方法を示します。 window.open メソッドでは、開くウィンドウの機能を制御できます。
function OpenNewContact() {
//Set the Parent Customer column 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 column.
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 を使用してフォームおよびビューを開く
openForm
カスタム クエリストリング パラメーターが許可されるフォームの構成
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。