Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

選択リスト項目は大文字と小文字を区別せず、重複した無効な種別を含むことができない

公開日: Oct 13, 2022
説明
あるレコードに「TEST」と挿入し、別のレコードに「Test」と挿入して区別しようとするような、大文字小文字の違いのある複数の無効なエントリを選択リストで利用する必要性が生じます。「無効な」値は、データ型のドキュメントで定義されています。

このドキュメントには、次のように記載されています: PicklistEntry のない非制限選択リスト項目を挿入するには、システムは「無効な」選択リストを作成します。この値は、Salesforce ユーザインターフェースで選択リストの値を追加すると「有効な」選択リストとなります。

そのため、選択リストのエントリに 「TEST」、「Test」、「test」を含める必要がある場合、まず最初に 1 つ、つまり「Test」を挿入します。「TEST」と「test」の後続のエントリはすべて「Test」になります。比較はオブジェクトレベルで行われるため、選択リストの値に大文字小文字を区別することはできません。異なる大文字小文字の選択リスト値を挿入しようとした場合、それらは同一とみなされ、2 番目のエントリは最初のエントリの値を取ります。これは、選択リストの値が特定のレコードに固有のものではなく、オブジェクト全体に結びついているからです。
解決策
項目にレコードごとの一意性を持たせたい場合は、トリガのみで更新される読み取り専用のテキスト項目を作成する必要があります。そうすれば、トリガの更新で値を好きな場所に配置することができます (例えば、接頭辞や接尾辞など)。これらの値をハードコーディングすることも、また、挿入する必要のある大文字小文字の多様な組み合わせのテキストの保存場所として機能するカスタム設定のようなものを用意することもできます。これにより、レコードごとの一意性を保つことができます。なぜなら、選択リストの値は同じ文字列で複数のエントリを許可していないからです (つまり、大文字小文字を区別しない比較)。
ナレッジ記事番号

000386557

 
読み込み中
Salesforce Help | Article