function readOnly(count){ }
Don't have an account?
Search for an answer or ask a question of the zone or Customer Support.
You need to sign in to do that
Sign in to start searching questions
Signup for a Developer Edition
Sign in to start a discussion
trigger UpdaetOpportunity on Opportunity (after insert, after update) { String recordTypeName = 'Commercial'; Map<String, Schema.RecordTypeInfo> rtMapByName = Schema.SObjectType.Opportunity.getRecordTypeInfosByName(); Id recTypeId = rtMapByName.get(recordTypeName).getRecordTypeId(); List<task> taskList = new list<task>(); set<id> oppIdSet = new set<id>(); for(opportunity opp:trigger.new) { if(opp.StageName.contains('Development') && opp.RecordTypeId == recTypeId && (Trigger.isInsert || trigger.OldMap.get(opp.Id).StageName == 'Identification')) { oppIdSet.add(opp.id); } } if(!oppIdSet.isEmpty()) { Map<Id, Id> oppOwnerIdMap = new Map<Id, Id>(); for(OpportunityTeamMember otm: [SELECT Id, OpportunityId, UserId FROM OpportunityTeamMember WHERE TeamMemberRole = 'Commercial Manager' AND OpportunityId IN:oppIdSet]) { oppOwnerIdMap.put(otm.OpportunityId, otm.UserId); } for(Opportunity opp:trigger.new) { if(opp.StageName.contains('Development') && opp.RecordTypeId == recTypeId && (Trigger.isInsert || trigger.OldMap.get(opp.Id).StageName == 'Identification')) { Task t = new Task(); t.Subject = 'Others'; t.Status = 'Inprogress'; t.whatid = opp.id; t.ActivityDate = System.today()+5; t.Type_of_Activity__c = 'Kick off meeting'; t.Priority = 'Normal'; t.Ownerid = opp.Ownerid; if(oppOwnerIdMap.get(opp.Id) != null) { t.Ownerid = oppOwnerIdMap.get(opp.id); } taskList.add(t); } } if(!taskList.isEmpty()) insert taskList; } }
trigger CreatTask on Task (before update) { Set<Id> oppIdSet = new Set<Id>(); for(Task t: Trigger.new) { If(t.Status == 'Completed' && (t.Type_of_Activity__c == 'Kick off meeting' || t.Type_of_Activity__c == 'Offer Development') && t.whatId.getsObjectType() == Opportunity.sObjectType){ oppIdSet.add(t.whatId); } } if(!oppIdSet.isEmpty()) { Map<Id, Id> oppOwnerIdMap = new Map<Id, Id>(); List<Task> finalTaskList = new List<Task>(); for(OpportunityTeamMember otm: [SELECT Id, OpportunityId, UserId FROM OpportunityTeamMember WHERE TeamMemberRole = 'Commercial Manager' AND OpportunityId IN:oppIdSet]) { oppOwnerIdMap.put(otm.OpportunityId, otm.UserId); } Map<Id, Opportunity> oppMap = new Map<Id, Opportunity>([Select Id, OwnerId from Opportunity where Id IN: oppIdSet]); for(Task t: Trigger.new) { If(t.Status == 'Completed' && t.whatId.getsObjectType() == Opportunity.sObjectType) { if(t.Type_of_Activity__c == 'Kick off meeting') { Task newTask = new Task(); newTask.Subject = 'Others'; newTask.Status = 'Inprogress'; newTask.whatid = t.whatid; newTask.Priority = 'Normal'; newTask.ActivityDate=System.today()+10; newTask.Type_of_Activity__c= 'Offer Development'; if(oppOwnerIdMap.get(t.whatId) != null) { newTask.Ownerid = oppOwnerIdMap.get(t.whatId); } else { newTask.Ownerid = oppMap.get(t.whatId).Ownerid; } finalTaskList.add(newTask); } if(t.Type_of_Activity__c == 'Offer Development') { Task skTask = new Task(); Task appTask = new Task(); skTask.Subject = 'Others'; skTask.Status = 'Inprogress'; skTask.whatid = t.whatid; skTask.Priority = 'Normal'; skTask.ActivityDate = System.today()+7; skTask.Type_of_Activity__c = 'Approval TW'; appTask.Subject = 'Others'; appTask.Status = 'Inprogress'; appTask.whatid = t.whatid; appTask.Priority = 'Normal'; appTask.ActivityDate = System.today()+7; appTask.Type_of_Activity__c = 'Approval TW'; if(oppOwnerIdMap.get(t.whatId) != null) { skTask.Ownerid = oppOwnerIdMap.get(t.whatId); appTask.Ownerid = oppOwnerIdMap.get(t.whatId); } else { skTask.Ownerid = oppMap.get(t.whatId).Ownerid; appTask.Ownerid = oppMap.get(t.whatId).Ownerid; } finalTaskList.add(skTask); finalTaskList.add(appTask); } } } if(!finalTaskList.isEmpty()) insert finalTaskList; } }
Please explain more about your requirement.
Regards,
Mahesh
Please find the below trigger on Opportunity:
Please do let me know if it helps you.
Regards,
Mahesh
Please find the Task trigger as well:
Please do let me know if it helps you.
Regards,
Mahesh