Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

Salesforce Classic の URL パラメータを使用したデフォルト項目値を含むレコード作成ページの起動

公開日: Apr 2, 2025
説明

Lightning Experience の場合は「デフォルト項目値を含むレコード作成ページの起動」を参照してください。

以下は Salesforce Classic の場合に適用される内容となります。
 

注意: 正式にサポートされている内容ではありません
URLパラメータ (query string) を利用して標準画面の動作を制御する方法は、内部機能として実装された動作を流用する設定となり、その動作やパラメータ名等はドキュメント化されておらず、正式にサポートされるものではありません。
その為、今後のアップグレードに伴いパラメータ名が変更されたり、動作自体が無効化され、実装した処理が動作しなくなる可能性があります、そのような場合にはお客様側でパラメータ名を修正頂く、サポートされる機能で代替機能を作成頂く、等の対応が必要となります。
また、本機能についてサポートへお問い合わせ頂きましても、詳細をご案内させていただく事ができない場合があります。

 

Salesforce Classic で URL パラメータを使用し、レコード作成ページにデフォルト項目値 (初期値) を設定する方法を紹介します。

要件
取引先レコードの関連リスト上から ObjectA のレコードを新規作成する際の、以下の 3つのケースについて設定方法をご紹介します。
 ■取引先の取引先名項目の値を、ObjectA レコードの標準項目である名前 (Name) 項目に指定した状態で編集画面を表示 
取引先の取引先名項目の値を、ObjectA レコードのカスタム項目 Text Field 項目(Text_Field__c) に指定した状態で編集画面を表示
取引先の所有者項目の値を、ObjectA レコードのユーザレコードへのカスタム参照項目 (User__c) に指定した状態で編集画面を表示

前提条件
カスタムオブジェクト名 : ObjectA (一意の名前 : ObjectA__c)
標準項目 ObjectA Name 項目 (項目名 : Name)
カスタム項目 Text Field 項目 (項目名 : Text_Field__c)
および、User 項目 (項目名 : User__c) 、Account 項目 (項目名 : Account__c) が設定されています。

ユーザが追加した画像
 

解決策
取引先の取引先名項目の値を、ObjectA レコードの標準項目である名前(Name)項目に指定した状態で編集画面を表示
設定方法
※URLはあくまでサンプルとなり、Id の指定値は組織に依って異なるため、自組織の設定用に変更する必要があります。
始めに、取引先の ObjectA 関連リストから新規レコードを作成する際の URL を取得します。
今回のサンプルでは以下とします。
 https://ap.salesforce.com/a01/e?CF00Nj0000006N9dN=%E3<..省略..>&CF00Nj0000006N9dN_lkid=001j000000GLyHF&retURL=%2F001j000000GLyHF

設定 | ビルド | 作成 | オブジェクト | ObjectA
もしくは
設定 | アプリケーションの設定 | 作成 | オブジェクト | ObjectA
に遷移し、ObjectA の設定詳細画面を表示

[ボタン、リンク、およびアクション] セクションの [新規ボタンまたはリンク] ボタンを押下
[表示ラベル] [名前] に任意の値を設定し、「表示の種類」に"リストボタン"を選択し、[チェックボックスの表示]のチェックを外します。
[動作] にて [現在のウィンドウにサイドバーおよびヘッダーなしで表示] を選択し、[内容のソースに]に [URL] を指定します。

画面下部の数式入力欄に以下の数式を入力し [保存] ボタンを押下します。
 /a01/e?CF00Nj0000006N9dN={!Account.Name}&CF00Nj0000006N9dN_lkid={!Account.Id}&retURL=%2F{!Account.Id}&Name={!Account.Name}
ユーザが追加した画像

[設定] | [ビルド] | [カスタマイズ] | [取引先] | [ページレイアウト]
もしくは
[設定] | [アプリケーションの設定] | [カスタマイズ] | [取引先] | [ページレイアウト]
へ遷移し、ボタンを設置する対象ページレイアウトの編集リンクを押下

ページレイアウトエディタ上で関連リストの ObjectA のレンチアイコンを押下します。
ユーザが追加した画像
表示されるポップアップの [ボタン] 関連リスト上にて、[利用可能なボタン] に表示される先程作成したボタンを [選択したボタン] へ移動し [OK] を押下
ユーザが追加した画像
ページレイアウトエディタ上の [保存] ボタンを押下し、レイアウトを保存します。

上記により、取引先の ObjectA 関連リスト上から、ObjectA の名前項目に取引先の取引先名を初期値として表示した上で画面遷移可能となります。

解説
取引先レコードから遷移した ObjectA の編集画面のURLについて解説します。
 https://ap.salesforce.com/a01/e?CF00Nj0000006N9dN=%E3<..省略..>&CF00Nj0000006N9dN_lkid=001j000000GLyHF&retURL=%2F001j000000GLyHF

取引先レコードから遷移した ObjectA の編集画面のURL の CF00Nj0000006N9dN が項目に一意に付与された Id となり
上記のケースでは CF00Nj0000006N9dN が取引先を参照する Account 項目を指定しています。
CF00Nj0000006N9dN_lkid という値は、参照項目の場合に、名前からだけでは重複レコードが発生する可能性があるため、
参照先のレコード Id を指定して一意に特定するための hidden 項目となり、こちらに取引先Id 値を渡す事で、レコードを一意に特定しています。
retURL は遷移元のURLを定義し、キャンセルボタンを押した際に戻る遷移先を定義しています。
※省略箇所に指定されている文字列は「セールスフォース・ドットコム」をエンコーディングした値です。

数式に指定した以下の差し込み項目について解説します。
 /a01/e?CF00Nj0000006N9dN={!Account.Name}&CF00Nj0000006N9dN_lkid={!Account.Id}&retURL=%2F{!Account.Id}&Name={!Account.Name}

/a01/e はボタンを押した際に、ObjectA の編集画面に遷移することを定義します。
? 移行に続くパラメーが、URL パラメータ (query string) と呼ばれるものです。
CF00Nj0000006N9dN は上記で説明した様に取引先を参照する Account 項目の値であるため、取引先の名前を差し込む {!Account.Name} を指定しています。
同様に、CF00Nj0000006N9dN_lkid には、取引先レコードを一意に特定するため、取引先の Id 値である {!Account.Id} を指定しています。

retURL には、遷移元のページである /001j000000GLyHF 等の、/<取引先Id> を指定していますが、 %2F は / をエンコーディングした値です。
末尾に付与した Name パラメータは、ObjectA レコードの名前項目を指定するパラメータです。
今回は取引先の取引先名を指定するため、{!Account.Name} を値として差し込んでいます。

ぞれぞれ、CF00Nj0000006N9dN や CF00Nj0000006N9dN_lkid 、Name といった各インプットフォーム(編集画面の入力欄)に割り当てられる値は
編集画面の HTML ソースコードより取得可能です。
例えば、対象のインプットフォームを構成する HTML ソースが以下の場合、割り当てられた値は、id 値もしくは name 値の 00Nj0000006N9Yv です。
 <input id="00Nj0000006N9Yv" maxlength="255" name="00Nj0000006N9Yv" size="20" tabindex="2" type="text">



■取引先の取引先名項目の値を、ObjectA レコードのカスタム項目Text Field 項目(Text_Field__c)に指定した状態で編集画面を表示
設定方法
※URLはあくまでサンプルとなり、Id の指定値は組織に依って異なるため、自組織の設定用に変更する必要があります。
始めに、取引先の ObjectA 関連リストから新規レコードを作成する際の URL を取得します。
今回のサンプルでは以下とします。
 https://ap.salesforce.com/a01/e?CF00Nj0000006N9dN=%E3<..省略..>&CF00Nj0000006N9dN_lkid=001j000000GLyHF&retURL=%2F001j000000GLyHF

次に、入力項目に割り当てられた Id 値を取得します。
編集画面の HTML ソースコードを表示して、対象 input タグの id もしくは name 値を取得します。
例えば、Text Field 項目 を構成する HTML ソースが以下の場合、割り当てられた値は、id 値もしくは name 値の 00Nj0000006N9Yv です。
 <input id="00Nj0000006N9Yv" maxlength="255" name="00Nj0000006N9Yv" size="20" tabindex="2" type="text">

最後に関連リスト上に表示するカスタムボタンを作成します。
[設定] | [ビルド] | [作成] | [オブジェクト] | [ObjectA]
もしくは
[設定] | [アプリケーションの設定] | [作成] | [オブジェクト] | [ObjectA]
に遷移し、ObjectA の設定詳細画面を表示

[ボタン、リンク、およびアクション] セクションの [新規ボタンまたはリンク] ボタンを押下
[表示ラベル]、[名前] に任意の値を設定し、[表示の種類] に [リストボタン] を選択し、[チェックボックスの表示] のチェックを外します。
[動作] にて [現在のウィンドウにサイドバーおよびヘッダーなしで表示] を選択し、[内容のソースに]に [URL] を指定します。

画面下部の数式入力欄に以下の数式を入力し [保存] ボタンを押下します。
※末尾の赤い文字列に、先程取得したText Field 項目 を構成する HTML ソースの id 値もしくは name 値の 
00Nj0000006N9Yv が利用されています。
 /a01/e?CF00Nj0000006N9dN={!Account.Name}&CF00Nj0000006N9dN_lkid={!Account.Id}&retURL=%2F{!Account.Id}&00Nj0000006N9Yv={!Account.Name}
ユーザが追加した画像
[設定] | [ビルド] | [カスタマイズ] | [取引先] | [ページレイアウト]
もしくは
[設定] | [アプリケーションの設定] | [カスタマイズ] | [取引先] | [ページレイアウト]
へ遷移し、ボタンを設置する対象ページレイアウトの編集リンクを押下

ページレイアウトエディタ上で関連リストの ObjectA のレンチアイコンを押下します。
ユーザが追加した画像
表示されるポップアップの [ボタン] 関連リスト上にて
[利用可能なボタン] に表示される先程作成したボタンを [選択したボタン] へ移動し [OK] を押下
ユーザが追加した画像
ページレイアウトエディタ上の [保存] ボタンを押下し、レイアウトを保存します。


上記により、取引先の ObjectA 関連リスト上から、ObjectA の Text Field 項目 (Text_Field__c) に取引先の取引先名を初期値として表示した上で画面遷移可能となります。

解説
取引先レコードから遷移した ObjectA の編集画面のURLについて解説します。
 https://ap.salesforce.com/a01/e?CF00Nj0000006N9dN=%E3<..省略..>&CF00Nj0000006N9dN_lkid=001j000000GLyHF&retURL=%2F001j000000GLyHF

取引先レコードから遷移した ObjectA の編集画面のURL の CF00Nj0000006N9dN が項目に一意に付与された Id となり
上記のケースでは CF00Nj0000006N9dN が取引先を参照する Account 項目を指定しています。
CF00Nj0000006N9dN_lkid という値は、参照項目の場合に、名前からだけでは重複レコードが発生する可能性があるため、
参照先のレコード Id を指定して一意に特定するための hidden 項目となり、こちらに取引先Id 値を渡す事で、レコードを一意に特定しています。
retURL は遷移元のURLを定義し、キャンセルボタンを押した際に戻る遷移先を定義しています。
※省略箇所に指定されている文字列は「セールスフォース・ドットコム」をエンコーディングした値です。

数式に指定した以下の差し込み項目について解説します。
 /a01/e?CF00Nj0000006N9dN={!Account.Name}&CF00Nj0000006N9dN_lkid={!Account.Id}&retURL=%2F{!Account.Id}&00Nj0000006N9Yv={!Account.Name}

/a01/e はボタンを押した際に、ObjectA の編集画面に遷移することを定義します。
? 移行に続くパラメーが、URLパラメータ(query string)と呼ばれるものです。
CF00Nj0000006N9dN は上記で説明した様に取引先を参照する Account 項目の値であるため、取引先の名前を差し込む {!Account.Name} を指定しています。
同様に、CF00Nj0000006N9dN_lkid には、取引先レコードを一意に特定するため、取引先の Id 値である {!Account.Id} を指定しています。

retURL には、遷移元のページである /001j000000GLyHF 等の、/<取引先Id> を指定していますが、 %2F は / をエンコーディングした値です。
末尾に付与した 00Nj0000006N9Yv パラメータは、ObjectA レコードの Text Field 項目を指定するパラメータです。
今回は取引先の取引先名を指定するため、{!Account.Name} を値として差し込んでいます。

ぞれぞれ、CF00Nj0000006N9dN や CF00Nj0000006N9dN_lkid 、00Nj0000006N9Yv といった各インプットフォーム(編集画面の入力欄)に割り当てられる値は
編集画面の HTML ソースコードより取得可能です。
例えば、対象のインプットフォームを構成する HTML ソースが以下の場合、割り当てられた値は、id 値もしくは name 値の 00Nj0000006N9Yv です。
 <input id="00Nj0000006N9Yv" maxlength="255" name="00Nj0000006N9Yv" size="20" tabindex="2" type="text">



取引先の所有者項目の値を、ObjectA レコードのユーザレコードへのカスタム参照項目(User__c)に指定した状態で編集画面を表示
設定方法
※URLはあくまでサンプルとなり、Id の指定値は組織に依って異なるため、自組織の設定用に変更する必要があります。
始めに、取引先の ObjectA 関連リストから新規レコードを作成する際のURLを取得します。
今回のサンプルでは以下とします。
 https://ap.salesforce.com/a01/e?CF00Nj0000006N9dN=%E3<..省略..>&CF00Nj0000006N9dN_lkid=001j000000GLyHF&retURL=%2F001j000000GLyHF

次に、入力項目に割り当てられた Id 値を取得します。
編集画面の HTML ソースコードを表示して、対象 input タグの id もしくは name 値を取得します。
例えば、User 項目 を構成する HTML ソースが以下の場合、割り当てられた値は、id 値もしくは name 値の 00Nj0000006N9Yv です。
 <input id="00Nj0000006N9Yv" maxlength="255" name="00Nj0000006N9Yv" size="20" tabindex="2" type="text">

今回は参照関係項目であるため、以下の様な HTML ソースになっています。
 <input id="CF00Nj0000006NAyb" maxlength="255" name="CF00Nj0000006NAyb" onchange="getElementByIdCS('CF00Nj0000006NAyb_lkid').value='';getElementByIdCS('CF00Nj0000006NAyb_mod').value='1';" size="20" tabindex="5" title="User" type="text">
「値を指定するための id 値」と「レコード Id を指定するための id 値」を取得します。
上記の場合、CF00Nj0000006NAyb および、CF00Nj0000006NAyb_lkid となります。

最後に関連リスト上に表示するカスタムボタンを作成します。
[設定] | [ビルド] | [作成] | [オブジェクト] | [ObjectA]
もしくは
[設定] | [アプリケーションの設定] | [作成] | [オブジェクト] | [ObjectA]
に遷移し、ObjectA の設定詳細画面を表示

[ボタン、リンク、およびアクション] セクションの [新規ボタンまたはリンク] ボタンを押下
[表示ラベル]、[名前] に任意の値を設定し、[表示の種類] に [リストボタン] を選択し、[チェックボックスの表示] のチェックを外します。
[動作] にて"現在のウィンドウにサイドバーおよびヘッダーなしで表示"を選択し、[内容のソースに]に [URL] を指定します。

画面下部の数式入力欄に以下の数式を入力し [保存] ボタンを押下します。
※末尾の赤い文字列に、先程取得したUser 項目 を構成する HTML ソースの id 値もしくは name 値の CF00Nj0000006NAyb と CF00Nj0000006NAyb_lkid が利用されています。
 /a01/e?CF00Nj0000006N9dN={!Account.Name}&CF00Nj0000006N9dN_lkid={!Account.Id}&retURL=%2F{!Account.Id}&CF00Nj0000006NAyb={!Account.Name}&CF00Nj0000006NAyb_lkid={!Account.Id}

ユーザが追加した画像
[設定] | [ビルド] | [カスタマイズ] | [取引先] | [ページレイアウト]
もしくは
[設定] | [アプリケーションの設定] | [カスタマイズ] | [取引先] | [ページレイアウト]
へ遷移し、ボタンを設置する対象ページレイアウトの編集リンクを押下

ページレイアウトエディタ上で関連リストの ObjectA のレンチアイコンを押下します。
ユーザが追加した画像
表示されるポップアップの [ボタン] 関連リスト上にて
[利用可能なボタン] に表示される先程作成したボタンを [選択したボタン] へ移動し [OK] を押下
ユーザが追加した画像
ページレイアウトエディタ上の [保存] ボタンを押下し、レイアウトを保存します。

上記により、取引先の ObjectA 関連リスト上から、ObjectA の User 項目(User__c)に取引先の所有者を初期値として表示した上で画面遷移可能となります。

解説
取引先レコードから遷移した ObjectA の編集画面のURLについて解説します。
 https://ap.salesforce.com/a01/e?CF00Nj0000006N9dN=%E3<..省略..>&CF00Nj0000006N9dN_lkid=001j000000GLyHF&retURL=%2F001j000000GLyHF

取引先レコードから遷移した ObjectA の編集画面のURL の CF00Nj0000006N9dN が項目に一意に付与された Id となり
上記のケースでは CF00Nj0000006N9dN が取引先を参照する Account 項目を指定しています。
CF00Nj0000006N9dN_lkid という値は、参照項目の場合に、名前からだけでは重複レコードが発生する可能性があるため、
参照先のレコード Id を指定して一意に特定するための hidden 項目となり、こちらに取引先Id 値を渡す事で、レコードを一意に特定しています。
retURL は遷移元のURLを定義し、キャンセルボタンを押した際に戻る遷移先を定義しています。
※省略箇所に指定されている文字列は「セールスフォース・ドットコム」をエンコーディングした値です。

数式に指定した以下の差し込み項目について解説します。
 /a01/e?CF00Nj0000006N9dN={!Account.Name}&CF00Nj0000006N9dN_lkid={!Account.Id}&retURL=%2F{!Account.Id}&CF00Nj0000006NAyb={!Account.Name}&CF00Nj0000006NAyb_lkid={!Account.Id}

/a01/e はボタンを押した際に、ObjectA の編集画面に遷移することを定義します。
? 移行に続くパラメーが、URLパラメータ(query string)と呼ばれるものです。
CF00Nj0000006N9dN は上記で説明した様に取引先を参照する Account 項目の値であるため、取引先の名前を差し込む {!Account.Name} を指定しています。
同様に、CF00Nj0000006N9dN_lkid には、取引先レコードを一意に特定するため、取引先の Id 値である {!Account.Id} を指定しています。

retURL には、遷移元のページである /001j000000GLyHF 等の、/<取引先Id> を指定していますが、 %2F は / をエンコーディングした値です。
末尾に付与した CF00Nj0000006NAyb と CF00Nj0000006NAyb_lkid パラメータは、ObjectA レコードの User 項目を指定するパラメータです。

テキスト型の項目 Text Field 項目とは異なり、参照関係項目を差し込む際には、値と対象レコードの Id 値を指定する必要があります。
今回は取引先の取引先名を指定するため、{!Account.Name} を値として、{!Account.Id} を Id 値として差し込んでいます。


ぞれぞれ、CF00Nj0000006N9dN や CF00Nj0000006N9dN_lkid 、CF00Nj0000006NAyb 、 CF00Nj0000006NAyb_lkid  といった
各インプットフォーム(編集画面の入力欄)に割り当てられる値は
編集画面の HTML ソースコードより取得可能です。

例えば、対象のインプットフォームを構成する HTML ソースが以下の場合、割り当てられた値は、id 値もしくは name 値の 00Nj0000006N9Yv です。
 <input id="00Nj0000006N9Yv" maxlength="255" name="00Nj0000006N9Yv" size="20" tabindex="2" type="text">

今回は参照関係項目であるため、以下の様な HTML ソースになり、対象 id 値は CF00Nj0000006NAyb 、Id 値を指定する id 値は、
CF00Nj0000006NAyb に _lkid を付与した CF00Nj0000006NAyb_lkid が対象の値となります。
 <input id="CF00Nj0000006NAyb" maxlength="255" name="CF00Nj0000006NAyb" onchange="getElementByIdCS('CF00Nj0000006NAyb_lkid').value='';getElementByIdCS('CF00Nj0000006NAyb_mod').value='1';" size="20" tabindex="5" title="User" type="text">
ナレッジ記事番号

000387301

 
読み込み中
Salesforce Help | Article