【レポート検索パラメーター 日付項目に特定日付は送れない。】
こんにちは、kubottyです。
レコードの詳細ページ(など)から、あるレポートを表示し、そのレコードに関連のあるものを一覧で確認できるようにする。
標準機能で作成出来るため、非常に便利なカスタマイズですね。
レコードに関連のあるということで、同じ参照先のIDをもっているものや、テキストや数値、選択リストの値が同じなど、
そのレコードがもっている情報(値)をレポートの検索条件に設定し、
レポート実行するというものになります。
いちいちレポートの条件を修正せずに、結果をワンクリックで確認できるのでぜひ使いこなしたいカスタマイズです。
ここでひとつ問題になるのが、日付型の値です。
例えば、
検索元となるAレコードに開始日という日付項目があったとします。
この開始日がAレコードと同じ日付のレコードを抽出したレポートを出したいとします。
特定日付での検索となりますね。
そこで開始日項目を検索条件でセットしたレポートを作成します。
次に、詳細ページからそのレポートを呼び出せるように、カスタムボタンを作成します。
レポートIdと、検索条件値のひとつ目なので下記のように。
https://ap.salesforce.com/00O10000004d7up?pv0={!Search__c.StartDate__c}
( {!Search__c.StartDate__c} は 開始日項目。
“pv0″は、検索条件値の一つ目。
二つ目がある場合は、
https://ap.salesforce.com/00O10000004d7up?pv0={!Search__c.StartDate__c}&pv1={!Search__c.StartDate__c} こんな感じ)
さぁレイアウトに加えてテストテスト♪
レコード詳細ページから、ボタンをクリック。
あれ??
レポートの編集画面が開きました!?
おかしいですね。。
参考でこんな記事も。
日付型はうまくいかない様です。。
では、頭を切り替えて「テキスト」で比較させてみましょう。
数式を使って、「開始日」を戻り型テキストで変換して。文字数も合わせて。
TEXT(YEAR(StartDate__c))& LPAD(TEXT(MONTH(StartDate__c)),2,”0″)& LPAD(TEXT(DAY(StartDate__c)),2,”0″)
こんな感じで。
これで日付をテキストに変換OK。
カスタムボタンを修正して、レポートの検索値に送る項目を変更。
https://ap.salesforce.com/00O10000004d7up?pv0={!Search__c.StartDate__c}
変更→https://ap.salesforce.com/00O10000004d7up?pv0={!Search__c.Search_StartDate__c}
レポートの検索条件も変更してと。
では、あらためてテストテスト♫
ばっちりいけましたね。
ちなみに「日付型」のままでも、”今日”を指定することは可能みたいです。
ちょっと手を加える必要がありましたがカスタマイズで出来るので、活用できる場面があればお試しください☆