You need to sign in to do that
Don't have an account?
Russell baker 1
Trigger to Pull related contact designation on Task page when tesk create.
I have a requirement. Contact related to Task, I need to pull his functional role ( custom field) on Activity page layout. So whenever I create or edit an activity and relate with ant contact so his/her functional role should populate automatic.
Please help! How can I achieve it? I tried formula field but unable to get. I tried through trigger but it is not working nighter on new task nor while I update the task.
Please find below code:
Please help! How can I achieve it? I tried formula field but unable to get. I tried through trigger but it is not working nighter on new task nor while I update the task.
Please find below code:
trigger updatefunctionalrole on Task (before insert, before update) { Map<ID,String> confunrole = new Map<ID,String>(); List<Task> conTasks = new List<Task>(); for (Task e : trigger.new) { if (e.whoID!= null && (String.valueOf(e.whoID)).startsWith('003')) { if (trigger.isInsert || (trigger.isUpdate && e.WhoID != trigger.oldMap.get(e.id).WhoID)) { confunrole.put(e.whoID,''); conTasks.add(e); } } } for (contact con : [SELECT Functional_Role__c FROM contact WHERE ID IN :confunrole.keySet()]) { confunrole.put(con.id,con.Functional_Role__c); } // Update the contact functional role field on the Task with the relevant value for (Task e : trigger.new) { e.functional_role__c = confunrole.get(e.whoID); } }Kindly let me me know where I am doing wrong.
I have made some changes to your code and its updating "Functional Role" field on Task from Contact.
Thank you for your reply. I changed my code with your coe and still it is not working. I have checked debug log and found this:
Please find below trigger code.
and debud log after do some sort of activity to envoke trigger:
I am not able to understand why code is not querying data.
Because in trigger, there is a Debug statement which is not reflecting in your logs.
I suggest you, put more debug statements to the code like @ the entry of trigger, inside for loops so you can find out trigger is working or not.
I have checked trigger and it is working with trigger.isUpdate but it is not working with trigger.isInsert.
Trigger works fine when I update any task but when I create new task it is not working.\
I thing some other triggers are blocking it because i tried the same code in my dev org and it is working finr with both Insert and Update.
How can i arrange trigger excution order?
Please help!
If you are using multiple triggers on Task objects, then its not a good practice.
Use any trigger framework to find excution order, avoid recursion.
Check any of the managed package have trigger on task object and go through what that trigger is doing. You cannot see the code but u can check the functionality by crating the task manually.
Pramod