You need to sign in to do that
Don't have an account?
imishra
Update Opportunity Owner
Hi,
I have an approval process which is triggered as soon as an opportunity is saved,for which i have written a trigger.
I want to update my opportunity owner name to the approver name after the approval is done.
I tried doing it using the field update in approval actions, but since owner is a lookup field i am not able to write a formula to update it.
Please let me know how can i get it. Below is my trigger:
trigger OpportunityApprovalSubmit on Opportunity(after insert){
if(Trigger.isInsert) {
List<Approval.ProcessSubmitRequest> apRegList = new List<Approval.ProcessSubmitRequest>();
Map<Id,RecordType> oppRecTypes = new Map<Id,RecordType>([select Id from RecordType where SobjectType='Opportunity'
and IsActive=true
and Name in ('Advanced')]);
for(Opportunity tempOpportunity: Trigger.New) {
if(oppRecTypes.get(tempOpportunity.RecordTypeId) != null) {
Approval.ProcessSubmitRequest approvalRequest = new Approval.ProcessSubmitRequest();
approvalRequest.setComments('Submitted for Approval');
approvalRequest.setObjectId(tempOpportunity.Id);
apRegList.add(approvalRequest);
}
}
if(apRegList != null && apRegList.size()>0)
system.debug('checksize'+apRegList.size());
Approval.ProcessResult[] approvalProcess = Approval.process(apRegList);
}
}
Thanks in advance
I have an approval process which is triggered as soon as an opportunity is saved,for which i have written a trigger.
I want to update my opportunity owner name to the approver name after the approval is done.
I tried doing it using the field update in approval actions, but since owner is a lookup field i am not able to write a formula to update it.
Please let me know how can i get it. Below is my trigger:
trigger OpportunityApprovalSubmit on Opportunity(after insert){
if(Trigger.isInsert) {
List<Approval.ProcessSubmitRequest> apRegList = new List<Approval.ProcessSubmitRequest>();
Map<Id,RecordType> oppRecTypes = new Map<Id,RecordType>([select Id from RecordType where SobjectType='Opportunity'
and IsActive=true
and Name in ('Advanced')]);
for(Opportunity tempOpportunity: Trigger.New) {
if(oppRecTypes.get(tempOpportunity.RecordTypeId) != null) {
Approval.ProcessSubmitRequest approvalRequest = new Approval.ProcessSubmitRequest();
approvalRequest.setComments('Submitted for Approval');
approvalRequest.setObjectId(tempOpportunity.Id);
apRegList.add(approvalRequest);
}
}
if(apRegList != null && apRegList.size()>0)
system.debug('checksize'+apRegList.size());
Approval.ProcessResult[] approvalProcess = Approval.process(apRegList);
}
}
Thanks in advance
Created a checkbox in the backend which is checked during the approval action and then fire a trigger as below:
trigger UpdateOwner on Opportunity (before update) {
Opportunity c = new Opportunity();
Map<String, Opportunity> contactMap = new Map<String, Opportunity>();
for (Opportunity contact : Trigger.new) {
Opportunity acnt = [select Name,LastModifiedBy.Name,Vertical_Opportunity_Owner__c from Opportunity where Id=:contact.Id];
if(acnt.Vertical_Opportunity_Owner__c != null)
contact.OwnerId = acnt.Vertical_Opportunity_Owner__c;
}
}