コードを使用したカスタム設定へのアクセス
カスタム設定には、Apex、SOAP API、および数式からアクセスできます。
必要なエディション
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience。 |
使用可能なエディション: Group Edition、Professional Edition、Developer Edition、Enterprise Edition、Performance Edition、Unlimited Edition、Database.com Edition。 パッケージは、Database.com Edition では使用できません。 |
メモ 数式には、フロー、ワークフロールール、承認プロセス、入力規則、数式項目、およびプロセスビルダープロセスなどが含まれます。
次に、サンプルコードセグメントを示します。
- 数式項目
- 数式項目は階層カスタム設定でのみ機能し、リストカスタム設定には使用できません。
{!$Setup.CustomSettingName__c.CustomFieldName__c} - Apex
- Apex はどちらのカスタム設定にもアクセスできます。
- リストカスタム設定のサンプル
- カスタム設定にデータを追加するときに、各データセットに名前を付けて区別できるようにします。次の例では、カスタム設定データの対応付けが返されます。
getAllメソッドは、リスト設定に関連付けられているすべてのカスタム項目の値を返します。Map<String_dataset_name, CustomSettingName__c> mcs = CustomSettingName__c.getAll(); - 次の例では、指定したデータセットに関連付けられているすべての項目値を返す
getValuesメソッドを使用します。このメソッドは、異なるパラメーターを使用して、リストと階層のどちらのカスタム設定で使用できます。CustomSettingName__c mc = CustomSettingName__c.getValues(data_set_name); - 階層カスタム設定のサンプル
- 次の例では、組織レベルのデータセット値を返す
getOrgDefaultsメソッドを使用します。CustomSettingName__c mc = CustomSettingName__c.getOrgDefaults();次の例では、指定したプロファイルのデータセット値を返す
getInstanceメソッドを使用します。getInstanceメソッドは、ユーザー ID で使用することもできます。CustomSettingName__c mc = CustomSettingName__c.getInstance(Profile_ID);
- SOAP API
- [プライバシー] が [公開] に定義されているカスタム設定は、カスタムオブジェクトと同じように API に公開されます。カスタム設定が管理パッケージに含まれ、カスタム設定の [プライバシー] が保護されている場合は、管理パッケージの一部である Apex コードまたは数式でのみこの設定にアクセスできます。
メモ カスタム設定データには、Standard Object Query Language (SOQL) クエリを使ってアクセスできますが、この方法はアプリケーションキャッシュを活用しません。カスタムオブジェクトの問い合わせに類似しています。
関連項目:
この記事で問題は解決されましたか?
ご意見をお待ちしております。

