Administrator 練習問題 Q284
AW Computing(AWC)は、Salesforceに取引先責任者として保存されている独立請負業者と連携する場合があります。請負業者はしばしば所属する代理店を変更し、AWCは履歴の正確さを維持したいと考えています。AWCは取引先責任者を追跡するために何を使用する必要がありますか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:D. 取引先責任者と複数の取引先の関連付け(Contacts to Multiple Accounts)を有効にします。
解説
前提知識
取引先と取引先責任者とは
Salesforceの標準オブジェクトのうち、取引先(Account)は企業・団体を、取引先責任者(Contact)は人を表す。初学者はこの2つを「会社」と「そこにいる人」と覚えてよい。 標準では、取引先責任者には取引先を指すルックアップ項目が1つだけある。これを**主取引先(直接の関係)**という。つまり素の状態の取引先責任者は、会社を1つしか持てない。
今回の困りごと
独立請負業者は、同じ人物のまま所属する代理店を渡り歩く。しかも「いつ、どの代理店に属していたか」の履歴を残したい。しかしルックアップ項目を1つ書き換えるだけでは、前の所属は上書きされて消える。
取引先責任者と複数の取引先の関連付けとは
Salesforceはこの問題のために、1つの取引先責任者レコードを複数の取引先に関連付けられる標準機能を用意している。英語名は Contacts to Multiple Accounts である。 この機能を有効にすると、**取引先責任者の関係(Account Contact Relationship)**というレコードが使えるようになる。これは「この人とこの会社の関係」自体をレコードとして保存する仕組みであり、役割や開始日・終了日、現在有効かを記録できる。 重要な用語が2つある。
- 直接の関係:取引先責任者の主取引先との関係。
- 間接的な関係:主取引先以外に後から追加で紐づけた関係。今回の「過去に属していた代理店」や「兼務先」はこれにあたる。 取引先責任者の関係には[開始日][終了日][有効]などの項目があり、関係の期間と現在の有効性を記録できる。また、取引先責任者の主取引先を変更したとき、以前の主取引先との関係を間接的な関係として保存するかどうかは、管理者が取引先の設定で制御できる。したがって、主取引先の変更時に以前の関係を保存し、必要に応じて終了日と有効状態を更新する運用にすれば、所属履歴を保持できる。
設問の状況を分解する
- 追跡したい対象は「人」(独立請負業者)であり、すでに取引先責任者として存在している。
- 1人の請負業者が、時系列で複数の代理店(=取引先)と関係を持つ。
- 要件は「現在の所属を正しく持つ」だけでなく、履歴の正確さを保つことである。
- したがって「上書き」も「重複レコード作成」も不適切である。 初学者が誤解しがちなのは、「多対多なのだからジャンクションオブジェクトを自分で作るのが正しい」と考えてしまう点である。確かにこれは多対多の関係であるが、Salesforceは取引先と取引先責任者の関係を標準の Account Contact Relationship オブジェクトで提供している。この設問では、同じ目的を満たす標準機能が明示されているため、カスタムのジャンクションオブジェクトを新設する必要はない。
選択肢の検討
A. パートナーコミュニティを使用して取引先責任者を追跡します。 → ✕
パートナーコミュニティ(現在のExperience Cloudサイト)は、社外の取引先責任者にSalesforceへのログイン手段を与える仕組みである。あくまで「外部ユーザーに画面とアクセス権を提供する」ものであり、人と会社の関係履歴を記録する機能ではない。 これが正解になるのは、請負業者自身にケースや案件を登録させたいという要件だった場合である。
B. 代理店ごとに新しい取引先責任者レコードを作成します。 → ✕
同一人物のレコードが代理店の数だけ増える。メールの重複送信、活動履歴の分断、レポートの人数の二重カウントといった問題を引き起こす。Salesforceのデータ設計では、同じ実体に対してレコードを増やすのは最後の手段である。
C. 多対多の関係を追跡するためのジャンクションオブジェクトを作成します。 → △(惜しいが不正解)
考え方の方向は正しい。ジャンクションオブジェクトとは、多対多の関係を表すために2つの主従関係を持つカスタムオブジェクトであり、今回の要件も技術的には実現できる。 しかし、この設問では不正解である。Salesforceはこの用途のために、取引先責任者の関係(Account Contact Relationship)という標準の仕組みをすでに持っている。標準機能で要件を満たせるため、同じ関係を表すカスタムオブジェクトを別途作る必要はない。 これが正解になるのは、標準オブジェクト同士で標準機能が存在しない多対多(例:「セミナー」と「取引先責任者」の参加関係など、カスタムオブジェクトが絡む場合)を追跡したいときである。
D. 取引先責任者と複数の取引先の関連付け(Contacts to Multiple Accounts)を有効にします。 → ⭕ 正解
取引先責任者レコードを1つに保ちたまま、複数の取引先との関係を記録できる。役割や現在有効かどうかも関係ごとに持てるため、「どこに所属していたか」の履歴が残る。重複を作らず、カスタム開発も不要である。
管理者としての対処手順
- [設定]のクイック検索に
取引先の設定と入力し、[取引先の設定]を選択する。 - [編集]をクリックする。
- [ユーザーが取引先責任者を複数の取引先に関連付けことを許可]に相当する設定(Allow users to relate a contact to multiple accounts)をオンにし、保存する。
- 取引先のページレイアウトに[関連する取引先責任者]関連リストを、取引先責任者のページレイアウトに[関連する取引先]関連リストを追加する。
- 必要なら、取引先責任者の関係に「役割」の選択リスト値(例:請負業者、顧問)を追加する。
- 主取引先を変更する運用では、以前の主取引先との関係を保存する設定を確認する。保存された旧関係には、必要に応じて[終了日]を入力し、[有効]をオフにして履歴として残す。間接的な関係を削除するとごみ箱から復元できないため、履歴を保持する場合は削除しない。
| やりたいこと | 使うもの |
|---|---|
| 1人が複数の会社に関係を持つ | 取引先責任者と複数の取引先の関連付け |
| 人と人のつながりを表す | 取引先責任者階層、関係項目 |
| 会社と会社のつながりを表す | 取引先の関係、取引先階層 |
| 自社ユーザーと取引先の関わり | 取引先チーム |
| カスタムオブジェクト同士の多対多 | ジャンクションオブジェクト |
あわせて覚えておきたいポイント
- この機能を有効にすると、主取引先を持つ既存の取引先責任者と個人取引先に対して、取引先責任者の関係レコードが作成される。
- 直接の関係を削除すると、その取引先責任者の間接的な関係も削除される。直接の関係を復元すると間接的な関係も復元される。
- 間接的な関係を単体で削除した場合は完全に削除され、ごみ箱から復元できない。履歴を残したいなら削除してはいけない。
- ルックアップ検索などの一部の画面では、直接の関係だけが表示される。
- まとめとして、Salesforceの多対多は「標準で用意されているものは標準を使う」が原則である。ジャンクションオブジェクトは、標準で用意されていない組み合わせのときに使う。
出典(Salesforce公式)
- Set Up Contacts to Multiple Accounts(Salesforce Help) — この機能は1つの取引先責任者レコードを複数の取引先に関連付けられるもので、[取引先の設定]で「取引先責任者を複数の取引先に関連付けることを許可」を有効にすると設定できることを裏付けている。
- Considerations for Relating a Contact to Multiple Accounts(Salesforce Help) — 機能有効化時に主取引先を持つ取引先責任者と個人取引先に取引先責任者の関係レコードが作成されること、直接の関係の削除で間接的な関係も削除されること、間接的な関係の削除はごみ箱から復元できないこと、一部のリストでは直接の関係しか表示されないことを裏付けている。
- Understand Account and Contact Relationships(Trailhead) — 取引先責任者を複数の取引先に関連付けることで、人とその人が関わる企業の関係(直接・間接)を追跡できると説明している。
- Account Contact Relationship Fields(Salesforce Help) — [有効][開始日][終了日][役割]の各項目が関係ごとに保存され、開始日と終了日で関係履歴を保持できることを裏付けている。