【Salesforce】動的フォームで意図した結果にならない時の管理者設定と利用条件の切り分け

【Salesforce】動的フォームで意図した結果にならない時の管理者設定と利用条件の切り分け
🛡️ 超解決

Salesforceで動的フォームを利用していると、表示される項目が想定と異なる、あるいは本来表示されるべき項目が表示されないといった状況に遭遇することがあります。動的フォームは、ユーザーのプロファイルや条件に応じて画面を柔軟に変更できる便利な機能ですが、管理者側の設定ミスやユーザー側の権限制約が原因で、期待通りに動作しないケースが少なくありません。本記事では、動的フォームが想定と違う場合に、管理者設定と利用条件のどちらに問題があるのかを切り分けるための具体的な手順と判断基準を解説します。

【要点】この記事で確認すること

  • 最初に見る場所: オブジェクト管理画面の「動的フォーム」設定と、プロファイルまたは権限セットの「項目レベルセキュリティ」です。
  • 切り分けの軸: 管理者設定(ページレイアウト・動的フォームルール)とユーザー条件(ライセンスタイプ・プロファイル・権限セット・ブラウザ環境)の2軸で原因を特定します。
  • 注意点: 動的フォームの設定変更は組織全体に影響する可能性があります。変更する前に、Sandbox環境でテストすることを推奨します。

ADVERTISEMENT

1. 動的フォームの仕組みと表示条件の基礎

動的フォームは、従来の静的ページレイアウトと異なり、レコードの項目を条件に応じて表示・非表示にする機能です。表示条件は「動的フォームルール」として定義され、各ルールには「条件」と「表示する項目」を設定します。このルールは、オブジェクト管理画面の「動的フォーム」セクションで管理され、プロファイルや権限セットごとに適用するルールを選択できます。また、ユーザーが参照できる項目は、項目レベルセキュリティ(FLS)で制御されるため、ルールで表示対象としていてもFLSで参照権限がなければ表示されません。動的フォームが想定通りに動かない原因の大半は、このルール設定とFLSの組み合わせにあります。

動的フォームの適用範囲

動的フォームは、SalesforceのLightning ExperienceおよびSalesforceアプリでのみ利用可能です。Classic環境では動作しません。また、モバイルアプリや一部のコンポーネントでは制限があるため、想定と異なる表示になる場合は、まず利用している環境がサポート対象か確認してください。

2. 管理者設定による影響の切り分け手順

管理者設定が原因である可能性は高いため、まずこちらから確認します。以下の手順に沿って進めてください。

  1. 設定画面で「オブジェクトマネージャ」を開き、対象のオブジェクトを選択します。
  2. 「動的フォーム」セクションを開き、現在有効なルールを確認します。ルールが1つも存在しない場合は、静的ページレイアウトが使用されているため、動的フォーム自体が適用されていません。
  3. ルールが存在する場合、各ルールの条件と表示される項目を確認します。条件式に誤りがないか、複数のルールが競合していないかをチェックします。
  4. プロファイルまたは権限セットの「項目レベルセキュリティ」で、対象の項目が「参照可能」に設定されているか確認します。読み取り専用でも表示はされますが、編集権限がないとフォーム上で入力できません。
  5. 「ページレイアウトの割り当て」で、対象のプロファイルが正しいページレイアウトを割り当てられているか確認します。動的フォームはページレイアウトの上に重ねて表示されるため、レイアウト自体が間違っていると表示に影響します。

よくある管理者設定のミス

動的フォームのルールで、表示条件に「レコードタイプ」を指定している場合、ユーザーがアクセスしているレコードタイプが条件に合わないと、ルールが適用されません。また、ルールの優先順位を間違えていると、想定とは異なるルールが適用されることがあります。ルールは上から順に評価され、最初に条件を満たしたルールが適用されるため、複数のルールが同じ条件を持つ場合は注意が必要です。

原因 確認項目 解決策
動的フォームルールが未設定 オブジェクト管理の「動的フォーム」にルールが存在しない ルールを作成するか、静的ページレイアウトに切り替える
FLSで項目が参照不可 プロファイル・権限セットの項目レベルセキュリティ 「参照可能」をチェック
ルール条件の誤り ルールの条件式(例:レコードタイプ、項目値) 条件式を見直し、テストユーザーで確認
ページレイアウトの割り当てミス プロファイルに割り当てられたレイアウト 適切なレイアウトに再割り当て

3. ユーザー側の利用条件による影響

管理者設定が正しい場合でも、ユーザー個別の条件によって動的フォームが想定と異なることがあります。代表的な要因を以下に整理します。

ライセンスタイプと権限

動的フォームを利用するには、Salesforceのライセンスが「Lightning Experience ユーザー」または「Salesforce Platform」など、動的フォームをサポートするライセンスである必要があります。また、権限セットやプロファイルで「動的フォームの管理」権限が有効になっているかも確認しましょう。権限がない場合、ルールが適用されません。

ブラウザとキャッシュの問題

ブラウザのキャッシュが古いと、動的フォームの変更が反映されないことがあります。特に、管理者がルールを変更した直後は、ユーザー側でブラウザのキャッシュをクリアしてから再読み込みする必要があります。また、サポート対象外のブラウザ(例:Internet Explorer 11)を使用していると、動的フォームが正常に動作しないため、最新のChrome、Firefox、Edge、Safariを推奨します。

レコードタイプと条件の不一致

動的フォームのルールで特定のレコードタイプを条件にしている場合、ユーザーが作成または編集しているレコードのレコードタイプが異なると、そのルールは適用されません。レコードタイプが正しいか確認し、必要に応じてルールの条件を見直してください。

4. 実際の切り分け手順と判断基準

それでは、実際に問題が発生した際の切り分け手順をまとめます。以下の順序でチェックすることで、原因を効率的に特定できます。

  1. 環境の確認: ユーザーがLightning Experienceを使用しているか、サポート対象のブラウザか確認します。
  2. 表示の差異を特定: どの項目が表示されるべきか、実際に何が表示されているかを正確に把握します。複数のユーザーで同じ現象が起こるかどうかも重要な手がかりです。
  3. 管理者画面でルールを確認: オブジェクト管理画面で動的フォームルールの一覧とその条件を確認します。特に、表示されない項目がルールに含まれているか、条件が正しいかをチェックします。
  4. FLSの確認: ユーザーのプロファイルまたは権限セットで、該当項目の参照権限があるか確認します。
  5. テストユーザーでの検証: 管理者権限を持つユーザーで同じ操作を試し、問題が再現するか確認します。管理者で正常に表示される場合は、ユーザー権限の問題です。

5. よくある質問と再発防止策

よくある質問

Q: 動的フォームのルールを変更したのに、ユーザーに反映されません。どうすればよいですか?
A: 変更が反映されるまでに数分かかる場合があります。また、ユーザー側でブラウザのキャッシュをクリアしてもらい、再ログインすることを推奨します。即時反映が必要な場合は、組織の設定で「キャッシュの有効期限」を短くすることも検討してください。

Q: 動的フォームと静的ページレイアウトを併用できますか?
A: 特定のオブジェクトでは、動的フォームと静的ページレイアウトを切り替えることはできません。動的フォームを有効にすると、そのオブジェクトでは動的フォームルールが優先され、ページレイアウトの設定は一部のみ影響します(例:関連リストの表示など)。

Q: 特定のプロファイルだけ動的フォームが表示されません。
A: そのプロファイルに動的フォームルールが割り当てられているか確認してください。ルールの割り当てはプロファイルまたは権限セットごとに行うため、割り当て漏れが原因の可能性が高いです。

再発防止のためのポイント

動的フォームの設定変更は、必ずSandbox環境でテストしてから本番に適用してください。また、変更履歴を管理するために、設定変更のたびにチケットや変更管理ドキュメントに記録することを推奨します。定期的にユーザーからのフィードバックを収集し、想定通りの表示になっているか確認することも重要です。

6. まとめ

動的フォームが想定と違う場合、まず管理者設定(ルールとFLS)を確認し、次にユーザー条件(ライセンス・ブラウザ・レコードタイプ)を切り分けることで、原因を効率的に特定できます。特に、ルールの条件と優先順位、項目レベルセキュリティの設定漏れが原因となるケースが多いため、定期的なレビューが有効です。本記事で紹介した手順を参考に、問題の切り分けと再発防止に役立ててください。


この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。