Salesforce レコード名(Name)にデフォルト値(初期値,事前入力値)を設定する用途別おすすめの方法
※当サイトには広告やプロモーションが含まれています。
Salesforce ではレコード名(Name)にデフォルト値は設定できない?
「レコード名(Name)項目に新規作成時のデフォルト値(初期値、事前入力値)は設定出来ないのでしょうか?」
「レコード新規作成時に取引先名や商談名にもデフォルト値を設定して、入力工数を減らしたり、規則的な名称にしたいのですが」
Salesforce(セールスフォース)に関する上記のようなご質問やご相談をいただくことがございます。
Salesforce ではカスタム項目のデフォルト値設定やレコードタイプごとの選択リスト設定などでデフォルト値を設定できる項目がありますが、レコード名(Name)については、これらの設定箇所は存在しないためデフォルト値の設定は「出来ない」もしくは「難しい」と思われている方も多いようです。
上記のような設定箇所はないのですが、特定の標準オブジェクトや管理パッケージなどを除いて、こちらのページで記載しているような別の方法で対応することが可能です。
レコード名(Name)の項目にデフォルト値を設定することで、入力工数も削減できますし、規則的な名称にすることでデータに統一感が出たり、レコード名で表示した際や検索の際にわかりやすくなったりする効果が期待できます。
こちらのページでレコードを新規作成する際にレコード名(Name)の項目にデフォルト値(初期値、事前入力値)を設定する方法を用途ごとにいくつか紹介させていただいておりますのでご参考になさってください。
こちらのページは記載日時点での情報を基に記載させていただいておりますが、サービスの今後のリリース(バージョンアップ)により、実際のご利用環境と記載内容に差異が生じる場合がございます。
また説明や検証には Developer Edition または Enterprise Edition を使用しており、特に記載のない限り Enterprise Edition で Lightning Experience 環境をご利用されている場合を想定した内容となっています。
目次
レコード名(Name)の項目にデフォルト値を設定する方法と選択基準
実際には Salesforce 組織全体やプロジェクトごとに定められた基準や方針などもあると思いますが、レコード名(Name)の項目にデフォルト値を設定したい場合には以下の点などを基準に方法を選定いただくとよいと思います。
検討要素
- 自動採番型の利用は用途(要件)に合っていないか?
- デフォルト値の中で使用したい内容(デフォルト値に差し込みたい内容)
- アクションを利用したいか?
- レコードの新規作成時の他の要件
以下で少し詳しく記載させていただいております。
1.自動採番型の利用は用途(要件)に合っていないか?
カスタムオブジェクトの レコード名(Name) ではテキスト型と自動採番型を選択することができます。
自動採番型では、レコードの作成時にNameに自動的に連番をセットすることができ(入力不要・編集不可)、必要に応じて作成時の年・月・日の情報やプレフィックスやサフィックスとして任意の文字列を含めることも可能です。
カスタムオブジェクトの作成時や作成後の[設定]>[オブジェクトマネージャー]>該当オブジェクト>「詳細」の中にあるレコード名の「データ型」を”自動採番”とすることで”テキスト型”から切り替えることができます。
レコード名に意味を持たせたり、レコード名での検索や子オブジェクトからのルックアップ検索を行う場合などは不向きと言えますが、レコードの作成時にName項目の入力が不要となりますので、用途に合う場合には自動採番型の使用をご検討ください。
以降はテキスト型のレコード名(Name)にデフォルト値を設定することを想定した内容となります。
2.デフォルト値の中で利用したい内容
レコード名(Name)に設定したいデフォルト値に「どのような要素を差し込んで含めたいか」そして「その要素は Salesforce 上に既に存在する情報か、レコード作成時の情報か、それとも決まった文字列などか」という点も方法を選定するのに重要なポイントとなります。
以下に分類されるどの情報を使用したいかによって選択すべき設定方法が異なってきます。
利用したい(差し込みたい)情報の種類
- 親オブジェクトレコードに既に存在する情報
- 目的のレコード作成時に登録する(登録される)情報
- 親オブジェクトレコードや作成するレコードの情報ではなく、作成日やログインユーザー情報あるいは固定の文字列など
親オブジェクトレコードに既に存在する情報を使用したい場合は、親オブジェクトからレコード作成できるアクションや関連リストのカスタム新規ボタンで実装する方法が候補となります。
また目的のレコード作成時に登録する(登録される)情報が必要な場合は、デフォルト値の設定だけでなくレコード作成時(保存時)に動くフローなどを別途準備する必要がでてきます。
3.アクションを利用したいか?
さらにアクション(新規作成)を利用したいかということも検討のポイントとなります。
アクションにはグローバルアクションとオブジェクト固有のアクションがありますが、新規作成時に入力させたい項目に絞った入力画面を使用できます。
また、設定を行うと以下のような箇所からレコードの新規作成を開始することができます。
アクションの配置箇所
- グローバルアクション:デスクトップ画面右上にある+マーク(グローバルアクション)の他、ホームページ、Chatter タブ、オブジェクトページ、カスタム Lightning アプリケーションページなど、アクションがサポートされているページ
- オブジェクト固有のアクション:親オブジェクトレコード内のアクション(右上の強調表示パネルなど。親オブジェクトの項目の値をNameのデフォルト値で利用したい場合は親オブジェクトのアクションを使用)
アクションを利用しない場合はカスタムボタンで実装する方法があり、その場合はページレイアウトに沿った新規作成画面※を使用できます。
※新規ボタンを使用した際のレイアウトは動的フォームの利用有無も関係しますので、次のページもご参考になさってください。
そして、設定を行うと該当オブジェクトタブのリストビューボタンや親オブジェクトの関連リストボタンからレコードの新規作成を開始することができます。(親オブジェクトの項目の値をNameのデフォルト値で利用したい場合は親オブジェクトの関連リストを使用)。
4.レコードの新規作成時の他の要件
Name項目へのデフォルト値設定以外の内容も含めて、レコードを新規作成する場合の要件に、ここまで記載の方法(項目設定のデフォルト値設定、アクションやカスタムボタン)では実現できない要件がある場合にはレコードを作成するフローなど、その他の方法の使用を検討します。
テキスト型のレコード名(Name)項目にデフォルト値をセットする用途別の設定例
ここからは、テキスト型のレコード名(Name)項目にデフォルト値(初期値、事前入力値)を設定する方法を用途別に例を挙げて説明しています。
①カスタムボタンでデフォルト値を設定し、リストビュー画面に追加する。
こちらは、オブジェクトのタブから進むリストビュー画面上にカスタム新規ボタンを作成する方法になります。
新規作成画面の項目レイアウトは標準の[新規]ボタンを押した場合と同様になります。
※リストビュー上にある標準の[新規]ボタンのレイアウトは動的フォームの利用有無も関係しますので次のページも参考になさってください。
最上位のオブジェクトである場合も含め、設定したいデフォルト値に親オブジェクトの項目などは不要で、標準の[新規]ボタンと同様にオブジェクトのタブから進むリストビュー内のボタンから開始し、ページレイアウトに沿った新規作成画面を使いたい場合におすすめの方法になります。
設定したいデフォルト値の要素に親オブジェクトに登録された情報を含めたい場合は、ページの下部に記載のある以下の方法がおすすめです。
ここでは『取引先』のName項目「取引先名」に”株式会社”という文字列をデフォルト値として設定し、新規作成画面で事前入力する状態としたい場合の設定の流れを例として記載しています。
【 設定の流れ 】
1.設定>オブジェクトマネージャー>『取引先』>左メニューの[ボタン、リンク、およびアクション]>右上の[新規ボタンまたはリンク]と進みます。
↓
2.以下を参考に設定します。
- 表示ラベル:任意の文字を設定(ここでは”新規取引先”)
- 名前:一意の英字から始まる英数字とアンダースコアで任意に設定(ここでは”NewAccountCustom”)
- 表示種別:リストボタン
- 動作:現在のウィンドウにサイドバー付きで表示
- コンテンツソース:URL
- URL内容
/lightning/o/Account/new?defaultFieldValues=Name=株式会社&useRecordTypeCheck=1
‘/lightning/o/Account/new’
新規作成画面のURLで、Account が取引先オブジェクトを指定している箇所。他のオブジェクトのレコード作成用のボタンの場合は Account の箇所を希望するオブジェクトのAPI参照名に変更します。
‘defaultFieldValues=Name=株式会社’
項目にデフォルト値を設定するためのパラメータと設定したい値です。Nameが「取引先名」を指定している箇所となります。他の項目にもデフォルト値を設定したい場合は”,”(半角カンマ)でつないで記載します。以下は「電話(Phone)」のデフォルト値に”03-“および「説明(Description)」に「作成者の部署(Department)」を追加で設定する場合の例になります。
/lightning/o/Account/new?defaultFieldValues=Name=株式会社,Phone=03-,Description={!$User.Department}&useRecordTypeCheck=1
‘useRecordTypeCheck=1’
レコードタイプを選択させるためのパラメータです。非記載の場合はデフォルトのレコードタイプが適用されます。特定のレコードタイプを指定したい場合は、’recordTypeId=’に続けて指定したいレコードタイプIdを記載します。
‘{!$User.Department}’ は差し込み項目でピックリストで選択して入力することができます。
‘?’はURLとパラメータ部分をつなぐ記号、’&’は異なる種類のパラメータをつなぐ記号です。
[構文を確認]し問題がなければ[保存]します。
↓
3.取引先のオブジェクトマネージャーの左メニュー[リストビューボタンレイアウト]に移動し、リストビュー欄の右端にある▼から[編集]へ進みます。
↓
4.カスタムボタンに先ほど作成したボタン(ここでは[新規取引先])が存在することを確認し、[追加]で「選択したボタン」欄に移動させて[保存]します。
↓
5.取引先のリストビューにボタンが追加されていることと想定通りに動作することを確認します。
新しく作成したカスタムの新規ボタンの動作が確認できましたら、必要に応じて4の手順内の図の箇所で標準の新規ボタンは非表示とすることもご検討ください。
②カスタムボタンでデフォルト値を設定し、親オブジェクトの関連リストボタンとして追加する。
次の方法は、上の方法と同様にカスタムボタンを使用しますがオブジェクトタブのリストビューではなく、親オブジェクトの関連リストに追加する方法です。
Name を始めとした項目に設定するデフォルト値に含めたい内容の中に親オブジェクトの情報(項目の値など)があり、関連リストから標準の[新規]ボタンを使用する際と同じく、ページレイアウトに準じた画面を使用したい場合におすすめの方法となります。
※関連リスト上の標準の[新規]ボタンのレイアウトは動的フォームの利用有無も関係しますので次のページも参考になさってください。
ここでは『取引先』の『商談』関連リストからカスタム[新規]ボタンを使用して、新しく作成する『商談』レコードのName項目「商談名」に取引先名+”商談”という文字列が事前入力された状態としたい場合の設定例を記載しています。
【 設定の流れ 】
最終的に追加するのは『取引先』ページの『商談』関連リストになりますが、カスタムボタンは『商談』のオブジェクトマネージャー上で作成します。
1.設定>オブジェクトマネージャー>『商談』>左メニューの[ボタン、リンク、およびアクション]>右上の[新規ボタンまたはリンク]と進みます。
↓
2.以下を参考に設定します。
- 表示ラベル:任意の文字を設定(ここでは”新規商談”)
- 名前:一意の英字から始まる英数字とアンダースコアで任意に設定(ここでは”NewOpportunityCustom”)
- 表示種別:リストボタン
- 動作:現在のウィンドウにサイドバー付きで表示
- コンテンツソース:URL
- URL内容
/lightning/o/Opportunity/new?defaultFieldValues=Name={!Account.Name}商談&useRecordTypeCheck=1
‘/lightning/o/Opportunity/new’
新規作成画面のURLで、Opportunity が取引先オブジェクトを指定している箇所。他のオブジェクトのレコード作成用のボタンの場合は Opportunity の箇所を希望するオブジェクトのAPI参照名に変更します。
‘defaultFieldValues=Name={!Account.Name}商談’
項目にデフォルト値を設定するためのパラメータと設定したい値です。Nameが「商談名」を指定している箇所となります。{!Account.Name}が「取引先名」で差し込み項目のピックリストを使って([差込項目の種類]:取引先|[項目の挿入]:取引先名)指定できます。他の項目にもデフォルト値を設定したい場合は”,”(半角カンマ)でつないで記載します。以下は「フェーズ(StageName)」のデフォルト値に”アプローチ“を追加で指定する場合の例になります。
/lightning/o/Opportunity/new?defaultFieldValues=Name={!Account.Name}商談,StageName=アプローチ&useRecordTypeCheck=1
‘useRecordTypeCheck=1’
レコードタイプを選択させるためのパラメータです。非記載の場合はデフォルトのレコードタイプが適用されます。特定のレコードタイプを指定したい場合は、’recordTypeId=’に続けて指定したいレコードタイプIdを記載します。
‘?’はURLとパラメータ部分をつなぐ記号、’&’は異なる種類のパラメータをつなぐ記号です。
[構文を確認]し問題がなければ[保存]します。
↓
3.取引先のオブジェクトマネージャーの左メニュー[ページレイアウト]から該当するページレイアウトを開き、「商談関連リスト」のプロパティ(レンチマーク)に進みます。
↓
4.ボタンのセクションを開きカスタムボタンの「利用可能なボタン」に作成したカスタムボタン[新規商談]が存在することを確認し[追加]で「選択したボタン」欄に移動させて[OK]を押して、ページレイアウトを[保存]します。
以下の手順で動作確認がとれた後でも構わないので、標準の[新規]ボタンは外すことを検討してください。
↓
5.『取引先』の「商談関連リスト」にボタンが追加されていることと想定通りに動作することを確認します。
③グローバルアクションでレコード名(Name)などの項目にデフォルト値を設定する。
続いて、組織のいろいろな場所で共通して利用できるグローバルアクションを使って レコード名(Name 項目)にデフォルト値を設定する方法になります。
グローバルアクションはデスクトップ画面右上にある+マークの他、ホームページ、Chatter タブ、オブジェクトページ、カスタム Lightning アプリケーションページなどアクションがサポートされているページといった、さまざな場所に配置し利用することができます。
その分、デフォルト値に含む要素もグローバルで利用できる内容(例えば作成日、作成者の情報や固定の文字列など)になります。
設定したいデフォルト値の要素に親オブジェクトに登録された情報を含めたい場合は、ページ内に記載のある以下の方法がおすすめです。
ここでは『取引先』のName項目「取引先名」に”株式会社”という文字列をデフォルト値として設定し、新規作成アクション画面で事前入力する状態としたい場合の設定の流れを例として記載しています。
【 設定の流れ 】
1.設定の検索で”グローバル”と検索し[グローバルアクション]に進みます。
↓
2.[新規アクション]から下記を参考に新しいアクションを作成して[保存]します。
※標準で準備されている[新規取引先]アクションにデフォルト値を設定する方法もございます。その場合はこのステップはスキップし、次のステップ3へ進んでください。もしレコードタイプを利用している場合はレコードタイプがマスタのままでは利用できませんのでレコードタイプの指定が必要となります。
- アクション種別:レコードを作成
- 対象オブジェクト:レコード作成したいオブジェクト(ここでは”取引先”)
- レコードタイプ:作成したいレコードタイプ(ここでは”顧客”)
- 表示ラベル:任意の文字を設定(ここでは”新規顧客”)
- 名前:一意の英字から始まる英数字とアンダースコアで任意に設定(ここでは”NewCustomer”)
説明・フィード項目を作成・成功メッセージ・アイコンは必要に応じて任意で登録や選択してください。
↓
3.レイアウトを編集して[保存]します。
アクションではレコード作成時に入力したい項目に絞ってレイアウトに配置することが推奨されています。
「取引先名」とは関係ありませんが、項目レイアウトの例として「電話」などをドラッグ&ドロップで追加しています。
↓
4.定義済み項目を新規追加します。
項目へのデフォルト値の設定は、定義済み項目値で設定します。
以下の[新規]の箇所から進めます。
↓
以下を参考に定義済み項目値(項目のデフォルト値)を登録して[保存]します。
- 項目名:取引先名
- 数式の値:項目のデフォルト値として設定したい内容を登録(ここでは”株式会社”)
必要に応じて、他の項目にも定義済の値(デフォルト値)を設定できます。ページ下部に記載させていただいているオブジェクト固有のアクションで、いくつか設定例を挙げておりますのでそちらもご参考になさってください。
↓
5.パブリッシャーレイアウトに進み、作成したアクションを追加します。
Lightning Experience では[モバイルおよび Lightning のアクション]に切り替えて作成したアクション[新規顧客]をドラッグ&ドロップで「Salesforce モバイルおよび Lightning のアクション」に追加して[保存]します。
↓
6.グローバルアクションが追加されていることと想定通りに動作することを確認します。
もしアクションを追加したのに表示が確認できない場合は、オブジェクトに対する作成権限、レコードタイプの割り当て、動的アクションの設定などをご確認ください。
アクションが表示されない時の確認点などについては、以下のページでも記載させていただいておりますので必要な場合には以下のページもご覧になってください。
⇨ Salesforce で編集ボタンやアクションボタンが表示されない場合の確認ポイントや対処法(動的アクションなど)
④親オブジェクトに固有のアクションを作成し、親オブジェクト項目を使用してレコード名などの項目にデフォルト値を設定する。
こちらは親子関係(主従関係・参照関係)の子側のレコードをアクションで新規作成することを前提に、Name を始めとする項目に親オブジェクトのレコードの情報を使用してデフォルト値を設定したい場合におすすめの方法となります。
入力を開始する際のアクションの配置箇所は、レコードページの上部に並んだボタンの位置(デスクトップではレコードページ右上の強調表示パネル、モバイルアプリではレコードページ上部のボタン)となります。
ここでは『取引先』レコード上のアクションを使用し、新しく作成する『商談』レコードのName項目「商談名」に取引先名+市区郡+”商談”で構成した文字列が事前入力された状態としたい場合の設定例を記載しています。
【 設定の流れ 】
1.設定>オブジェクトマネージャー>『取引先』>左メニューの[ボタン、リンク、およびアクション]>右上の[新規ボタンまたはリンク]と進みます。
↓
2.以下を参考に設定します。
- アクション種別:レコードを作成
- 対象オブジェクト:レコード作成したいオブジェクト(ここでは”商談”)
- レコードタイプ:作成したいレコードタイプ(ここでは”新規”)
- 表示ラベル:任意の文字を設定(ここでは”新規商談”)
- 名前:一意の英字から始まる英数字とアンダースコアで任意に設定(ここでは”NewOpportunityCustomAction”)
説明・フィード項目を作成・成功メッセージ・アイコンは必要に応じて任意で登録や選択してください。
↓
3.レイアウトを編集して[保存]します。
アクションではレコード作成時に入力したい項目に絞ってレイアウトに配置することが推奨されています。
「商談名」とは関係ありませんが、項目レイアウトの例として「種別」をドラッグ&ドロップで追加しています。
↓
4.定義済み項目を新規追加します。
項目へのデフォルト値の設定は、定義済み項目値で設定します。
以下の[新規]の箇所から進めます。
↓
以下を参考に定義済み項目値(項目のデフォルト値)を登録して[保存]します。
- 項目名:商談名
- 数式の値:項目のデフォルト値として設定したい内容を登録(こちらの例では以下)
Account.Name &"(" & Account.BillingCity &")" & "商談"
差し込み項目は[数式エディターの表示]>[項目の挿入]のピックリストで選択できます。
“(”、”)”、”商談”は、テキストのため半角ダブルクォーテーションで囲み、&で連結しています。
必要に応じて他の項目もデフォルト値を定義することができます。
「フェーズ」や「種別」は選択リストのため、特定値の選択で設定しています。
「完了予定日」は、商談作成日の1か月後の日付を数式で関数を利用して指定しています。
ADDMONTHS(TODAY(),1)
↓
5.ページレイアウトに進み、作成したアクションを追加します。
Lightning Experience でレコードを作成するオブジェクトの動的アクションが無効の場合は[ページレイアウト]から[モバイルおよび Lightning のアクション]に作成したアクション[新規商談(NewOpportunityCustomAction)]をドラッグ&ドロップで追加して[保存]します。
作成予定のオブジェクトで動的アクションを有効化している場合は、Lightning レコードページの強調表示パネルで表示するための設定を行います。
動的アクションに関することや追加したはずのアクションが表示されない場合の確認点などは以下のページで記載させていただいておりますので必要な場合には以下のページもご覧になってください。
⇨ Salesforce で編集ボタンやアクションボタンが表示されない場合の確認ポイントや対処法(動的アクションなど)
またいずれの場合も標準で準備されているグローバルアクションやAppExchangeアプリなどで追加されるアクションと間違わないようにご注意ください。
↓
6.『取引先』(親オブジェクト)レコードページに追加したアクションが表示され、想定通りに動作することを確認します。
レコード名(Name)項目に関するその他の運用や設定
取引先名や商談名、その他のオブジェクトのレコード名(Name)項目について、デフォルト値設定とは少し異なるためこのページでは概要のみの記載とさせていただきますが、以下のような運用パターンや設定も考えられます。
- そもそもレコード新規作成時の別の要件などにより、上記のカスタムボタンやアクション以外のフローなどの方法を使用することが決まっている場合は、そのフローなどの方法内でレコード名も設定することを検討します。
- 上記のいずれかの方法で、例えば「保存後に自動登録されますので入力は不要です」といった文言などを仮のデフォルト値として設定しておき、レコード保存時に起動するフローなどで上書き更新されるように設定する方法もございます。(新規レコード作成時に登録される情報などを利用したい場合など)
- 自動入力したレコード名のまま変更されたくない場合には、入力規則などで変更できないように対応するといった運用も考えられます。
まとめ
こちらのページでは、Salesforce(セールスフォース)のオブジェクトのレコード名(Name)項目に、デフォルト値を設定する方法や選択基準などについて記載させていただきました。
レコード名(Name)項目については、デフォルト値を定義して設定した方が良さそうに見えても、実装されていないケースをよく目にします。
簡単には実装できないと思われていたり、設定の仕方がわからないといった状況もあるようです。
Salesforce でレコード名の扱いについてご検討される際に、こちらのページが参考となりましたら幸いです。
ここまでご覧いただきありがとうございました。