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
nagarjuna gurajanagarjuna guraja 

Need Trigger Code

Write a trigger whenever we add value on Billing Address field, it should update Timezone and Contact Address?

Best Regards
Best Answer chosen by nagarjuna guraja
AnkaiahAnkaiah (Salesforce Developers) 
Hi Nagarjuna,

 time zone is a custom field? if yes, what is the data type?
Thanks!!

All Answers

AnkaiahAnkaiah (Salesforce Developers) 
Hi Nagarjuna,

 time zone is a custom field? if yes, what is the data type?
Thanks!!
This was selected as the best answer
nagarjuna gurajanagarjuna guraja
Hi Ankaiah,
Date/Time is data type 
nagarjuna gurajanagarjuna guraja
Date/Time is a data type
AnkaiahAnkaiah (Salesforce Developers) 
Hi Nagaruna,

when you update billing address in account then same address should be updated in contact address?

Time zone field will be updated based on billing address county or current user time zone.??

Thanks!!

 
nagarjuna gurajanagarjuna guraja
User time zone
AnkaiahAnkaiah (Salesforce Developers) 
Thanks!!

Can you confirm the below question.
when you update billing address in account then same address should be updated in contact address?
nagarjuna gurajanagarjuna guraja
Yes
AnkaiahAnkaiah (Salesforce Developers) 
Hi Nagarjuna,

try with below code.
trigger ContactAddressUpdate on Account (after insert, After update) {
    
    Map<id,Account> accmap = new map<id,Account>();
    for(Account acc:trigger.new){
            accmap.put(acc.id,acc);       
    }
    
    List<contact> contactaddrsUpdate = new List<contact>();
    
    for(contact con: [select id,AccountId,MailingCity,MailingCountry,MailingState,MailingStreet,MailingPostalCode,TimeZone__c from Contact WHERE AccountId=:accmap.keySet()])
    {
        if(accmap.containsKey(con.accountId)){
            TimeZone tz = UserInfo.getTimeZone();
            DateTime dt = Datetime.now();
            Datetime local = dt.addSeconds((tz.getOffset(dt)/1000));
            
            system.debug('local=='+local);
            
            con.MailingCity = accmap.get(con.accountId).BillingCity;
            con.MailingCountry = accmap.get(con.accountId).BillingCountry;
            con.MailingState = accmap.get(con.accountId).BillingState;
            con.MailingStreet = accmap.get(con.accountId).BillingStreet;
            con.MailingPostalCode = accmap.get(con.accountId).BillingPostalCode;
            con.TimeZone__c = local;
            
            contactaddrsUpdate.add(con);            
                      
        }
    }
    
    Update contactaddrsUpdate;
    
    system.debug('contactaddrsUpdate=='+contactaddrsUpdate);

}

Thanks!!