【Salesforce】数式項目が更新されない

【Salesforce】数式項目が更新されない

SalesforceのApexで数式項目を参照した際に、数式項目が更新されていないことがありました。

当たり前ではあるのですが、updateの後にレコードを再取得しないと数式項目は更新されません。

※数式は以前作成したものです。

数式項目で数値を参照した際の動きについて

Account acc;

acc = new Account();
acc.Name = '確認';
acc.AnnualRevenue = null;
insert acc;

acc = [select
           Id,
           Name,
           AnnualRevenue,
           IsAnnualInput__c
       from
           Account
       where 
           Id = :acc.Id];

system.debug('【ログ】Name:' + acc.Name);                           // 【ログ】Name:確認
system.debug('【ログ】AnnualRevenue:' + acc.AnnualRevenue);         // 【ログ】AnnualRevenue:null
system.debug('【ログ】IsAnnualInput__c:' + acc.IsAnnualInput__c);   // 【ログ】IsAnnualInput__c:false

acc.AnnualRevenue = 100;
update acc;

system.debug('【ログ】Name:' + acc.Name);                           // 【ログ】Name:確認
system.debug('【ログ】AnnualRevenue:' + acc.AnnualRevenue);         // 【ログ】AnnualRevenue:100
system.debug('【ログ】IsAnnualInput__c:' + acc.IsAnnualInput__c);   // 【ログ】IsAnnualInput__c:false

acc = [select
           Id,
           Name,
           AnnualRevenue,
           IsAnnualInput__c
       from
           Account
       where 
           Id = :acc.Id];

system.debug('【ログ】Name:' + acc.Name);                           // 【ログ】Name:確認
system.debug('【ログ】AnnualRevenue:' + acc.AnnualRevenue);         // 【ログ】AnnualRevenue:100
system.debug('【ログ】IsAnnualInput__c:' + acc.IsAnnualInput__c);   // 【ログ】IsAnnualInput__c:true

delete acc;

数式項目を再計算するメソッドもあるのですが、参照項目が関連する数式の場合は再計算されないんですよね。

No comments.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です