当前位置: 首页 > 知识库问答 >
问题:

Apex触发器(插入前):在创建新潜在客户记录期间,使用自定义查找字段中的值更新公司名称

满伟彦
2023-03-14

使用Apex触发器,我尝试在创建新潜在客户期间更新公司字段,使用用户从同一对象的自定义查找字段中选择的值。因此,用户单击潜在客户选项卡上的new以创建新潜在客户。输入名字、姓氏和其他详细信息。用户不再输入公司名称,而是在查找字段中搜索公司名称,compName__c,并从列表中选择它。我想完成的是,当用户单击保存时,comName字段中的值被复制到新记录上的Company字段中,然后创建新记录。

以下是我迄今为止所做的;。。。

   trigger UpdateLeadCompany on Lead (before insert) {

Set<Id> AN = New Set<Id>();

For (Lead LeadComp : Trigger.New) 
{
IF(LeadComp.compName__c != null) 
{
AN.add(LeadComp.compName__c);
 }
}

Map<Id, Agency__c> y = [SELECT Name, compName__c FROM compName__c WHERE Id IN :AN];
For(Lead CompNameUpdate : Trigger.New)
{
Company a = y get(CompNameUpdate.compName__c);
IF(a != null)
{
CompNameUpdate = a.compName__c; 
  }
 }
}

共有1个答案

刘星火
2023-03-14

已更新

那么你的代码应该像-

trigger UpdateLeadCompany on Lead (before insert) {

   Set<Id> AN = New Set<Id>();

   for(Lead leadObj : Trigger.New) {

     IF(leadObj.compName__c != null) {
       AN.add(leadObj.compName__c);
     }

   }

   Map<Id, compName__c> y = [SELECT Name, compName__c FROM compName__c WHERE Id IN :AN];

   For(Lead leadObj : Trigger.New) {

       compName__c a = y.get(leadObj.compName__c);

       IF(a != null) {
         leadObj.Company = a.Name; 
       }
   }
}
 类似资料:
  • 我创建了一个触发器,当创建或更新特定帐户记录类型时,该触发器将自动创建联系人。问题是,我不确定如何填充联系人“帐户名”查找字段。此字段是对Account对象的查找。我的代码如下。如果您有任何关于如何集成此缺失组件的帮助,我们将不胜感激。 在帐户上触发autoCreate联系人(更新后,插入后){List new联系人=new List();

  • 我想寻求一些帮助。我是APEX的新手,我面临的问题是APEX触发器似乎是一个解决方案。我需要Salesforce中的一个触发器,该触发器将使用Staff对象(自定义对象)的值from Holidays Remaining字段更新位于Users对象(standard对象)中的字段。换言之,应将员工剩余假期中填充的内容复制到名为“用户剩余假期”的字段中。谁能帮我一下吗?

  • 问题内容: 我有一个UPDATE触发器,它产生如下的INSERTED和DELETED表: 插入式 已删除 我想将此更新捕获到日志表中。我的Log表(对于所有表都是全局的)是这样的(然后我必须处理我的INSERTED和DELETED表): 是表的系统object_id,我在其中执行了UPDATE语句,UPDATEd列的主键的值,是我映射到每个表中每个列的自定义ID。仅当通过UPDATE更改列的数据时

  • 长话短说,我需要在我的标准联系人中更新一个自定义字段,该字段在更新一个不同的、不相关的自定义对象后触发。我曾试图编写一个触发器,将字段值从自定义对象传递给联系人,但我不断收到各种错误,其中最近的一个错误让我感到困惑。最终目标是从Passing\u Field\uu c更新Passing\uu c。 我收到了一个意外的标记:“(”for(Contact C:行)上的错误。它太简单了,我想不出来。 下

  • 我有一个非常简单的机会插入/更新前触发器,它根据包含销售办事处(州)位置信息的下拉值自动选择价目表。 这是我的触发器: 这是我的测试课: 测试运行报告0%的测试覆盖率。 同样,在类似的行中,我有另一个before insert触发器,它将事件的所有者设置为与父潜在客户的所有者相同。代码如下: 这也导致了0%的覆盖率——我猜这与这两个循环中的for循环有关。我知道我在for循环中调用SOQL查询是在

  • 问题内容: 当表中的 任何 列更新时,我想在历史表中插入一行。 我只是想捕获列名,旧值和新值。 我希望此触发器尽可能重用,因为我将在其他表上使用相同的概念。 我熟悉触发器以及如何捕获某一列上的更新。我特别在寻找如何编写 一个 触发器,以将一条记录插入到历史记录表中,以获取历史记录表的对应表中已更新的 任何 列。 编辑1 我已经指出 NOWHERE 在我的职位,我在寻找源代码,这样任何人耻辱,dow