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

Apex のエラー「System.ListException: Duplicate id in list」

公開日: Oct 13, 2022
説明

オブジェクトのリストは重複値を保持できますが、リスト内の Object ID が重複した状態で更新または削除しようとすると、「System.ListException: Duplicate id in list」というエラーが表示されます。

解決策
  1. <id,sobject> のマップを作成します。
  2. リストをマップに変換して重複 ID を削除します。
  3. マップの値部分を更新または削除します。


サンプルコード 

// salesforce 組織から Id を選びます。この例では取引先の Id を選びます。 
Id aid = '0017F000002WkkdQAC'; list <account> al = new list <account>(); for(account a : [select id from account where Id ='0017F000002WkkdQAC']){ account acc = new account(Id = aid);   al.add(a);   al.add(acc); }
// リストの値を保持するマップを作成します。 map<id,account> accmap = new map<id,account>(); // リストの値をすべてマップに入れます。 accmap.putall(al); if(accmap.size()>0){ update accmap.values(); }

List クラス
Map クラス
免責事項: これはエラーを解決する方法の一例であり、唯一の方法ではありません。本番にリリースする前に、必要に応じて Sandbox でテストしてください。 






 

ナレッジ記事番号

000382864

 
読み込み中
Salesforce Help | Article