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

選択リスト値を項目に追加しようとするときに発生する「重複値」エラー

公開日: May 18, 2026
説明

重複値エラーは、以前に項目から値が削除されている場合や、記事「新しい一意な選択リスト値の「重複値」エラー 」に記載されている問題の結果として発生することがあります。この記事には、システム管理者または開発者がメタデータ API で選択リスト値を再有効化してこの動作を修正するための手順が記載されています。

Salesforce Extensions to VS Code移行ツール などのメタデータリリースツールに精通している場合、これらのツールを使用して、対象の項目のメタデータを取得できます。次に、対象の選択リスト値と属性を追加して、生成された XML を手動で更新します。


<isActive>true</isActive>

リリースツールについての詳細は、「リリースツールオプション」 を参照してください。

注: メタデータ API で取得するときに、無効な選択リスト値は対象の選択リストのメタデータに含まれません。対象の値は、リリースする前に手動で XML に追加する必要があります。

メタデータは、削除 (無効化) された選択リスト値を再有効化するためにリリースされます。 
解決策
警告!
以下の内容の詳細は暗黙に提供されるものであり、この解決策を本番環境に実装する前に Sandbox 環境で徹底的にテストし、確認する必要があります。Metadata API は、正しく使用されない場合、潜在的に破壊的で元に戻せない変更を組織に加える可能性があるため、サポートが責任を負うことはできません。細心の注意を払ってください。
 

「Retrieve (取得)」機能および「Deploy (リリース)」機能を使用して、対象の選択リスト値を、次の手順に従って Metadata API を使用して更新できます。


1. 選択リスト項目が標準またはカスタム項目であるかどうかに応じて、対応する添付ファイルをダウンロードします。

標準選択リスト項目:「XML retrieve for standard picklists.xml」

カスタム選択リスト項目:「XML retrieve for custom picklists.xml」

グローバル値セット:「XML retrieve for global value sets.xml」
 
独自の XML 取得ファイルを作成するか、詳細を確認するには、「package.xml マニフェストファイルのサンプル」を参照してください。

2. テキストエディタ (Notepad++ を推奨) を使用してファイルを開き、次の値 (引用符を含む) を置き換えます。

標準選択リスト項目の場合:
A) 「EnterPicklistField'sAPINameHere」を、対象の選択リスト項目の API 参照名で置き換えます。不明な場合は、「Find the API name of a field (項目の API 参照名を見つける)」を参照してください。

カスタム選択リスト項目の場合:
A) "EnterStandardObjectNameOrCustomObject'sAPINameHere" を、選択リスト項目を含むオブジェクトの名前で置き換えるか、項目がカスタムオブジェクトに含まれる場合は、カスタムオブジェクトの API 参照名を使用して置き換えます。

B) "EnterPicklistField'sAPINameHere" を、対象の選択リスト項目の API 参照名で置き換えます。

グローバル値セットの場合:
A) "EnterGlobalValueSet'sAPINameHere" を、グローバル値セットの設定ページの [名前] 項目に含まれる API 参照名または値で置き換えます。

3. ファイルを XML ファイルとして再度保存します。

4. ワークベンチを開いてログインします: https://workbench.developerforce.com/login.php

5. ページの上部にあるメニューオプションで、[migration (移行)] | [Retrieve (取得)] を選択し、次の操作を実行します。

パッケージ化されていないマニフェスト: [Choose File (ファイルを選択)] または [Browse... (参照...)] を選択し、ステップ 3 で更新および保存したファイルを選択して、[Open (開く)] | [Next (次へ)] | [Retrieve (取得)] をクリックします。

6. エラーが表示された場合、ステップ 2 で XML 取得ファイルに加えた変更が正しいことを確認します。取得に成功した場合、ワークベンチ内のページの [Results (結果)] セクションに [Download ZIP File (ZIP ファイルをダウンロード)]リンクが表示されます。ファイルをクリックして選択し、ローカルマシンに保存します。

7. たとえば、デスクトップ、または容易にアクセスできるローカルマシンの任意の場所にファイルを抽出または解凍します。

8. 解凍後のフォルダを開き、次の場所に移動します。

標準選択リスト項目の場合: standardValueSets フォルダ。標準選択リスト項目の名前で始まり、.standardValueSet が付加されたファイルが含まれます。

カスタム選択リスト項目の場合: objects フォルダ。影響を受けた選択リスト項目を含むオブジェクトの名前を持つファイルが含まれます。

グローバル値セットの場合: globalValueSets フォルダ。グローバル値セットの API 参照名で始まり、.globalValueSet が付加されたファイルが含まれます。

Notepad++ または任意のテキストエディタを使用してファイルを開いて編集します。ファイルには、対象の選択リスト項目のすべての XML が含まれます。注: 以下の手順で説明されている変更を除き、XML ファイルに変更を加えないことが非常に重要です。必要のない編集を加えると、項目のメタデータで予期しない問題または元に戻せない問題が発生する場合があります。

9. 標準選択リスト項目の場合:
ファイルの <sorted>false</sorted> タグから </StandardValueSet> タグまでの任意の場所に次のコードを新しい standardValue セットとして追加します。対象の選択リスト値を以下の「Affected Picklist Value」に代入して、対象の項目ごとにこのコードを個別に追加する必要があります。
 
<standardValue>
<fullName>Affected Picklist Value</fullName>
<default>false</default>
<isActive>true</isActive>
<label>Affected Picklist Value</label>
</standardValue>

カスタム選択リストの場合:
ファイルの <valueSetDefinition> タグから </valueSetDefinition> タグまでの任意の場所に次のコードを新しい値セットとして追加します。対象の選択リスト値を以下の「Affected Picklist Value」に代入して、対象の項目ごとにこのコードを個別に追加する必要があります。
 
<value>
<fullName>Affected Picklist Value</fullName>
<default>false</default>
<isActive>true</isActive>
<label>Affected Picklist Value</label>
</value>

グローバル選択リストの場合:
問題になっている既存の無効な選択リスト値を見つけて、「<isActive>false</isActive>」属性を「<isActive>true</isActive>」に変更します。値が存在しない場合は、次のコードをテンプレートとして使用し、対象の選択リスト値を「Affected Picklist Value」に代入して、値を追加します。

<customValue>
<fullName>Affected Picklist Value</fullName>
<default>false</default>
<isActive>true</isActive>
<label>Affected Picklist Value</label>
</customValue>

注意: 選択リスト値にアンパサンド ( & )、より小さい ( < )、より大きい ( > )、二重引用符 ( " )、またはアポストロフィ ( ' ) などの特殊文字が含まれる場合、次の表に基づいて、サポートされる同等の HTML 文字コードに特殊文字を変換する必要があります。
 
特殊文字次の値で置き換え
&&amp;
<&lt;
>&gt;
"&quot;
'&apos;

たとえば、選択リスト値「Aerospace & Defense」を有効にする場合、この値に対応する XML は次のようになります。
 
 <value>
<fullName>Aerospace &amp; Defense</fullName>
<default>false</default>
<isActive>true</isActive>
<label>Aerospace &amp; Defense</label>
</value>

特殊文字を変換しない場合、次の componentFailures 問題メッセージが表示される場合があります。
Error parsing file: The entity name must immediately follow the '&' in the entity reference. (ファイルの解析エラー: エンティティ参照内の '&' の直後にはエンティティ名が続く必要があります)
Error parsing file: The content of elements must consist of well-formed character data or markup. (ファイルの解析エラー: 要素のコンテンツは適切な形式の文字データまたはマークアップで構成される必要があります)

10. 対象の選択リスト項目値ごとに上述の対応する XML を追加したら、ファイルを保存します。注意: [Save As... (名前を付けて保存...)] を選択しないでください。[Save (上書き保存)] を使用して既存のファイルを上書きするだけにしてください。それ以外の場合、適切なファイル拡張子が失われて、重複する xml ファイルが作成される可能性があります。

11. 手順 7 で抽出したファイルフォルダを再度 zip 圧縮します。

12. 次に、ワークベンチに戻り、[migration (移行)] | [Deploy (リリース)] を選択し、[Choose File (ファイルを選択)] または [Browse... (参照...)] を選択して、前のステップで作成した zip ファイルを選択します。

13. 次の項目を選択し、リリースが成功することを検証します。

Check Only (チェックのみ)
Rollback On Error (エラー時にロールバック)

[Next (次へ)] | [Deploy (リリース)] をクリックします。

14. リリースがエラーなしで成功として表示された場合、[Check Only (チェックのみ)] の選択を解除してステップ 12. と 13. を繰り返します。

操作が正常に終了すると、選択リスト項目の設定セクションに追加した、削除された値または無効な値が有効な値として表示されます。


関連情報:
新しい一意な選択リスト値の「重複値」エラー
ナレッジ記事番号

000382802

 
読み込み中
Salesforce Help | Article