tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:組織で共通の数式項目を用意する方法

Salesforceのカスタマイズで便利な数式項目ですが、不特定多数のオブジェクトで共通で利用できるような式の場合、一箇所で管理できると便利だと思います。


そんなときはカスタム設定が便利です。設定種別が階層型のカスタム設定なら数式項目からでも$Setupで呼び出す事が可能です。これを利用すればカスタム設定に登録した値を複数のオブジェクトで参照することが可能です。
f:id:tyoshikawa1106:20160811035039p:plain


・・・なのですが、カスタム設定には作成できるデータ型に数式項目が用意されていません。そのため『本日の曜日』をセットするといったことは通常できません。


この問題の解決方法ですが、Apexをスケジュール登録して実行する機能を利用することで解決できます。
f:id:tyoshikawa1106:20160811035323p:plain


定期的に実行するApexバッチを登録して処理を行うときに利用する機能ですが、バッチ以外のApex処理も実行することが可能です。これを使って1日1回カスタム設定の値を更新するようにすれば値を動的に変更できるかと思います。


けっこう頑張らないといけない感じですが、組織で共通の数式項目を用意する方法としてはこういったやり方が考えられました。