dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

[Salesforce]テキスト、テキストエリア、ロングテキストエリア、リッチテキストエリア項目

ちょっとしたメモ。
カスタムオブジェクトのこれらの項目の違いについて。

特にテキストエリア項目とロングテキストエリア項目の違い、あんまりよくわかってなかったので整理しておく。

f:id:dackdive:20171009002620p:plain


最初にまとめ

項目 最大文字数 UI 改行入力 項目履歴管理
テキスト 255 テキストボックス 不可
テキストエリア 255 テキストエリア
リッチテキストエリア 131,072(*1) リッチテキストエリア
(表示行数指定可(*2))
不可
ロングテキストエリア 131,072(*1) テキストエリア
(表示行数指定可(*2))
不可
  • (*1) オブジェクトごとに、ロングテキストエリア項目とリッチテキストエリア項目で使用できる文字数は合計 160 万文字
  • (*2) Classic のみ反映


違い1:UI

f:id:dackdive:20171010013917p:plain

テキストエリアとロングテキストエリアに UI 上の違いはなく、またテキスト項目と異なり 3 つとも改行入力が可能。

なおリッチテキストエリアおよびロングテキストエリアについては、項目作成時に表示行数を指定することができるがこれは LEX には反映されないらしい。
Ideas がある。
# Visible Lines in Lightning Experience - Ideas - Salesforce Success Community


違い2:最大文字数

テキスト・テキストエリアは 255 文字。リッチテキストエリア・ロングテキストエリアは 1 項目あたり 131,072 文字が最大(最小は 256 文字)。
ただしリッチテキストエリア・ロングテキストエリアについては、1 項目あたりの最大文字数のほかに、オブジェクト全体での制限がある。

参考:カスタム項目の制限 | Salesforce Developer の制限クイックリファレンス | Salesforce Developers

各オブジェクトは、ロングテキストエリア項目とリッチテキストエリア項目で 160 万文字を使用できます。

これは、項目を定義するときにも表示される。

f:id:dackdive:20171010021206p:plain

画面上は 160 万文字ではなく 1,638,400 文字となっているので、文字数でなくデータサイズで上限が決まっている可能性あり。
(1,638,400 / 32,768 = 50 と割り切れるので)

また、リッチテキストエリアには太字やリンクなどを入力できるが、データとしては HTML になっているので実際に表示されている文字数と一致しなくなる。

f:id:dackdive:20171010022815p:plain


違い3:項目履歴管理の可否

地味だけど重要な違いとして。
リッチテキストエリア・ロングテキストエリアは最小文字数が 256 文字からだが、255 文字を超える場合は項目履歴管理で元の値と新しい値の追跡ができなくなる。

参考:項目履歴管理 | Salesforce セキュリティガイド | Salesforce Developers

255 文字を超える項目に対する変更は、編集済みとして追跡され、元の値と新しい値は記録されません。

※変更されたことは追跡可能


リファレンス