• hwcbarry
  • NEWBIE
  • 0 Points
  • Member since 2011

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 1
    Replies

I need some help with customizing a trigger. We use custom fields for addresses and would like to build a trigger to allow us to perform a radius search on zip codes or addresses. There is an app that lets you do this for standard address fields called FindNearbyAccounts. I am trying to rewrite the code to fit our org but i'm having trouble.

 

any thoughts?

 

current code:

trigger FindNearbyAccounts_KeepTidy on Account (before update) {
     for(Integer k=0; k<Trigger.new.size(); k++)
     {
        Boolean reset = false; 
        //If they change which Address to map 
        if(Trigger.new[k].Which_Address__c != Trigger.old[k].Which_Address__c)
        {
            reset = true; 
        }
        
        if(Trigger.new[k].Which_Address__c == 'Billing')
        {
            if(Trigger.new[k].BillingStreet != Trigger.old[k].BillingStreet || Trigger.new[k].Billingcity != Trigger.old[k].BillingCity ||
               Trigger.new[k].BillingPostalCode != Trigger.old[k].BillingPostalCode || Trigger.new[k].BillingState != Trigger.old[k].BillingState || Trigger.new[k].BillingState != Trigger.old[k].BillingState
               || Trigger.new[k].BillingCountry != Trigger.old[k].BillingCountry )
            {   
               reset = true;  
               
            }
        }
        else if(Trigger.new[k].Which_Address__c == 'Shipping')
        {
     
            if(Trigger.new[k].ShippingStreet != Trigger.old[k].ShippingStreet || Trigger.new[k].Shippingcity != Trigger.old[k].ShippingCity
             ||Trigger.new[k].ShippingPostalCode != Trigger.old[k].ShippingPostalCode || Trigger.new[k].ShippingState != Trigger.old[k].ShippingState  ||
             Trigger.new[k].ShippingCountry != Trigger.old[k].ShippingCountry)
            {
                  reset = true;  
            }
        }
        
        if(reset){
            Trigger.new[k].FNA_Status__c = 'Not Located Yet';
            Trigger.new[k].Lat__c = null;
            Trigger.new[k].Lon__c = null;
        }
        
     }//end FOR
}

 what i've tried to write:

trigger FindNearbyAccounts_KeepTidy on Account (before update) {
     for(Integer k=0; k<Trigger.new.size(); k++)
     {
        Boolean reset = false; 
        //If they change which Address to map 
        if(Trigger.new[k].Which_Address__c != Trigger.old[k].Which_Address__c)
        {
            reset = true; 
        }
        if(Trigger.new[k].Which_Address__c == 'Account_Mailing__c')
        {
            if(Trigger.new[k])'Mailing_Address__c';Trigger.old[k];'Mailing_Address__c'; } Trigger.new[k];'Mailing_City__c' != Trigger.old[k];'Mailing_City__c' ||
               Trigger.new[k];'Mailing_Zip_Postal_Code__c' != Trigger.old[k];'Mailing_Zip_Postal_Code__c' || Trigger.new[k];'Mailing_States_Provinces_Territories__c' != Trigger.old[k];'Mailing_States_Provinces_Territories__c' || Trigger.new[k];'Mailing_States_Provinces_Territories__c' != Trigger.old[k];'Mailing_States_Provinces_Territories__c'
               || Trigger.new[k];'Mailing_Country__c' != Trigger.old[k];'Mailing_Country__c';
            {   
               reset = true;  
                           }
        }
              }              
   //end FOR