tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:デフォルト値とカスタム表示ラベル

カスタム項目に値を入力する画面で初期値を指定したい場合は、各項目のデフォルト値に値を指定することで対応できます。
ロングテキストエリア項目の場合で改行を指定した場合は「BR()」の関数を差し込むことで任意の箇所で改行させることができます。

デフォルト値設定例

f:id:tyoshikawa1106:20130526113824p:plain

標準の入力画面

f:id:tyoshikawa1106:20130526113901p:plain

しかし、VisualforceページのinputFieldでこの項目を表示すると、正常に改行されずに_BR_ENCODED_と表示されてしまいます。

VFの入力画面

f:id:tyoshikawa1106:20130526114059p:plain

この現象についてはSalesforce Known Issuesというサイトに紹介されており、カスタム項目のデフォルト値として、BR()関数を使用しているとき_BR_ENCODED_が表示されてしまうというバグみたいです。

Salesforce Known Issues

https://success.salesforce.com/issues_view?id=a1p30000000SfbRAAS


JavaScriptで対応する方法が紹介されていますが、カスタム表示ラベルを使用する方法でも対応が可能です。

カスタム表示ラベル作成例

f:id:tyoshikawa1106:20130526115001p:plain

次のようにカスタム項目のデフォルト値にカスタム表示ラベルを指定できます。

デフォルト値の設定例

f:id:tyoshikawa1106:20130526115104p:plain

カスタム表示ラベルはBR()を使用せずに改行を指定できるので、VisualforceページのinputFieldでも正常に改行されて表示できます。

VFの入力画面

f:id:tyoshikawa1106:20130526115222p:plain

値を変更したい場合、カスタム項目の設定画面ではなくカスタム表示ラベルで行わなくてはならなくなりますが、コーディングせずに対応できるので便利だと思います。