我正在编写任务的触发器并在销售人员中收到错误来自多态域的非法多态分配 [SOBJECT:User,SOBJECT:Calendar]
trigger Status_Change on Task (after update) {
List<Task>updated_tasks=trigger.new;
List<Task> tt=trigger.old;
Task_History__c history=new Task_History__c();
Integer i=0;
for(i=0;i<updated_tasks.size();i++)
{
history.Name=tt.get(i).Subject;
history=new Task_History__c();
history.OldValue__c=tt.get(i).Status;
history.NewValue__c=updated_tasks.get(i).Status;
history.User__c=updated_tasks.get(i).Owner;
insert history;
}
}
错误在线 history.User__c=updated_tasks.get(i).Owner;
当我写 history.User__c=updated_tasks.get(i).owner.id 时没有错误,但是当我尝试从此 id 获取用户的电子邮件地址时,它显示没有与此 id 对应的用户。如何从任务 SObject 的所有者字段中获取所有者的用户 ID。我认为错误是由于 Owner 是对 [SObject.User,SObject.Calender] 的查找。所以所有者的 id 应该与 User'id 不同。但是如何从 Task 对象的 Owner 字段中仅获取用户的 id?