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

Apex触发器-拖车头

谷梁楷
2023-03-14

代码本身没有给出任何错误,但每当我运行它时,Trailhead都会给我以下消息

“挑战尚未完成……问题是:执行触发器没有按预期工作。”

以下是说明:

对于此质询,您需要创建一个触发器,在插入或更新之前检查复选框。如果复选框字段为true,则会将发货邮政编码(其API名称为ShippingPostalCode)设置为与帐单邮政编码(BillingPostalCode)相同。

  • Apex触发器必须调用AccountAddressTrigger

我的代码:

trigger AccountAddressTrigger on Account (before insert,before update) {

    for(Account a : [SELECT Id FROM Account WHERE  Match_Billing_Address__c = TRUE AND BillingPostalCode != NULL])
    {
        a.ShippingPostalCode = a.BillingPostalCode;
        update a;        
    }//end for     
}

共有3个答案

常俊侠
2023-03-14

首先需要在Account选项卡中创建名为Match billing address的复选框字段,然后打开开发者控制台,编写代码并保存它。最后,在您的salesforce实例中检查其是否再次工作

代码如下:

trigger accountAddressTrigger on Account(插入前、更新前){

for(Account acct : trigger.new){

      if(acct.Match_Billing_Address__c == true)

      acct.ShippingPostalCode = acct.BillingPostalCode;
      }

}

壤驷兴朝
2023-03-14

trigger AccountAddressTrigger on Account(插入前、更新前){

    for(Account a : Trigger.new){
    If (a.Match_Billing_Address__c == true && a.BillingPostalCode!=Null) {
        a.ShippingPostalCode = a.BillingPostalCode;
    }   
} 

}

孔阳炎
2023-03-14

你的扳机是这样的。

trigger AccountAddressTrigger on Account (before insert,before update) {

    //Iterate all accounts that is updated or inserted.
    for(Account acc :Trigger.New){
        //if match is true set values.
        if(acc.Match_Billing_Address__c){
            acc.ShippingPostalCode = acc.BillingPostalCode;
        }
    }
}
 类似资料:
  • 我想写一个Apex代码并进行调试。我登录了Salesforce,在Salesforce开发人员控制台中,Apex类和Apex触发器是不可见的。我不能点击那个。 路径:Salesforce开发者控制台

  • 我正在SF中的自定义对象上创建Apex触发器。现在我有一个对象约会,我想在保存新记录时触发调用。由于我们的内部流程,我们不需要担心更新。仅限新记录。 也就是说,我已经创建了触发器和类的基础知识,并且它们很有效。触发器运行标记为Future的类以运行异步。然而,课堂是我迷路的地方。 我想将一些变量从正在创建的约会对象中的记录传递到代码中。我的代码向向向客户发送短信的服务发送HTTP帖子。我想使用电话

  • 我已在Salesforce APEX中记录了触发器。它工作正常。 触发器代码为: 现在我正在尝试为它的测试类编写代码。它在线上给出错误,说对象无法解析为字符串。 测试等级代码为: 期待找到解决方案。任何帮助都将不胜感激。 谢谢

  • 有人能给我解释一下如何为下面这样的apex触发器编写测试类吗? 我是Salesforce的新手。有人帮助我如何为上述触发器编写顶点类(测试类)吗? AccountBrowseExtensionTesttestAccountBrowseSystem。DmlException:插入失败。第0行第一个异常;第一个错误:FIELD\u CUSTOM\u VALIDATION\u EXCEPTION,Cit

  • tl;dr-在继续测试之前,如何使测试类等待特定触发器完成其更新或插入? 出身背景 我有一个触发器,每当创建帐户对象时都会创建一个新的对象,然后将这两条记录相互关联(请参阅下面的帐户触发器)。 我还在Portal\u Content\u c对象上创建了一个触发器,在删除记录时触发该触发器。删除时,触发器会查找相关的帐户记录并将其删除(请参见下面的门户内容触发器)。 我的问题是关于我的门户内容测试类

  • 我已经为此发疯了。我的IF循环中没有任何东西通过我的测试类触发,我不知道为什么。我在网上阅读了很多,看起来我做的事情是正确的,但它仍然没有解决我的代码覆盖率。这是运行的最后一行:如果(isIn==True){ 之后我无法让任何东西在IF循环中运行,我已经颠倒了逻辑,它仍然无法运行。我觉得当有人指出它时,我会踢自己,但这是我的代码: } 这是我的测试类: