You need to sign in to do that
Don't have an account?
Syed Ahmed 10
Trigger to Update Count on Lead Record
I have created a custom task trigger to update Custom number field on Task Object which counts number of time a task has been created for a lead record with the task record type. This is working fine. Now i want to add standard status field to Update a custom text field on the lead record with the last updated status with the same record type. I am stumped i cannot figure how to do it ! Need some help
The Task trigger is below:
The Task trigger is below:
trigger TaskUpdateLead on Task (after delete, after insert, after undelete, after update) { Set<ID> LeadIds = new Set<ID>(); //We only care about tasks linked to Leads. String leadPrefix = Lead.SObjectType.getDescribe().getKeyPrefix(); //Add any Lead ids coming from the new data if(trigger.new!=null){ for (Task t : Trigger.new) { if (t.WhoId!= null && string.valueof(t.WhoId).startsWith(leadPrefix) ) { if(!LeadIds.contains(t.WhoId)){ //adding unique lead ids since there can be many tasks with single lead LeadIds.add(t.WhoId); } } } } //Also add any Lead ids coming from the old data (deletes, moving an activity from one Lead to another) if(trigger.old!=null){ for (Task t2 : Trigger.old) { if (t2.WhoId!= null && string.valueof(t2.WhoId).startsWith(leadPrefix) ) { if(!LeadIds.contains(t2.WhoId)){ //adding unique lead ids since there can be many tasks with single lead LeadIds.add(t2.WhoId); } } } } if (LeadIds.size() > 0){ List<Lead> leadsWithTasks = [select id,Dialler_Status__c,Dialler_Count__c,(select id from Tasks where recordtype.name LIKE '%Dialler%') from Lead where Id IN : Leadids]; List<Lead> leadsUpdatable = new List<Lead>(); for(Lead L : leadsWithTasks){ L.Dialler_Count__c = L.Tasks.size(); leadsUpdatable.add(L); } if(leadsUpdatable.size()>0){ update leadsUpdatable; //update all the leads with dialler count } } }
santanu boral
Please explain what is the type of issue you are facing. Thanks