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
Irish@accIrish@acc 

trigger to update child filed record(lookup to user) when parent filed(lookup to user) changes

Hi

I have written a trigger which will update the child field record whenevr the one parent fiel record changes..please help my code is not working...

trigger triggerupdate on Project__c(after update) {  
   
    for(project__c prj: trigger.new)
    {
   
if(trigger.oldmap.get(prj.Id).Dev_Lead_User__c!=trigger.newmap.get(prj.Id).Dev_Lead_User__c)
{    List<Quality_of_Delivery__c> Lstqod=new List<Quality_of_Delivery__c>();
    Lstqod=[Select project__c,Name,Dev_lead__c from Quality_of_Delivery__c where project__c=: prj.Id];
    List<Quality_of_Delivery__c> qodToupdate=new List<Quality_of_Delivery__c>();
    for(Quality_of_Delivery__c thisqod: Lstqod)
        {
           
                {
                    thisqod.Dev_lead__c=prj.Dev_Lead_User__c;
                    qodToupdate.add(thisqod);
                }
        }
}
    
    
    
     
    }
}

Best Answer chosen by Admin (Salesforce Developers) 
SimonJaiSimonJai
for(project__c prj: trigger.new)
{

	if(trigger.oldmap.get(prj.Id).Dev_Lead_User__c!=trigger.newmap.get(prj.Id).Dev_Lead_User__c)
	{    
	
		List<Quality_of_Delivery__c> Lstqod=new List<Quality_of_Delivery__c>();
		Lstqod=[Select project__c,Name,Dev_lead__c from Quality_of_Delivery__c where project__c=: prj.Id];
		List<Quality_of_Delivery__c> qodToupdate=new List<Quality_of_Delivery__c>();
		
		for(Quality_of_Delivery__c thisqod: Lstqod)
		{
			thisqod.Dev_lead__c=prj.Dev_Lead_User__c;
			qodToupdate.add(thisqod);
		}
		
		update qodToupdate;
		
	}	

}

 

I believe you're forgetting to update the list of records (qodToupdate).

All Answers

SimonJaiSimonJai
for(project__c prj: trigger.new)
{

	if(trigger.oldmap.get(prj.Id).Dev_Lead_User__c!=trigger.newmap.get(prj.Id).Dev_Lead_User__c)
	{    
	
		List<Quality_of_Delivery__c> Lstqod=new List<Quality_of_Delivery__c>();
		Lstqod=[Select project__c,Name,Dev_lead__c from Quality_of_Delivery__c where project__c=: prj.Id];
		List<Quality_of_Delivery__c> qodToupdate=new List<Quality_of_Delivery__c>();
		
		for(Quality_of_Delivery__c thisqod: Lstqod)
		{
			thisqod.Dev_lead__c=prj.Dev_Lead_User__c;
			qodToupdate.add(thisqod);
		}
		
		update qodToupdate;
		
	}	

}

 

I believe you're forgetting to update the list of records (qodToupdate).

This was selected as the best answer
Irish@accIrish@acc

thnks, i've missed that part