この記事の目次
Salesforceにおける「主従関係」とは?

オブジェクトリレーションとは?
「オブジェクトリレーション」とは、2つの異なるオブジェクト間で親子関係を構築させた、データの紐付きそれ自体を指します。 親子関係を構築することで、子オブジェクト側から紐付く親オブジェクト側のデータを参照することや、親オブジェクト側から紐付く子オブジェクトを集計した結果やそのデータを一覧で表示できます。主従関係リレーションの設定方法
Salesforceにおいて、異なる2つのオブジェクトを主従関係としてリレーションを構築するには、””主従関係””のデータ型をもつカスタム項目を作成することで設定できます。 作成方法は、以下の流れとなります。 1.任意のオブジェクトの設定画面(オブジェクトマネージャ)へアクセスし、[項目とリレーション]をクリックする。 2.新規カスタム項目の作成画面(=「新規」ボタンをクリックして遷移した画面)を開き、データ型で””主従関係””を選択して、「次へ」ボタンをクリックする。 3.[関連先]にて、従レコード(子レコード)に指定したいオブジェクトを選択して、「次へ」ボタンをクリックする。 4.項目名等の入力、項目レベルセキュリティ(=プロファイル毎の項目アクセス権限の付与設定)、項目を表示するページレイアウトをそれぞれ設定し、「保存」ボタンをクリックする。主従関係の概要

積み上げ集計項目が作成できる
主従関係を構築すると、主レコード側で「積み上げ集計項目」を作成できます。 積み上げ集計項目とは、紐付く従レコードのレコード数や、金額や数値の合計や最高値・最低値を、主レコード上で参照できる項目を指します。 積み上げ集計項目は、カスタム項目作成時に、””積み上げ集計””というデータ型を選択することで作成できます。 例えば、ある主レコードに対し、 ・従レコード①(金額:\1,000,000、受注日:2020/12/01) ・従レコード②(金額:\3,000,000、受注日:2021/01/01) の2データが紐付いている場合、 主レコード上で、 ・合計金額:\4,000,000 ・最新受注日:2021/01/01 ・従レコード数:2 を表示できます。主レコードを削除すると従レコードも削除される
主従関係をもつオブジェクト間においては、主レコードが削除されると、関連する全ての従レコードも削除されます。 例えば、1つの主レコードに対し、従レコードが3件紐付いている場合において、主レコードを削除すると、この3件の従レコードも併せて削除されます。 ※逆に、従レコードを削除した際は、主レコードは削除されません。 Salesforceの標準機能にて、一度削除したデータであっても削除日から15日以内であれば、「ごみ箱」からデータを復元できますが、この時に、主レコードがごみ箱にある状態で、そのレコードに関連する従レコードのみの復元はできないという点に注意しましょう。 ※復元する際に、主レコードが存在していない(=ごみ箱に存在する)ため、従レコード側で主レコードの指定ができないためです。「所有者」項目の一元管理ができる
主従関係では、主レコードの「所有者」は、そのまま従レコードの「所有者」へも引き継がれます。 従レコードの作成時、指定した主レコードの「所有者」が、そのまま従レコードの「所有者」として自動で設定されます。 例えば、主レコードの「所有者」が”Aさん”としている場合に、従レコードを作成すると、その作成された従レコードの「所有者」へは自動的に””Aさん””が設定されます。 また、上記の例にて、主レコード側の「所有者」を”Bさん”へ変更すると、従レコードの「所有者」も自動で”Bさん”に変更されます。 ※但し、従レコード側で「所有者」の変更はできません。また、従レコード側のページレイアウトには、「所有者」項目は表示されません。 何かしらの理由で担当者を交代するとなった場合に、簡易的なデータメンテナンスによるスムーズな情報の引継ぎが期待できるでしょう。主従関係における制御事項

標準オブジェクトを従レコードとして指定できない
標準オブジェクトについては、従レコードに指定することはできません。 つまり、取引先オブジェクト(API参照名:Account)や商談オブジェクト(API参照名:Oppotunity)を、従レコードのオブジェクトを指定する画面にて指定ができないということです。 標準オブジェクトの親として、何かしらのカスタムオブジェクトを構築する場合は、主従関係のリレーションは構築できないという点に注意しましょう。従レコードに対し独自のセキュリティ権限を設定できない
主従関係においては、従レコード側にて独自のセキュリティ権限の設定はできません。 主従関係おいては、「所有者」項目と同様に、セキュリティ権限についても、主レコードにおける設定情報をそのまま継承するため、従レコードにおけるレコードへのアクセス権限付与等のセキュリティ設定ができません。 そもそも主レコードにアクセスできないユーザは、そのレコードに紐付いている従レコードへのアクセスもできない点にも注意しておきましょう。原則主レコードの指定が必須かつ指定変更はできない
従レコードの新規作成時は、主レコードの指定は必須で、かつ原則として、編集時に主レコードの指定の変更はできません。 主レコードであるオブジェクトAの”sample1”のデータの従レコードとして、オブジェクトBの””test1″”のデータが紐付いている場合、オブジェクトAの別のデータ”sample2”のデータや”sample1”の指定を外すことはできません。 但し、システム管理者ユーザのみ、主従関係の設定における[親の変更を許可]という権限を付与することで、主レコードの指定を変更できるようになります。 ※この権限を付与した場合であっても、主レコードの指定を外して空欄にすることはできません。参照関係との違い

主従関係を使ったデータ管理をしよう!
