好吧,所以我在几周前问过这个问题,我得到了一些很好的帮助 - 但我仍然不是100%,关于我一直存在的问题......任何帮助都会很棒... 我仍然有这个代码的主要问题,并可以使用一些更多的帮助...Salesforce APEX更新为空
由于某些原因,它仍然将任何数字更改为0,而不仅仅是将0添加到空字段。
如果我有4个LOC在以下方面 - 竞争对手出售率 150,125,0,空白或空 丢失 假,真,真,假 我希望它们都被标记失落,我只希望最后的竞争者出售率被标记0
目前,所有标志丢失,所有更改为0 - 我知道代码的功能更新,因为如果我修改代码,说让他们10他们都更新到10
请任何帮助将是美好的...
上的机会(更新之后){//The map allows us to keep track of the opportunities that have been lost
地图oppsWithStageLost =新地图
触发updateLOConLostOpportunity();
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;
}