はじめに
ページレイアウトやレコードタイプはSalesforceの基本の1つです。しかし、実際に実装してみると意外と難しいものです。
今回は、Salesforceビギナーの私が初めて要件に沿ってレコードタイプとページレイアウトによる項目の表示制御を設定した時のお話をしたいと思います。
要件
今回は、取引先周辺の実装にフォーカスしていきます。
頂いた要件は下記です。
- A社のSalesforceにB社も追加したい
- 取引先については、お互いのレコードを参照可能
- 各社に専用項目があり、A社ユーザーがB社のレコードを参照した場合はB社専用項目が表示されない
- 専用項目の中には、別会社ユーザーの画面に表示されないが、レポートには表示される項目がある
- 両社のレコードが参照可能なユーザーも存在する
この要件を実現するためには、主にプロファイル、項目レベルセキュリティ、レコードタイプ、ページレイアウトを設定する必要があります。
1つずつ見ていきましょう。
プロファイル
まず、A社とB社が同じ組織に所属しながら異なる権限を持つためには、プロファイルを分ける必要があります。また、両社のレコードを参照可能なユーザーにも別のプロファイルが必要です。
A社用プロファイル、B社用プロファイル、両社参照可能なユーザー用のプロファイルを用意しましょう。
項目レベルセキュリティ
レポートへの表示有無は、項目レベルセキュリティで制御する必要があります。
ページレイアウトへの表示有無は、後述するページレイアウトで設定します。
具体的な設定値は下記になります。
- A社のページレイアウトには表示しないが、レポートには表示するB社専用項目
→A社のプロファイルに対して有効
- A社のページレイアウトにもレポートにも表示しないB社専用項目
→A社のプロファイルに対して無効
※A社専用項目についても同様
また、両社のレコードが参照可能なプロファイルに対しての設定は、いずれの項目も有効に設定します。
レポートタイプ
取引先のレポートタイプはA社用とB社用の2つを用意します。
ページレイアウト
ページレイアウトは、各レポートタイプに2つずつ作成する必要があります。
各ページレイアウトの詳細は下記になります。
- A社ユーザー用のA社ページレイアウト
使用ユーザー:A社ユーザー
取引先:A社の取引先
A社専用項目:配置する
B社専用項目:配置しない
有効にするレポートタイプ:A社用
有効にするプロファイル:A社プロファイル、両社のレコードが参照可能なプロファイル
- A社ユーザー用のB社ページレイアウト
使用ユーザー:A社ユーザー
取引先:B社の取引先
A社専用項目:配置しない
B社専用項目:配置しない
有効にするレコードタイプ:B社用
有効にするプロファイル:A社プロファイル
- B社ユーザー用のA社ページレイアウト
使用ユーザー:B社ユーザー
取引先:A社の取引先
A社専用項目:配置しない
B社専用項目:配置しない
有効にするレポートタイプ:A社用
有効にするプロファイル:B社プロファイル
- B社ユーザー用のB社ページレイアウト
使用ユーザー:A社ユーザー
取引先:B社の取引先
A社専用項目:配置しない
B社専用項目:配置する
有効にするレコードタイプ:B社用
有効にするプロファイル:A社プロファイル、両社のレコードが参照可能なプロファイル
おわりに
今回の要件のようにユーザーの所属によって項目の表示制御をするためには、プロファイル、項目レベルセキュリティ、レコードタイプ、ページレイアウトを駆使して実装します。関与する機能が多い分最初は難しいですが、コツを掴めば複雑な表示制御も実現可能にする便利な武器になってくれそうです。