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 I tried through trigger but it is not working neither on new task nor while I update the task.
Please find below code:
trigger updatefunctionalroletxt 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 help to write a correct trigger.