Salesforceのカスタム設定は使用されたことがありますか?
今回はカスタム設定の作成方法やデータの取得について解説します。

カスタム設定とは
カスタム設定がカスタムオブジェクトと異なる点は、
組織全体でカスタムデータセットを利用できることです。
そのため、カスタムデータセットの値を変更することで、
参照している複数箇所に一度に反映させることができます。
カスタム設定データはアプリケーションキャッシュで公開されるため、
データベースへのクエリを繰り返し行うコストをかけずにアクセスできます。
このデータは、数式項目、入力規則、フロー、Apex、SOAP API で使用できます。
※SOQLクエリを使用してデータアクセスした場合はアプリケーションキャッシュは活用されません。
Salesforce公式HELP:
Create Custom Settings
Custom Settings Limits and Considerations
カスタム設定の作成方法
カスタム設定でリストを作成するには
カスタム設定でリスト種別を作成するには設定で有効化されている必要があります。
Salesforceの設定から「スキーマ設定」と検索し、クリックします。
「リストカスタム設定の種別を管理」が「✓」でない場合はクリックして有効化します。

カスタム設定定義の作成
Salesforceの設定から「カスタム設定」と検索してクリックします。
「新規」ボタンをクリックしてカスタム設定定義を作成します。

表示ラベルとオブジェクト名を入力します。
設定種別は「リスト」または「階層」を選択します。
表示は「公開」または「保護」を選択します。
Salesforce公式HELP:
Define Custom Settings
Protection and Privacy Options for Custom Settings

カスタム設定定義が保存されます。
続いてカスタム項目を作成していきます。カスタム項目の「新規」をクリックします。

作成するカスタム項目のデータ型を選択します。
なお、カスタムメタデータ型では選択できたロングテキストエリア型や選択リスト型は選択できません。

データ型を選択したら詳細を設定します。
以下はテキスト型を選択した場合です。

最後に入力内容の確認があり、「保存」をクリックするとカスタム項目の作成完了です。

カスタム設定のレコード作成
レコード作成対象のカスタム設定定義を開き、「Manage」ボタンをクリックします。

「新規」ボタンをクリックします。

Name項目と作成したカスタム項目を入力して、保存します。

カスタム設定の取得と更新
Apex クラスでSOQLを使用してカスタム設定のレコードを取得することができます。
また、種別に応じたメソッドを使用して取得することもできます。
※リスト種別のカスタム設定は、数式項目で参照できません。
Salesforce公式HELP:Access Custom Settings with Code
まとめ
カスタム設定について解説しました。
カスタムオブジェクトやカスタムメタデータ型と似ていますが、組織全体で参照できること、
SOQLクエリを除いてアプリケーションキャッシュを活用できることが特徴です。
それぞれの特徴、強みを理解して活用していきましょう。