🐴
Salesforce:ビューの検索条件に「現在ログインしているユーザー」を設定するには
用途
「特定の項目が現在のログインユーザと一致しているレコードだけを表示させたい」
という要望に出会った。
ちょっと試してみたらできたので備忘的に残しておく。
調べてみたこと
グローバル変数[$User.Id]を使えば良いんじゃね?
→無理でした。
対象のオブジェクトに数式項目を追加してTrue の値をソートする
ビューに表示するオブジェクトに数式(チェックボックス)でログインユーザID=対象項目のユーザ という数式を作ればtrueになったレコードだけを表示できるらしい。
ほんとかよ?w
ってことで試してみた。
▼前提条件
・対象項目がユーザオブジェクトを参照していること
項目を作成する
-
[設定]→[オブジェクトマネージャ]→[項目とリレーション]→[新規]
-
[数式]を選択→[次へ]
-
表示ラベル、項目名を設定→[次へ]
-
数式を入力して[次へ]→[次へ]→[保存]で完了
ビュー画面を作成する
-
対象のオブジェクトをクリックしてビュー画面を開く
-
適当に新規ビューを作成して検索条件を変更
-
やったーできたー
// Todo)開発者環境でちゃんと項目作って画像取り直しとく
最後に
今回はTrue/Falseのチェックボックス項目としたが、IF文を使えば更に応用できそう。
小話
・基本的に項目名はFieldXXとかにしちゃだめ。メンテナンス性がめっちゃ下がる。
・命名規則はしっかり決めよう。例えばチェックボックスならexistHogeとか。困ったらキャメルケースで良い。
・命名で迷うのは開発者あるある。むしろ悩め。ここを決める時間は惜しまないこと。
・なんで命名大事なん?って疑問に思った人はリーダブルコードを読もう。
お金がない?お馬さんが買ってあげるからAmazon欲しい物リストを公開なさい。
・って言ったけど命名に悩みすぎるくらいなら…まあ妥協しても良い。
しかしその妥協は後で君を殴りにくるからね。
Discussion