我创建了一个自定义对象XtendedUser,它有一个id和Name。
我在Opportunity上创建了一个名为“XtendedUser__c”的自定义查找字段,它将机会链接到相应的XtendedUser记录。
现在我做了这个,以便机会所有者的名字对应于XtendedUser记录的名称,所以我希望触发器在机会上自动填充自定义查找字段“XtendedUser__c”,其ID为相应的XtendedUser记录其名称与机会所有者的名称相匹配。
我从未写过触发器,总是使用工作流程和fieldupdates,但我必须完成这项工作。所以,如果你能帮我这个吗?我会非常棒!
提前致谢
答案 0 :(得分: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;
}
}