カスタム設定はもともとあった機能なんで、わざわざ紹介しなくてもいいかなあと思います。しかし、カスタムメタデータ型ができてから、余計に迷ってしまいます。こんにちは、管理人の@Salesforce.Zです。今回、カスタム設定、カスタムメタデータをより詳しく区別していきたいと思います。間違えたら、ご指摘を宜しくお願い致します。
Contents
カスタム設定
- 数式項目
- 入力規則
- APEX
- SOAP API
上記のいずれからもアクセスできます。
数式からのアクセス例
数式項目は階層カスタム設定でのみ機能し、リストカスタム設定には使用できません。
1 |
{!$Setup.CustomSettingName__c.CustomFieldName__c} |
APEXからのアクセス例
リストカスタム設定のサンプル
カスタム設定にデータを追加する例では、カスタム設定データの対応付けが返されます。getAll
メソッドは、リスト設定に関連付けられているすべてのカスタム項目の値を返します。
1 |
Map<String_dataset_name, CustomSettingName__c> mcs = CustomSettingName__c.getAll(); |
次の例では、指定したデータセットに関連付けられているすべての項目値を返す getValues
メソッドを使用します。このメソッドは、異なるパラメータを使用して、リストと階層のどちらのカスタム設定でも使用できます。
1 |
CustomSettingName__c mc = CustomSettingName__c.getValues(data_set_name); |
階層カスタム設定のサンプル
組織レベルのデータセット値を返す getOrgDefaults
メソッドを使用 する例になります
1 |
CustomSettingName__c mc = CustomSettingName__c.getOrgDefaults(); |
次の例では、指定したプロファイルのデータセット値を返す getInstance
メソッドを使用します。getInstance
メソッドは、ユーザ ID で使用することもできます。
1 |
CustomSettingName__c mc = CustomSettingName__c.getInstance(Profile_ID); |
カスタムメタデータ
- カスタマイズ可能
- リリース可能
- パッケージ化可能
- アップグレード可能
上記いずれも可能なアプリケーションメタデータです
最後に
カスタム設定は手動で、本番環境にデータを登録する必要があります
カスタムメタデータは変更セットで、データの移行可能