代码本身不会出现任何错误,但无论何时我运行它,Trailhead都会给我这样的信息:
“挑战尚未完成......这里有什么不对: 执行触发器没有按预期工作。 “
以下是说明:
对于此挑战,您需要创建一个触发器,在插入或更新之前,检查复选框。如果复选框字段为true,则将Shipping Postal Code(其API名称为ShippingPostalCode
)设置为与Billing Postal Code(BillingPostalCode
)相同。
AccountAddressTrigger
。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
}
答案 0 :(得分:1)
您的触发器就像这样。
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;
}
}
}
答案 1 :(得分:1)
在帐户上触发AccountAddressTrigger(在插入之前,在更新之前){
for(Account a : Trigger.new){
If (a.Match_Billing_Address__c == true && a.BillingPostalCode!=Null) {
a.ShippingPostalCode = a.BillingPostalCode;
}
}
}
答案 2 :(得分:0)
首先需要在“帐户”标签中创建名称为“匹配帐单地址”的复选框字段,然后打开开发人员控制台并编写代码并保存。最后在您的salesforce实例中检查其是否正常工作
这是代码:
在帐户上触发accountAddressTrigger(在插入之前,在更新之前){
for(Account acct : trigger.new){
if(acct.Match_Billing_Address__c == true)
acct.ShippingPostalCode = acct.BillingPostalCode;
}
}
答案 3 :(得分: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);
}
}
}