1

代码本身没有给出任何错误,但无论何时我运行它 Trailhead 都会给我这个消息:

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

以下是说明:

对于这个挑战,您需要创建一个触发器,在插入或更新之前检查复选框。如果复选框字段为真,它会将 Shipping Postal Code(其 API 名称为ShippingPostalCode)设置为与 Billing Postal Code ( BillingPostalCode) 相同。

  • 必须调用 Apex 触发器AccountAddressTrigger
  • Account 对象将需要一个新的自定义复选框,该复选框应具有字段标签“匹配帐单地址”和字段名称Match_Billing_Address。生成的 API 名称应为Match_Billing_Address__c.
  • AccountAddressTrigger活动状态下,如果帐户具有帐单邮政编码并且Match_Billing_Address__c为真,则记录应设置运输邮政编码以在插入或更新时匹配。

我的代码:

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

4 回答 4

2

你的触发器就是这样的。

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;
        }
    }
}
于 2015-07-24T06:19:23.097 回答
1

在帐户上触发 AccountAddressTrigger(插入前,更新前){

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

}

于 2016-01-29T07:33:18.577 回答
0

对象上触发Name_of_Trigger(事件 1,事件 2){

   for(Each Object's Event1/Event2) {
       if (Check box is selected) {
               Assign Billing address to Shipping address (i.e using '=' operator);
                                 }
                      }

}

于 2021-07-29T08:37:55.893 回答
0

首先需要在帐户选项卡中创建名称匹配帐单地址的复选框字段,然后打开开发人员控制台并编写代码并保存它。最后检查它是否在您的销售人员实例中再次工作

这是代码:

在帐户上触发 accountAddressTrigger(插入前,更新前){

for(Account acct : trigger.new){

      if(acct.Match_Billing_Address__c == true)

      acct.ShippingPostalCode = acct.BillingPostalCode;
      }

}

于 2018-01-12T22:41:27.670 回答