SalesforceのAccountオブジェクトにトリガーを作成しました。Dataloaderを使用してレコードをアップロードすると、エラーがない場合、このトリガーはすべてのレコードで実行されます。ただし、少なくとも1つのレコードの更新/挿入中にエラーが発生した場合は、バッチ全体が失われます。
誰かがこれについて何らかの方向性を与えることができますか?
トリガーの2つのバージョン(前と後)を以下に示します。
バージョン-1
trigger accountScorerTrigger on Account (after insert, after update) {
if(Trigger.isUpdate || Trigger.isInsert) {
if(Utility.isFutureUpdate){
List<Account> accList = new List<Account>();
// Iterate through all records
for (Account newAccount:Trigger.new) {
Account tempAcc = new Account(id = newAccount.id);
tempAcc.Account_Score_History__c = 'TESTING RECORDS 3';
accList.add(tempAcc);
}
Utility.isFutureUpdate = false;
if(accList.size()>0){
//update accList;
Database.DMLOptions dml = new Database.DMLOptions();
dml.optAllOrNone = false; // tried true also
database.update(accList,dml);
}
}
}
}
バージョン-2
trigger accountScorerTrigger on Account (before insert, before update) {
if(Trigger.isUpdate || Trigger.isInsert) {
//if(Utility.isFutureUpdate){
// Iterate through all records
for (Account newAccount:Trigger.new) {
newAccount.Account_Score_History__c = 'TESTING RECORDS 5';
}
//Utility.isFutureUpdate = false;
//}
}
}