のののののうらがみ

カレンダーの裏程度のことしか書いてないよ

devでもadminでもない人のKAIZEN(後編)

今度こそ後編です。これでおしまい!
ちなみに今回の記事の内容はLightningでもClassicでも使えます。ただ、ちょっと使い勝手は違うので注意です。
 

わざわざ3部作にしてまで言い足りなかったこととは

前回作ったレコード作成ツールに、新しい機能をつけてみましょう。
 
管理者でない皆様、レポートの機能はご存知ですか?
レポートとは、Salesforceに格納されているデータを、見やすく、分かりやすく表示する機能です。
もし「よくわかんない」「どう使うの?」「ポケモンセーブするの?」という方がいれば、まず以下のトレイルヘッドを覗いてみてください。
 
レポートがある程度わかる前提で話してしまいますと、前編中編で紹介したURLパラメータによってレポートもある程度制御できます。 
 
実際の例に沿って話しましょう。
前回作った、とある会社のTシャツの注文受付をするオペレーターさんのレコード作成ツールにもう一つボタンを付けました。「この注文者の注文履歴を見る」という、新しいボタンが存在していますね。
 

f:id:nnn123:20200426164223p:plain

 
このボタンを押すと、以下のような画面が起動します。
 

f:id:nnn123:20200726094846p:plain

(左:Lightnig環境での出力結果 右:Classic環境での出力結果)

 
すごーーい!ボタン一つでブラウザが立ち上がり、桃山桃子さんの過去注文履歴が引き出せちゃいました。さて、これがどうやって実現できるかを説明していきます。
 

準備するもの

今回の記事で用意するのは、抽出したい項目で整理したレポートだけです。例えば、「商談」オブジェクトのレポートを作って、商談名と作成日、金額を項目に入れてレポートを作ります。あるいは、既存のレポートを使ってもいいですよ。必ずしも自分が作ったものである必要はありません。
ただし、このツールを自分以外の多くの人に使ってもらう可能性があるのであれば、「非公開」のレポートではなく、「公開」のレポートを使いましょう。
 
次に、検索条件をあらかじめセットしていきます。
今回の例でいうと、取引先名と一致するor部分一致する人を、レポートで抽出しようとしています。ただ、どんなデータを打ち込むかどうかはExcelに入れた情報からあとで引っ張ってくる予定です。自由記述部分は、あとでURLパラメータで上書きできますので、今のところは空欄か、何か適当なものにして保存しておきましょう。
(項目名、演算子は変えられないの…?という疑問については後でお答えします)
 

f:id:nnn123:20200726101652p:plain

(左:Lightnig環境での出力結果 右:Classic環境での出力結果)
 

URLパラメータ構成

さて、レポートが用意出来たら、このレポートのURL構成を見てみましょう。
この辺りは環境によって結構違うので、項目を分けます。まずはクラシックから説明します。
Classic環境

(レポートURL)?pv(検索条件番号)=(入れたいデータ)

構文は上の通り。ただ、ここで気を付けてほしいんですが、この検索条件番号です。検索条件の番号は、0から始まっています。なので、一番最初の検索条件を変更したい場合は検索条件の番号を0にしておく必要があります。

f:id:nnn123:20200726154555p:plain

先ほどの例でボタンを押す際に、次のようなURLで接続すればOKです。

https://sampledomain.my.salesforce.com/00O2x000002lgmG?pv0=桃山

 

複数くっつけることもできます。

(レポートURL)?pv(検索条件番号)=(入れたいデータ)&pv(検索条件番号)=(入れたいデータ)

https://sampledomain.my.salesforce.com/00O2x000002lgmG?pv0=柿田&pv1=aaa

 

他にも、演算子を変えたいときには?pn を使うことで対応可能です。
比較演算子はeq(完全一致)や、co(含む部分一致)などを使ってください。

 

(レポートURL)?pn(検索条件番号)=(アルファベット2文字の比較演算子&pv(検索条件番号)=(入れたいデータ)

 

例えば、「柿田」という文字を含む取引先名で抽出したい場合は、次のようなURLを入力します。

https://sampledomain.my.salesforce.com/00O2x000002lgmG?pn0=co&pv0=柿田

 

ここら辺のClassic環境でつかえるURLパラメータについては、「Salesforce URLパラメータ」とかでググっていただくと、とても分かりやすく一覧にまとめてくださってるブログとかが見つかるので、いろいろ使ってみてください。

あ、もし日付型項目の絞り込みをされたい場合は一点だけ注意です。入力の際は、必ず「MM/DD/YYYY HH:SS AM/PM」(例・12/03/1999 18:20 PM)で入力しないとうまく動きません。 私はだいぶここハマりました。そしたらTrailblazerCommunityですごい強い人が数時間で解決してくれました。ありがたい限りです…。

Lightining環境

(レポートURL)?fv(検索条件番号)=(入れたいデータ)

構文は上の通り。クラシックと少し違うのは、pvがfvになっているところ。また、Lighingでレポートの検索条件を見る(右上のフィルタマークを押すと見えます)場合に、既に既存の条件が入っているように見えます。

(いやClassicでも表示場所が違うだけで、こういうの既存条件はもちろんあるんですけどね)

なので、ここで検索条件の番号として打つのは、既存の条件を除いた(×マークを押して消すことのできる)検索条件を0から数えたものです。

f:id:nnn123:20200726154343p:plain

 
となると、前述の例のURLはこうなります。
https://sampledomain.lightning.force.com/lightning/r/Report/00O2x000002lgmG/view
?fv0=桃山
 
こうなれば複数条件もも珍可能です。&でつないで沢山条件を入れちゃってください。
ただし、Classicと違うところとして、Lightningでは残念ながら条件演算子はURL パラメータで変更できません。Classicに切り替えるか、検索条件をクリックしながら書き換えるか、IdeaExchangeなどで叫びましょう。
 
参照:Lightning Experience での URL パラメータを介したレポートの絞り込み
https://help.salesforce.com/articleView?id=reports_filter_url.htm&type=5

 

ユーザとしてあがいてきた時間は無駄じゃなかったと思いたい

3部作になりましたが、バックトゥザフューチャーは1が一番面白いように、初めて手に入れた問題解決方法って大体嬉しくて楽しくて仕方なくて、とってもはしゃいでしまうものなんですよね。中編後編は、書こう書こうと思いながら結構筆が進まず、そんなこと言っている間にユーザや管理者の立場を離れてしまいました。でも、あのときの経験が遠いどこかのどなたかのお役に立てば…!と思い、まとめました。

長々お付き合いありがとうございました。