Salesforceの項目の連動関係(リスト型の連動項目)

Sales Cloudのリスト型で、選択した値に応じて絞り込み検索する(いわゆる連動型プルダウンやVLOOKUPのイメージ)ときの設定方法。
【注意】データ元がオブジェクトとリストの2種類あるが、今回はリスト値が対象

背景

選択した値(参照先はリスト)に応じて絞り込んで選択をしたい。

(例)
都道府県を選択したら、その都道府県に紐付く市区町村だけを表示したい。

挙動イメージ

設定後のイメージ

「都道府県」と「市区町村」の選択リストを用意し、「都道府県」を選択すると、それに紐付く「市区町村」だけがプルダウンで表示されて選択できる。

ほかの「都道府県」を選択した場合も同様に、それに紐付く市区町村だけが表示されて選択できる。

なお、プルダウンの下部にある「連動関係にあるすべての項目を参照」というテキストリンクをクリックすると、プレビューのような形でどのような連動関係なのかを調べることができる。
(今回はプルダウンを上下に設置しているため、あまり意味はないが、プルダウンがUI上離れていたり、多数の連動関係がある場合に活用できる)

設定方法

全体像としては、カスタム項目を2つ作成(①絞り込み用選択リスト ②紐付け用選択リスト)し、そのあとに「項目の連動関係」を設定するだけ。

①絞り込み用選択リスト

  1. 対象オブジェクトを選択したあとに、「項目とリレーション」より「新規」ボタンでカスタム項目を新規追加する。
  2. データ型で「選択リスト」を選択する。「各値を改行で区切って入力します。」の欄に以下を入力する。
埼玉県
千葉県
東京都
神奈川県

以降は次へと進めて保存。これで「都道府県」を選択するカスタム項目ができる。

②紐付け用選択リスト

基本的には①と同様。

  1. 対象オブジェクトを選択したあとに、「項目とリレーション」より「新規」ボタンでカスタム項目を新規追加する。
  2. データ型で「選択リスト」を選択する。「各値を改行で区切って入力します。」の欄に以下を入力する。

【注意】わかりやすくするために「---埼玉県---」のような区切りを入れていますが、実際の入力時には削除してください。

---埼玉県---
川越市
熊谷市
川口市
浦和市
大宮市
行田市
秩父市
所沢市
飯能市
加須市
本庄市
東松山市
岩槻市
春日部市
狭山市
羽生市
鴻巣市
深谷市
上尾市
与野市
草加市
越谷市
蕨市
戸田市
入間市
鳩ケ谷市
朝霞市
志木市
和光市
新座市
桶川市
久喜市
北本市
八潮市
富士見市
上福岡市
三郷市
蓮田市
坂戸市
幸手市
鶴ヶ島市
日高市
吉川市
大井町
三芳町
松伏町
庄和町
---千葉県---
千葉市
銚子市
市川市
船橋市
館山市
木更津市
松戸市
野田市
佐原市
茂原市
成田市
佐倉市
東金市
八日市場市
旭市
習志野市
柏市
勝浦市
市原市
流山市
八千代市
我孫子市
鴨川市
鎌ケ谷市
君津市
富津市
浦安市
四街道市
袖ヶ浦市
八街市
印西市
沼南町
白井町
---東京都---
千代田区
中央区
港区
新宿区
文京区
台東区
墨田区
江東区
品川区
目黒区
大田区
世田谷区
渋谷区
中野区
杉並区
豊島区
北区
荒川区
板橋区
練馬区
足立区
葛飾区
江戸川区
八王子市
立川市
武蔵野市
三鷹市
青梅市
府中市
昭島市
調布市
町田市
小金井市
小平市
日野市
東村山市
国分寺市
国立市
田無市
保谷市
福生市
狛江市
東大和市
清瀬市
東久留米市
武蔵村山市
多摩市
稲城市
羽村市
あきる野市
瑞穂町
---神奈川県---
横浜市
川崎市
横須賀市
平塚市
鎌倉市
藤沢市
小田原市
茅ケ崎市
逗子市
相模原市
三浦市
秦野市
厚木市
大和市
伊勢原市
海老名市
座間市
南足柄市
綾瀬市
葉山町
寒川町
大磯町
箱根町
湯河原町

以降は次へと進めて保存。これで「市区町村」を選択するカスタム項目ができる。

項目の連動関係

  1. 対象オブジェクトを選択したあとに、「項目とリレーション」より「項目の連動関係」ボタンより、以下を設定する。

  1. 各列と連動させる値を選択する。

【補足】
- Shift+クリックで一括選択でき、「値を含める」ボタンを押すと反映できる(値が紫色は選択状態、黄色は反映状態=値を含める状態、白色は未選択=値を含めない)。
- 基本的に手動で地道に連動設定をしていく。

以下は一括選択イメージ

保存すると最終的に以下のようになる。

Salesforceのルックアップ検索(オブジェクト間の連動項目)

Sales Cloudのオブジェクトで、選択した値に応じて絞り込み検索する(いわゆる連動型プルダウンやVLOOKUPのイメージ)ときの設定方法。
【注意】オブジェクトの場合、プルダウンは実装できないため、自由入力による検索&選択になる

背景

選択した値(参照先はオブジェクト)に応じて絞り込んで選択をしたい。

(例)
取引先を選択したら、その取引先に紐付く商談だけを表示したい。

挙動イメージ

設定後のイメージ

「取引先」と「商談」の入力フォームを用意。

「取引先」を選択すると、それに紐付く商談だけが表示されて選択できる。

ほかの「取引先」を選択した場合も同様に、それに紐付く商談だけが表示されて選択できる。

設定方法

全体像としては、カスタム項目を2つ作成(①絞り込み用フォーム ②紐付け用フォーム)し、それぞれ参照先を設定するだけ。

①絞り込み用フォーム

対象オブジェクトを選択したあとに、「新規」ボタンでカスタム項目を新規追加する。

データ型で「参照関係」を選択する。

新規リレーションで「取引先」を選択する。

以降は次へと進めて保存。これで「取引先」を参照するカスタム項目ができる。

②紐付け用フォーム

同様の手順で以下を実行する。

  1. 対象オブジェクトからカスタム項目を新規追加する。
  2. データ型で「参照関係」を選択する。
  3. 新規リレーションで「商談」を選択する。
  4. 新規リレーションの詳細設定で、

4-1. ルックアップ検索条件欄から「推奨条件を挿入」ボタンをクリック

4-2. 「商談:取引先IDがBook:取引先に一致します」を選択

以降は次へと進めて保存。これで「取引先」で選択した値に絞り込まれた「商談」が選択できるカスタム項目ができる。

MacでVisual Studio Codeの折返しが適用できない

MacでVisual Studio Code(VSCode)の設定や折返し有効化のショートカット(alt+Z)など試したが、折返しが適用できない現象が発生。
結果的に自分の設定ミスで、ほかの設定をいじってしまい、それが原因で折り返しにならなかった。

折り返す場合の一般的な設定は、Settingsから「Editor: Word Wrap」を「On」にするだけでよい。
しかし、自分の場合は「Editor: Accessibility Support」も「On」にしてしまっていた。これをOnにしてしまうと折返しが無効化される。

以下がウィンドウ幅で折り返すための正しい設定。

Macでスリープ復帰時にLogicoolのマウス設定が効かなくなる

Logicool M720というワイヤレスマウスをMac(macOS Big Sur 11.4)で使っていて、マウスのスピードなどをMacアプリのLogicool Optionsで設定している。しかし、設定が度々効かなくなることが多いため困っている。

現象

スリープからの復帰時や気づいたときにマウスの設定が有効になっていないことが多発している。

原因

おそらく、何らかの不具合でLogicool Optionsアプリの設定が外れてしまう。

対策

以下のいずれかの方法で直る。
案1:マウス自体をOFF/ONする。
案2:Macをパスワードロックしてからロックを解除する。
案3:Logicool Optionsアプリでマウスのスピードを再設定する。
案4:Macのアクティビティモニターで「Logicoo Options Daemon」を終了する。終了すると自動的にプロセスが立ち上がるのでアプリを再度立ち上げるといったことは不要。
案5:(最終手段)ユーザーログアウト/ログインまたはMacを再起動する。

半自動化対策

案4でたまに直るケースもあり、プロセスを自動的に立ち上げ直すシェルを作った。

Macで「pkill_logicool_daemon.command」ファイルを作成して、以下を記述。
補足:「.command」をつけるとファイルをダブルクリックで実行可能になる

#!/bin/bash
echo '自分のsudoパスワード' | sudo -S pkill Logicool Options Daemon 2>/dev/null

ターミナルで実行権限を付与する。

$ chmod 755 pkill_logicool_daemon.command

Macのデスクトップ上で、ファイルをダブルクリックして動作するか確認したら完了。

補足

念のため、Logicool Optionsアプリの最新版をインストールし直してみて、問題が解消されるか試されることをおすすめします。

Salesforceで商談チームを有効化したあとに関連リストに表示されない

Sales Cloudで商談チームを有効化したあとに表示されなかったときのメモ。

現象

以下を参考に商談チームを有効化しても、商談チームが表示されない。

商談チームを有効にしてチームセリングを促進

原因

ページレイアウトに商談チームを追加していないため、表示されない。

対応

以下を参考に商談オブジェクトのページレイアウトで商談チームを追加する。

関連リストの表示項目を変更する方法

商談チームを追加すると以下のようになる。

商談の関連リストに商談チームが表示されるようになる。

Salesforceのレポートで小計が表示されない

現象

Sales Cloudですでに作成済みだったレポートを開いて、「行をグループ化」で指定し、「小計」の表示をしても、小計が表示されない。

原因

すでに追加済みの列は小計が走らない。

対策

列を再度追加する。

手順

1. 作成済みのレポートを開く

小計が表示されていない。行のグループ化はしていて、最下部で「小計」ボタンも表示にしている。(今回の場合はリスト価格の小計を表示したい)

2. 列を削除してから再度追加する

3. 小計が表示される

SalesforceのToDoや活動の記録を実行すると何のデータが入るのか

Sales Cloudで「新規ToDo」や「活動の記録」で登録すると、具体的にどこのカラムに何のデータが入るのか?

検証結果

活動関連(「新規ToDo」や「活動の記録」など)は、「行動のサブ種別」や「ToDoのサブ種別」カラムにそれらを区別するためのデータが登録される。

アクション 行動のサブ種別 ToDoのサブ種別
新規ToDo - Task
活動の記録 - Call
新規行動 Event -
メール - Email

データの考え方

システム目線で見ると、以下のように捉えることができる。

  • ToDo系:新規ToDo、活動の記録、メール
  • 行動系:新規行動

参考

データを直接見たい場合は、「ToDo と 行動」のレポートを作成して列を全部表示するか、データローダでエクスポートして参照することができる。

Salesforceの活動を一覧で見る方法がわからない

課題

Sales Cloudで「新規ToDo」や「活動の記録」で登録した内容を一覧で見る方法がわからない。

4種類の対応方法

以下4種類の方法がある。

  1. 活動タイムラインから閲覧
  2. 活動履歴から閲覧
  3. ToDoオブジェクトから閲覧
  4. レポートから閲覧

用語の定義

用語(活動タイムラインと活動履歴)は以下のように定義されている。

また、若干仕様も異なる。

活動タイムラインと活動履歴の違い

(補足)オブジェクト上の活動の扱われ方

「新規ToDo」と「活動の記録」は、どちらもToDoとして登録される。

具体的な対応方法

活動タイムラインから閲覧

商談から「活動の記録」で登録すると、そのまま下のほうに活動タイムラインとして表示される。商談以外にも取引先などの各オブジェクトからも登録/閲覧可能。

活動履歴から閲覧

活動タイムラインの「すべて表示」リンクから閲覧できる。

ToDoオブジェクトから閲覧

左上のグローバルナビゲーションメニューから「ToDo」と検索してオブジェクトを表示すると閲覧できる。

レポートから閲覧

レポート作成時にレポートタイプを「ToDo と 行動」にすれば閲覧できる。
たとえば、活動を全ユーザー俯瞰して閲覧したい場合は、レポートを利用することになる。

Salesforceの「ToDo」と「活動の記録」の違いがわからない

Sales Cloudで「ToDo」と「活動の記録」があるが、どちらも似ていて使い分けがよくわからない。

経緯

商談や取引先などに「新規ToDo」や「活動の記録」という2つのタブがある。

さらに混乱するのが、入力フォームは若干異なるものの(コメント欄があるかどうかぐらい)、実際に登録すると「新規ToDo」と「活動の記録」は、どちらも「ToDo」として登録される。

解説

厳密な定義は発見できなかったが、書籍などを参考にすると以下のような使い分けになる。

  • ToDo:やることを登録する(自分が主体だったり自己完結するアクションを登録)
  • 活動の記録:訪問結果を登録する(直接お客様が関係する大事なアクションの結果を登録)

英語版だとわかりやすく、以下のようになっている。

  • ToDo → Task
  • 活動の記録 → Log a Call

※なお「Call」は訪問や電話を意味していて、元来どちらも同じ意味として使われていたようです。なお、以前勤めていた外資系メーカーでは、「Call」は訪問の意味で使われていました。

参考

Task: Essentially a to-do. Use this activity record as your online yellow sticky note. It’s an activity that needs to be completed, but it doesn’t need a specific time or duration associated with it. For example, if you know that you’re supposed to follow up with a contact by sending a written letter, you can create a task such as Send Letter.

Log a Call: A task record of a completed call. Use Log a Call during or after a call to make sure that you capture important details. For example, use it when a contact calls you and you want to record comments or outcomes from the discussion.

Kao, Liz. Salesforce.com For Dummies (For Dummies (Computer/Tech)) (pp.69-70). Wiley. Kindle 版.