【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.