更新记录时出现错误。如果ExpiryDate字段为空,则应该使用CloseDate更新字段。但它出现错误:从List<Opportunity>
到List<Integer>
If(Trigger.Isupdate){
Exp=[Select ExpiryDate__c from Opportunity where ExpiryDate__c=Null];
//clo=[Select CloseDate from Opportunity];
for(opportunity Opp:Trigger.New){
if(Opp.ExpiryDate__c=null){
Exp.add(Opp.CloseDate);
update Exp;
}
}
}
答案 0 :(得分:1)
对于您尝试使用此触发器代码完成的操作,有点令人困惑。它似乎并没有真正做任何有意义的事情。
然而,有几点:
Exp=[Select ExpiryDate__c from Opportunity where ExpiryDate__c=Null];
。我假设Exp
在触发器(List<Integer>
)之前被声明为整数列表。试试List<Opportunity> exp2 = [Select ExpiryDate__c from Opportunity where ExpiryDate__c=Null];
CloseDate
添加到Exp
集合中?如果Exp
是整数列表,则这将失败,因为CloseDate是一个日期。如果它是一个机会清单,它仍然会失败。update Exp;
行不应在for循环中占用。阅读Salesforce中有bulkificaiton个触发器的内容。