Триггеры Apex - Trailhead

Сам код не выдает ошибок, но каждый раз, когда я его запускаю, Trailhead выдает мне это сообщение:

«Задача еще не завершена ... вот что не так: выполнение триггера не сработало, как ожидалось».

Вот инструкции:

Для этой задачи вам необходимо создать триггер, который перед вставкой или обновлением проверяет наличие флажка. Если поле флажка истинно, он устанавливает почтовый индекс доставки (имя API ShippingPostalCode) таким же, как почтовый индекс биллинга (BillingPostalCode).

  • Триггер Apex должен называться AccountAddressTrigger.
  • Для объекта «Учетная запись» потребуется новый настраиваемый флажок, который должен иметь метку поля «Соответствие платежному адресу» и имя поля Match_Billing_Address. Результирующее имя API должно быть Match_Billing_Address__c.
  • При активном AccountAddressTrigger, если у учетной записи есть почтовый индекс для выставления счетов и Match_Billing_Address__c имеет значение true, для записи должен быть установлен почтовый индекс доставки, соответствующий при вставке или обновлении.

Мой код:

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     
}

person Tyler Pavlovic    schedule 23.07.2015    source источник


Ответы (4)


Ваш триггер такой же.

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;
        }
    }
}
person Chandresh Koyani    schedule 24.07.2015

триггер AccountAddressTrigger для аккаунта (перед вставкой, перед обновлением) {

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

}

person Gunjan Ranpariya    schedule 29.01.2016
comment
Добро пожаловать в SO. Пожалуйста, опишите контекст вашего ответа. Ответы только на код не очень приветствуются. См. stackoverflow.com/help/how-to-answer - person Uwe Allner; 29.01.2016

Сначала необходимо создать поле флажка с именем Сопоставить адрес выставления счета на вкладке «Учетная запись», затем открыть консоль разработчика, написать код и сохранить его. Наконец, проверьте, работает ли он снова в экземпляре ur salesforce.

вот код:

trigger accountAddressTrigger на Account (перед вставкой, перед обновлением) {

for(Account acct : trigger.new){

      if(acct.Match_Billing_Address__c == true)

      acct.ShippingPostalCode = acct.BillingPostalCode;
      }

}

person chinni    schedule 12.01.2018

Триггер 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);
                                 }
                      }

}

person Kaml005    schedule 29.07.2021