Salesforce: 无法在trigger中取到Country或State的更新

如果在org中启用了“State and Country Picklists”, 则无法在Trigger中获得Country或State的更新(适用于BillingCountry, BillingSate, MailingCountry, MailingState等)

例如,如下代码无法正常工作:

trigger MyAccountTrigger on Account (before update) {
  for (Account account : Trigger.new) {
    if (account.BillingCountry != Trigger.oldMap.get(account.Id).BillingCountry) {
    account.Name = 'test';
    }
  }
}

我们需要在Country或State后面加上Code

trigger MyAccountTrigger on Account (before update) {
  for (Account account : Trigger.new) { 
    if (account.BillingCountryCode != Trigger.oldMap.get(account.Id).BillingCountryCode) {
    account.Name = 'test';
    }
  }
}

这样就可以工作了。

posted @ 2020-12-04 17:33  Clsriz  阅读(55)  评论(0编辑  收藏  举报