0

我创建了一个具有 id 和名称的自定义对象 XtendedUser。

我在商机上创建了一个名为“XtendedUser__c”的自定义查找字段,它将商机链接到相应的 XtendedUser 记录。

现在我将其设置为机会所有者的名称对应于 XtendedUser 记录的名称,因此我希望触发器使用相应 XtendedUser 记录的 ID 自动填充机会上的自定义查找字段“XtendedUser__c”名称与机会所有者的名称匹配。

我从来没有写过触发器,总是使用工作流和字段更新,但我必须完成这项工作。所以如果你能帮我解决这个问题?我会非常高兴的!

提前致谢

4

1 回答 1

0

您应该在插入新记录之前和更新现有记录之前使用映射来链接记录并检索值。此技术还允许您批量更新所有记录。它应该是这样的:

trigger ExtendedUser__c on Opportunity (before insert, before Update) {    

    list<id> oid = new list<id>();
    for(opportunity o: trigger.new){                   
        oid.add(o.id);
            }
    map<id, ExtendedUser__c> ExtendU = new map<id, ExtendedUser__c>(
        [select name from ExtendedUser__c where id in: oid]);

    for(opportunity o: trigger.new){
        o.name = ExtendU.get(o.id).name;
    }
}
于 2013-12-17T17:27:00.623 回答