2018年04月21日
数式の計算タイミング
久しぶりテストクラスを作ります
今日、テストクラスを作る時に気づいたことを共有します
分かるタイミングはDBから問い合わせる時
・画面表示:数式項目が表示される時
・アクセスされる時:API 経由でレコードを SELECT するタイミング
まずSFDCのCRMからSFDCのDBの間をイメージについて
自分なりの理解を言います
A:
↓ ↓ ↓
B:
↓ ↓ ↓
C:
あるテーブルに数式項目があるとする
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)しないとその数式のロジックは動作しないわけ
寝まーす!笑
今日、テストクラスを作る時に気づいたことを共有します
この記事に含む内容箇条的テーマ
● 数式計算タイミング
● SFDCの数式の仕組み
● まとめ
● 数式計算タイミング
● 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)しないとその数式のロジックは動作しないわけ
まとめ
寝まーす!笑
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7572747
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック