【问题标题】:Trigger to update a custom lookup field on opportunity触发以更新机会上的自定义查找字段
【发布时间】:2013-11-27 08:01:24
【问题描述】:

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

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

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

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

提前致谢

【问题讨论】:

  • 嗨 @jan,salesforce.stackexchange.com 上有一个专门针对 Salesforce 的新 stackexchange 站点。快来加入那边的社区吧! :)

标签: triggers salesforce apex


【解决方案1】:

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

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;
    }
}

【讨论】:

    猜你喜欢
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 2020-10-14
    • 2015-08-11
    • 2019-07-06
    • 1970-01-01
    相关资源
    最近更新 更多