事の発端
「商談の完了予定日が今日から7日以内までの商談を抽出するリストビューが欲しい」ってカンジの要望がたまにある。
しかし、リストビューでは日付の指定にToday()関数は使えずYMD形式で指定する必要があるので、抽出の度に日付を設定する手間が発生する。
**「今日」**と言う抽象的な日付をどう扱うか…
解決作
リストビューで持てないならオブジェクトに持たせれば良いじゃない
「完了予定日が今日から7日以内の商談」の判定結果を商談オブジェクトの項目として持たせ、リストビューではその結果を抽出する。
今回は可読性を優先して「今日から7日先の日付」持たせたカスタム項目「FutureDate__c」を予め用意している。
そして「完了予定日が今日から7日以内であればTrue」となる数式「Formulas__c」を作成する。
IF (
AND( TODAY() <= CloseDate , CloseDate <= FutureDate__c )
, true, false)
結果
この記事を書いているのが2021年9月5日なので結果はこの様に右端「Formulas」項目で対象のレコードのみTrueとなる。
あとは、リストビューの抽出条件で「Formulas__c」がTrueのレコードを絞り込むだけ。
これで「今日」から7日以内と言う抽象的な抽出が可能となる。
応用編
自分と同じチームの商談のみを表示したい
今回は、ユーザ情報に選択リストで「営業チーム(SalesTeam__c)」なるものを追加し、各ユーザにチームを割り当てる。
先程と同様に商談に数式項目を追加しリストビューの抽出条件で指定するだけ
TEXT($User.SalesTeam__c) = TEXT(Owner.SalesTeam__c )
結果の画像は省略
利点
チームの数だけリストビューを作らずに済み、メンテもユーザ情報の項目のみとなり、将来的なチームの増減時の修正コストが抑えられることである。