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