Memos About Salesforce

Salesforceにハマってたこと!

数式の計算タイミング

久しぶりテストクラスを作ります 今日、テストクラスを作る時に気づいたことを共有します

● 数式計算タイミング
● SFDCの数式の仕組み
● まとめ
数式計算タイミング

分かるタイミングはDBから問い合わせる時 ・画面表示:数式項目が表示される時 ・アクセスされる時:API 経由でレコードを SELECT するタイミング

説明     データ型を数式で設定した項目の数式はいつ計算(評価)されますか 解決策 数式が評価されるタイミングは、数式項目が表示される、もしくはアクセスされる時となります。 そのため、値を画面上に表示する時等、データを読み込みに行く度に評価されます。 タイミングとしては、"画面表示" や "API 経由でレコードを SELECT するタイミング" 等、 対象項目のデータが生成されるタイミングで毎回評価されます。
SFDCの数式の仕組み

まずSFDCのCRMからSFDCのDBの間をイメージについて 自分なりの理解を言います A

SFDCのCRM

    ↓  ↓ ↓ B

WEB サーバー

    ↓  ↓ ↓ C

SFDC のDB

あるテーブルに数式項目があるとする OBJ Name:Test__c FieldA:Currency__c(通貨型) FieldB:Currency__c*3(数式(通貨型)) 新規データを一つ作る insert Test__c すぐクラス内で Test__c.数式項目をデバッグで確認するとNullです 理由はinsert Test__cは上記の「B」webサーバーにある 数式のロジックは「C」SFDCのDBにあるので DBを問い合わせ(Select * From DB)しないとその数式のロジックは動作しないわけ

まとめ

寝まーす!笑