我一直在想如何从Map中获取值并将其插入到潜在客户中。这里的某个人非常乐于助人,写了一些代码。但当我试图保存它时,我会出现上面的错误。。。我已经缩小了错误发生的范围。但我不明白为什么它会给我这个错误。
如有任何帮助,我们将不胜感激。下面粗体部分是(我相信)错误的来源。因为当我删除这些行时,我可以保存触发器。
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
}
在外观中有lead.TFA_Salesforce_ID__c
和lead.Verified__c
。变量lead
从未在代码中声明。相反,它应该是for循环中定义的leadObj
。例如
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特定问题的好地方。