わかりましたので、数週間前にこの質問をしたところ、大きな助けがありました - しかし、私が抱えている問題に関しては、まだ 100% ではありません...どんな助けも素晴らしいでしょう...このコードには大きな問題があり、さらに助けが必要です...
何らかの理由で、null フィールドにゼロを追加するだけでなく、数値を 0 に変更しています。
次の 4 つの LOC がある場合 - 競合他社の売却率 150、125、0、空白または Null 紛失 False、True、True、False それらすべてを紛失とマークし、最後の競合他社の売却率のみを 0 とマークしたい
現在、すべてが失われ、すべてが0に変更されています-コードを変更して10にするように変更すると、すべてが10に更新されるため、コードが更新されることがわかります
どんな助けでも素晴らしいでしょう...
オポチュニティで updateLOConLostOpportunity をトリガーする (更新後) {
//The map allows us to keep track of the opportunities that have been lost
Map oppsWithStageLost = new Map();
for (Integer i = 0; i < Trigger.new.size(); i++) {
if ( (Trigger.old[i].StageName != 'Lost')
&& (Trigger.new[i].StageName == 'Lost')) {
oppsWithStageLost.put(Trigger.old[i].id,
Trigger.new[i]);
}
}
List<Line_of_Coverage__c> updatedLOCs = new List<Line_of_Coverage__c>();
for (Line_of_Coverage__c loc : [SELECT id, Lost__c, Opportunity__c
FROM Line_of_Coverage__c
WHERE Opportunity__c
in :oppsWithStageLost.keySet()]) {
Opportunity parentOpp = oppsWithStageLost.get(loc.Opportunity__c);
loc.Lost__c = TRUE;
if (loc.Competitor_Sold_Rate__c == NULL) {
loc.Competitor_Sold_Rate__c = 0;
}
updatedLOCs.add(loc);
}
update updatedLOCs;
}