我一直试图弄清楚如何从地图中获取值并将其插入到潜在客户中。来自这里的人非常有帮助,并写了一些代码。但是当我试图保存它时。我得到了上面的错误...我已经缩小了错误发生的位置。但我无法弄清楚为什么它会给我这个错误。
非常感谢任何帮助。下面用粗体表示的部分是(我相信)错误的来源。因为当我删除这些行时,我被允许保存触发器。
trigger UpdateVerifyLead on Lead (before insert, before update) {
List<String> leadEmails = new List<String>();
Map<String, Member_Verification__c > PrimaryEmailMemberVerificationMap = new Map<String, Member_Verification__c >();
for(Lead lead:Trigger.new){
leadEmails.add(lead.Email);
}
for(Member_Verification__c member :[SELECT Id, Primary_Email__c,TFA_Salesforce_ID__C FROM Member_Verification__c WHERE Primary_Email__c != null and Primary_Email__c IN :leadEmails]){
PrimaryEmailMemberVerificationMap.put(member.Primary_Email__c , member);
}
// Problem section start
for(Lead leadObj:Trigger.new){
if(PrimaryEmailMemberVerificationMap.ContainsKey(leadObj.Email)){
lead.TFA_Salesforce_ID__c = PrimaryEmailMemberVerificationMap.get(leadObj.Email).TFA_Salesforce_ID__C ;
lead.Verified__c = True;
}
}
// Problem section end
}
答案 0 :(得分:2)
在外观中它有lead.TFA_Salesforce_ID__c
和lead.Verified__c
。变量lead
永远不会在代码中声明。相反,它应该是for循环中定义的leadObj
。 E.g。
for(Lead leadObj:Trigger.new) {
if(PrimaryEmailMemberVerificationMap.ContainsKey(leadObj.Email)) {
leadObj.TFA_Salesforce_ID__c = PrimaryEmailMemberVerificationMap.get(leadObj.Email).TFA_Salesforce_ID__C;
leadObj.Verified__c = True;
}
}
顺便说一下,Salesforce StackExchange是向Salesforce提出具体问题的好地方。