2014-11-01 5 views
1

지도에서 값을 가져와 리드에 삽입하는 방법을 알아 내려고했습니다. 여기에서 누군가는 아주 도움이되고, 약간 부호를 썼다. 그러나 그것을 구하려고 할 때. 위의 오류가 나타납니다 ... 오류가 발생한 위치를 좁혔습니다. 그러나 왜 내가이 오류를 내는지 이해할 수 없다.오류 : 컴파일 오류 : 행 -1 열에 식을 할당 할 수 없습니다.

도움을 주시면 감사하겠습니다. 굵게 표시된 부분은 오류가 발생한 부분입니다 (나는 믿는다). 왜냐하면 내가 그 라인들을 제거 할 때, 나는 방아쇠를 저장할 수 있기 때문이다.

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 
} 

답변

2

모양 안에는 lead.TFA_Salesforce_ID__clead.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에 특정 질문을하기에 적합합니다.