べにおブログ

学んだことを、ゆっくり深く。

項目が見えない原因を切り分ける:FLS・ページレイアウト・動的フォーム

結論:まずこれだけ覚える

レコードを開けるのに特定の項目だけ見えない場合は、次の順で確認します。

  1. **項目レベルセキュリティ(FLS)**で[参照]が許可されているか
  2. 標準の[レコードの詳細]を使うページなら、対象のページレイアウトに項目があるか
  3. 動的フォームを使うページなら、Lightning App Builderに項目が配置され、表示ルールを満たしているか
  4. 意図したLightningレコードページが、対象アプリ・レコードタイプ・プロファイルへ割り当てられているか FLSは項目データへのアクセス権です。ページレイアウトや動的フォームの表示ルールは画面構成であり、FLSの代わりとなるセキュリティ設定ではありません。

最初に確認するアクセス階層

項目表示を調べる前に、ユーザーが対象レコードを開けることを確認します。

制御主な対象
オブジェクト権限そのオブジェクトを参照・作成・編集・削除できるか
レコードアクセスそのオブジェクトのどのレコードを参照・編集できるか
項目レベルセキュリティレコード内のどの項目を参照・編集できるか
ページレイアウト/動的フォームレコードページ上で項目をどこに、どの条件で表示するか

レコード自体を開けない場合は、ページレイアウトではなく、オブジェクト権限や共有設定を先に確認します。


項目レベルセキュリティ(FLS)

FLSは、項目ごとに次のアクセスを制御します。

  • [参照]:項目と値を表示できる
  • [編集]:項目値を変更できる FLSはレコードの詳細・編集ページだけでなく、関連リスト、リストビュー、レポート、検索結果など、アプリ全体の項目アクセスに適用されます。 プロファイルの項目権限に加え、割り当てられた権限セットや権限セットグループによってアクセスが追加されることがあります。権限セットはアクセスを付与する仕組みであり、別の権限セットで既存の参照権限を取り消すことはできません。対象ユーザーの有効な権限の合計を確認します。

⚠️ ページレイアウトや動的フォームで項目を隠しても、FLSで参照可能なら、レポートやリストビューなど別の場所から値を参照できる場合があります。機密項目を保護するにはFLSを使用します。


ページレイアウトを使うレコードページ

Lightningレコードページに標準の[レコードの詳細]コンポーネントが配置されている場合、表示する項目と並び順はページレイアウトから取得されます。 ページレイアウトは、プロファイルとレコードタイプの組み合わせへ割り当てられます。同じユーザーでも、レコードタイプが異なると別のレイアウトが適用されることがあります。 項目が見えない場合は、次を確認します。

  • 対象ユーザーとレコードタイプに適用されるページレイアウト
  • そのレイアウトへの項目配置
  • レイアウト上での参照のみ設定
  • 対象ユーザーのFLS FLSで[参照]が許可されていても、レイアウトに配置されていない項目は、そのレコード詳細コンポーネントには表示されません。

動的フォームを使うレコードページ

動的フォームでは、項目と項目セクションをLightning App Builderへ直接配置します。レコード詳細の項目配置をページレイアウトエディターで管理する必要はありません。 動的フォームで項目が見えない場合は、次を確認します。

  • 項目または項目セクションがLightningレコードページに配置されているか
  • 項目・セクションの表示ルールを満たしているか
  • 対象のLightningレコードページがユーザーへ割り当てられているか
  • 対象ユーザーのFLSで[参照]が許可されているか 表示ルールでは、レコード項目値、ユーザーのプロファイルや権限、端末などを条件に項目やセクションを表示・非表示にできます。ただし、表示ルールで隠してもFLSは変更されません。

新規カスタム項目を作成した直後の確認

現在のカスタム項目作成ウィザードでは、組織の設定に応じてプロファイルまたは権限セットの項目アクセスを設定できます。また、対象オブジェクトに動的フォーム対応のLightningレコードページがある場合は、追加先ページを選択できます。 作成後にユーザーが項目を利用できない場合は、次の設定漏れを確認します。

  • プロファイルまたは権限セットでFLSを付与していない
  • 使用中のページレイアウトに追加していない
  • 使用中の動的フォームページに追加していない
  • 別のLightningレコードページが割り当てられている
  • 表示ルールの条件を満たしていない

切り分け表

状態レコードページレポートなど他の場所
FLSの[参照]なし表示されない表示されない
FLSあり、ページレイアウトに配置なし標準のレコード詳細には表示されない利用できる場合がある
FLSあり、動的フォームに配置なしそのLightningページには表示されない利用できる場合がある
FLSあり、動的フォームの表示条件が偽条件を満たすまで表示されない利用できる場合がある
FLSの[参照]あり・[編集]なし参照のみ参照できるが編集できない

トラブルシューティング手順

  1. 対象ユーザーとして、対象レコードを開けるか確認する
  2. ユーザーのプロファイル、権限セット、権限セットグループから、対象項目の有効な[参照]・[編集]権限を確認する
  3. レコードページが[レコードの詳細]を使用しているか、動的フォームを使用しているか確認する
  4. [レコードの詳細]の場合は、プロファイル×レコードタイプに割り当てられたページレイアウトを確認する
  5. 動的フォームの場合は、Lightning App Builderで項目配置と表示ルールを確認する
  6. Lightningレコードページのアプリ・レコードタイプ・プロファイル割り当てを確認する
  7. 対象ユーザーで再度テストし、参照と編集を分けて確認する

試験での判別ポイント

  • 新規項目がレコードページにない → FLSとページレイアウトを確認
  • 動的フォームを使用している → Lightning App Builderの項目配置・表示ルールも確認
  • レポートを含めて項目を見せたくない → FLS
  • レコード自体が見えない → OWD、ロール階層、共有などのレコードアクセス
  • 同じプロファイルでもレコードタイプによって表示が違う → ページレイアウト割り当て

出典(Salesforce公式)

  • Control Access to Fields — FLSが項目の参照・編集をアプリ全体で制御し、ページレイアウトは詳細・編集ページ上の表示を整理する機能であることを裏付ける。
  • Create a Custom Field — カスタム項目作成時のFLS設定と、動的フォーム対応Lightningレコードページへの追加手順を裏付ける。
  • Get Started With Dynamic Forms — 動的フォームで項目とセクションをLightning App Builder上に配置し、ページレイアウトとは独立して管理できることを裏付ける。
  • Add Visibility Rules for Dynamic Pages — 動的フォームの項目・項目セクションに、項目値、プロファイル、権限、端末などの表示ルールを設定できることを裏付ける。
  • Dynamic Forms Tips and Considerations — 動的フォームの表示ルールで隠した項目はFLSで保護されたわけではなく、レポートやリストビューなどで参照できる場合があることを裏付ける。