Memos About Salesforce

Salesforceにハマってたこと!

Salesforce クエリ 特別編 最近参照したデータ

こんにちは、管理人の@Salesforce.Zです。

開発側にいる方なら、

クエリは詳しいでしょう

Salesforceにはリストビューやルックアップといった参照項目があります

しかし、共通点がある

それが「最近参照したデータ」の一覧は

リストビューに表示されるし、ルックアップ項目の検索ポップアップウィンドウにも表示される

そして、同じ

このレコードは「RecentlyViewed」というテーブルに保存される

公式サイトFOR VIEWの説明: Salesforce Developers

このテーブルのオブジェクト定義: Salesforce Developers

目次

クエリの使用

クエリは集計関数、条件分などのいろいろな使いかたがある

ここで、通常の取得と最近参照したデータの取得それぞれを比較として例に出します

例は取引先責任者を対象にします

通常の使用

SELECT ID, Name  FROM Contact

参照したデータのクエリ

SELECT ID, Name  FROM Contact WHERE LastViewedDate !=null

LastViewedDateという項目がレコードに参照する時にデータが自動はいる

該当レコードがRecentlyViewedというテーブルに格納される

そこで、最近参照したデータとして表示される

さらにルックアップ項目のポップアップウィンドウにも表示される

画面と同じ操作のクエリ

SELECT Name, ID FROM Contact  LIMIT 1 FOR VIEW

FOR VIEWでクエリに加えたら、インターフェース上で参照したと同じ扱いになる

最近参照したデータはどんな案件で使うなの?

ルックアップ項目に条件を設定して、ユーザの誤り操作を防ぎたい場合に使う

しかし、新規ユーザはどのレコードにもアクセスしたことがない場合

ルックアップ項目に条件を設定しても、条件にキックしたレコードが表示されない

なぜなら、アクセスしていないため、RecentlyViewedというテーブルに格納されない

ルックアップ条件を設定しても、検索した結果がないから

そのため、

手動で1件ずつアクセスするのがめんどいときに

クエリに「FOR VIEW」というキーワードを使い、アクセスさせて、ITの感じですね