触发器帮助:从自定义对象(票证)中捕获用户并将任务分配给用户(任务对象)

时间:2015-01-31 06:04:09

标签: triggers salesforce apex-code

我是apex编码的新手。请参阅下面的触发器,当优先级高的票证被提升时,它会创建一个任务。除此行外,触发器有效:// t.Owner = Tickets__c.Assigned_To__c;

我正在尝试通过自定义故障单对象中的字段Assigned_To__c来接收分配故障单的用户,然后创建一个任务,其中任务的所有者与分配给'的用户相同39;票证对象中的字段捕获。

我需要做什么才能获取在自定义对象(故障单)中的字段(已分配给)中捕获的用户,然后将同一用户指定为任务的所有者?

触发编译除注释行外:

在Tickets__c上触发AssignTicket(在插入后,在更新后){

for(Tickets__c tkt : trigger.new){

if(tkt.Priority__c == 'High'){

task t = new task();

t.Subject = 'Ticket has been assigned to you!';
t.Status = 'Not Started';
t.Priority = 'Normal';
//t.Owner = Tickets__c.Assigned_To__c.; **[Need help with this line]**

t.WhatId = tkt.id;

       insert t;
                            }


                                 }

1 个答案:

答案 0 :(得分:0)

将插件从循环中取出并设置OwnerID,而不是所有者。

List<Task> lInsert = new List<Task>();
for(Tickets__c tkt : trigger.new){

if(tkt.Priority__c == 'High'){

task t = new task();

t.Subject = 'Ticket has been assigned to you!';
t.Status = 'Not Started';
t.Priority = 'Normal';
t.OwnerID = Tickets__c.Assigned_To__c.; **[Need help with this line]**

t.WhatId = tkt.id;

lInsert.Add(t);
 }
}
insert lInsert;