Skip to main content
Hello,

I'm trying to create a trigger or a process builder to update an account status field when an opportunity populated on lookup field in account changed.

In fact I have a lookup field to opportunity on my account name's "Main_opportunity__c" and I want to update the account status when this "Main opportunity" is closed won.

Thanks to your answer

Thomas
23 answers
  1. Dec 12, 2016, 12:41 PM

    Hi Thomas,

    Please Add Below Apex Class and trigger in your org and change the field name according to your fields Api Name

    Apex class

    public class OpportunityTriggerHandler{

    public static void updateRelatedAccStatusOnOpp(List<Opportunity> listOpportunity){

    List<Account> listAccToUpdate = new List<Account>();

    for(Opportunity objOpp : listOpportunity){

    for(Account objAcc : [SELECT Id,Name,Status from Account Where TestNamespace00__Main_Opportunity__c =: objOpp.Id]){

    if((objAcc != null) && (objOpp.StageName == 'Closed won')){

    objAcc.Status = 'AccStatus';

    listAccToUpdate.add(objAcc);

    }

    }

    update listAccToUpdate;

    }

    }

    }

    Apex Trigger on Opportunity which execute method of 'OpportunityTriggerHandler' class

    trigger OpportunityTrigger on Opportunity (AFTER INSERT,AFTER UPDATE) {

    if(Trigger.isAfter && Trigger.isUpdate){

    OpportunityTriggerHandler.updateRelatedAccStatusOnOpp(Trigger.New);

    }

    }

    if you need any other help then Contact me on my Skype.

    Thanks,

    Sagar Lakhani (Skype : Sagar.lakhani3)

     
0/9000