function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Daniel GageDaniel Gage 

Error: Compile Error: Expression cannot be assigned at line -1 column -1

I've been trying to figure out how to get a value from a  Map and insert it into a lead. Someone from here was very helpful, and wrote some code. But when I try to save it. I get the above error... I have narrowed down where the error occurs. But I can't figure out why it is giving me this error.

Any help would be greatly appreciated. The part below that is bolded is (I believe) where the error is coming from. Because when I remove those lines, I am allowed to save the trigger.

  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);   
      }
      
      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;
          }

      }
  }
Best Answer chosen by Daniel Gage
James LoghryJames Loghry
Looks to be a simple typo.  You need leadObj instead of lead.
 
//lead.TFA_Salesforce_ID__c = PrimaryEmailMemberVerificationMap.get(leadObj.Email).TFA_Salesforce_ID__C ;
//lead.Verified__c = True;

leadObj.TFA_Salesforce_ID__c = PrimaryEmailMemberVerificationMap.get(leadObj.Email).TFA_Salesforce_ID__C ;
leadObj.Verified__c = True;

 

All Answers

James LoghryJames Loghry
Looks to be a simple typo.  You need leadObj instead of lead.
 
//lead.TFA_Salesforce_ID__c = PrimaryEmailMemberVerificationMap.get(leadObj.Email).TFA_Salesforce_ID__C ;
//lead.Verified__c = True;

leadObj.TFA_Salesforce_ID__c = PrimaryEmailMemberVerificationMap.get(leadObj.Email).TFA_Salesforce_ID__C ;
leadObj.Verified__c = True;

 
This was selected as the best answer
Daniel GageDaniel Gage
Thank you so much. Ever look at a project and the code so often that eventually everything becomes a blur? Can't believe I missed that. Much appreciated.