Administrator 練習問題 Q85
Cloud Kicksのユーザーは、商談の種類に基づいてOpportunityオブジェクトにカスタム選択リストをアップロードするときにさまざまなオプションを報告しています。管理者は選択リストのオプションをどこで更新する必要がありますか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:C. レコードタイプ
解説
前提知識
選択リスト値セットとは
選択リスト項目を作成すると同時に作られる、その項目で使用できる値の「全体の候補」を管理する仕組みです。値セットには、その項目専用のものと、複数の項目で使い回せるグローバル値セットがあります。値セットが管理しているのは「この項目に存在しうる値の全集合」です。「どの場面でどれを見せるか」は、値セットではなくレコードタイプが決めます。
レコードタイプとは
レコードタイプは、同じオブジェクトの中に「種類」を作る仕組みです。例えば同じ商談でも、「新規取引先向け商談」と「パートナー経由の商談」では、使うフェーズも入力する項目も違います。この違いをレコードタイプとして定義します。レコードタイプがコントロールするのは主に3つです。
- どのページレイアウトを使うか
- 選択リストのうち、どの値を表示するか
- (商談・ケース・リードなら)どのビジネスプロセスを使うか つまり、「同じ項目なのに、レコードの種類によって選択肢が違う」という現象は、ほぼ間違いなくレコードタイプが仕事をしている証拠です。
📘 ここがまだモヤッとする方へ:レコードタイプとは何か:同じオブジェクトに複数の「種類」を作る仕組み
選択リスト値セットとレコードタイプの役割分担
| 問い | 答える場所 |
|---|---|
| その値はそもそも存在するか? | 選択リスト値セット |
| どの種類のレコードでその値を見せるか? | レコードタイプ |
この二層構造を押さえることが、この問題のすべてです。
設問の状況を分解する
- Cloud Kicksのユーザーが、商談のカスタム選択リストで、商談の種類(レコードタイプ)によって見えるオプションが違うと報告している。
- これは、レコードタイプごとに選択リストの利用可能な値が個別設定されているために起きる、Salesforceの標準的な挙動です。
- 管理者がこのオプションの表示内容自体を変更したい場合、設定を行う画面はレコードタイプの編集画面にあります。 初学者が誤解しやすいのは、「選択肢の話なのだから、選択リストの設定画面を見ればいいはず」と考えてしまう点です。しかし、項目の値セットを見ても値の全部入りのリストしか見えません。ユーザーが実際に見ているのはその部分集合であり、どの部分集合を見せるかはレコードタイプ側で定義されています。「種類によって違う」と言われた瞬間に、見るべき場所はレコードタイプです。
選択肢の検討
A. フィールドと関係 → ✕
[オブジェクトマネージャ]の[項目とリレーション]は、項目を作成・編集する入口です。そこから選択リスト項目を開けば値セットにたどり着けますが、レコードタイプごとの割り当てを編集する場所ではありません。入口の名前を答えているだけで、問われている設定場所を指していません。これが正解になるのは、「新しい項目を作りたい」「項目のデータ型や項目名を変えたい」ときです。
B. 関連するルックアップフィルター → ✕
ルックアップフィルターは、参照項目(ルックアップ)で選べるレコードを絞り込む機能です。例:「商談の取引先担当者には、その取引先に所属する人だけを選べるようにする」。選択リストの値には一切関係しません。これが正解になる場面は、「参照項目の検索結果に余計なレコードが出てくる」という報告のときです。
C. レコードタイプ → ⭕ 正解
レコードタイプの編集画面には、そのレコードタイプで使う選択リスト値を項目ごとに割り当てるセクションがあります。「商談の種類によって違うオプションが出る」のはこの割り当ての結果なので、表示されるオプションを変えたければレコードタイプを編集します。設問の状況と原因が完全に一致します。
D. 選択リスト値セット → △(惜しいが不正解)
値セットは「値のマスター一覧」です。新しい値を作る・廃止するときにはここを触ります。しかし、ここを変えても「どの種類の商談で見せるか」は変わりません。値セットに値を追加しても、レコードタイプに割り当てなければユーザーの画面には出てこない、というのがよくあるつまずきです。これが正解になる場面は、「どのレコードタイプでも使えない新しい値を追加したい」「全体から値を廃止したい」という問いのときです。今回は「種類に応じて異なる」と明記されているので、表示の割り当てを問われています。 判別基準は一つです。「値がない」なら値セット、「値はあるのに見え方が種類ごとに違う」ならレコードタイプ。
管理者としての対処手順
- [設定]→[オブジェクトマネージャ]→[商談]→[レコードタイプ]を開く。
- 対象のレコードタイプを選び、「選択リストを使用可能な項目」のセクションで対象項目の[編集]をクリックする。
- 左右のリスト(使用可能な値/選択した値)で、そのレコードタイプに見せたい値を調整する。デフォルト値もここで指定できる。
- 保存し、各レコードタイプで実際に商談を作成して表示を確認する。 新しい値を追加したい場合は順番が逆になります。
- [項目とリレーション]→対象の選択リスト項目→値セットに新しい値を追加する。
- 追加画面で「どのレコードタイプに割り当てるか」を必ずチェックする(ここを忘れると「追加したのに出てこない」となります)。
あわせて覚えておきたいポイント
- 選択リスト値セットは「全体の候補」、レコードタイプは「そのレコードタイプで見せる部分集合」という二段構えで覚えておきましょう。
- レコードタイプは「見せ方」を決める機能であって、セキュリティ機能ではありません。レコードタイプで値を隠しても、データ自体は存在します(APIやデータローダ経由では別の値も入ります)。厳密に制限したいなら入力規則を併用します。
- 依存選択リストとは別物です。レコードタイプは「レコードの種類」で値を絞りますが、依存選択リストは「同じレコード内の別項目の値」で絞ります。「種類で変わる」ならレコードタイプ、「上の項目を選んだら変わる」なら依存選択リストです。
- ユーザーにレコードタイプを割り当てる必要があります。レコードタイプはプロファイル(または権限セット)に割り当てて初めて使えます。「作ったのに選べない」という問い合わせの定番の原因です。
- 新しく選択リストの値を追加しても、既存のレコードタイプには自動的に反映されないことがあるため、値の追加時は各レコードタイプの設定もあわせて確認しましょう。
出典(Salesforce公式)
- Edit Picklists for Record Types and Business Processes — レコードタイプ(およびビジネスプロセス)の設定画面で、そのレコードタイプで使用できる選択リスト値を編集する(本問の決定的根拠)
- Get Values for All Picklist Fields of a Record Type — 「選択リスト値はレコードタイプ単位でスコープされる」という仕様の根拠
- Newly Created Picklist Value Not Appearing on Record — 選択リストの値がレコードタイプごとに利用可能かどうかを確認し、新しい値を追加する際は正しいレコードタイプに割り当てられていることを確認する必要があることの根拠