参照関係・主従関係とは
オブジェクトとオブジェクトの間で、データのつながりを持たせたい場合に使用する、
項目のデータ型の一種です。
参照される側(親オブジェクト)と参照する側(子オブジェクト)の間でデータを紐づけることができ、子オブジェクト側に参照関係・主従関係の項目を作成します。
どちらも2オブジェクト間のリレーションを持たせる項目ですが、
参照関係と主従関係には下記のような違いがあります。
参照関係と主従関係の違い
親レコードの設定が必須かどうか
・主従関係:レコード登録時に、主従関係項目は入力必須となります。
・参照関係:項目設定で必須項目に設定しない限り、入力は任意の項目となります。
親レコードを削除したときの子レコードの挙動
・主従関係:親レコードが削除されると、子レコードも削除されます
・参照関係:親レコードが削除されても、子レコードは削除されません
複数設定できるかどうか
・主従関係:主従関係項目は1オブジェクトにつき1つのみ設定可能です
・参照関係:複数オブジェクトに対して、制限なく作成することが可能です
子のデータを集計できるかどうか
・主従関係:親レコードには積み上げ集計項目が設定でき、子レコードの対象の値を集計することが可能です。集計は子レコード間の最大値・最小値・合計・平均値が集計できます。
・参照関係:子のデータの集計はできません
関連リストとは
参照関係・主従関係項目とセットで覚えたいのが関連リストです。
参照関係・主従関係は子レコードから親レコードを参照する項目ですが、
逆に、親レコードから子レコードを参照するために関連リストを使用します。
関連リストは親オブジェクト側のページレイアウトで配置します。
参照関係項目の作成手順
ここではこちらの記事で作成した”テストオブジェクト”を子オブジェクトとして、
標準オブジェクト”取引先”への参照関係項目を作成します。
- オブジェクトマネージャーから参照関係項目を作成したいオブジェクトを選択

- 「項目とリレーション」を選択し、「新規」を押下する

- 「参照関係」を選択し、「次へ」を押下する

- 関連先に「取引先」オブジェクトを選択して「次へ」を押下する

- 表示ラベルなどを入力・設定し、「次へ」を押下する
※「参照レコードが削除された場合の対処方法」では、今回は”この項目の値をクリアします”を選択
- 項目レベルセキュリティは特に変更せず「次へ」を押下する

- ページレイアウトに追加するかの設定では、ここでは追加せず「次へ」を押下する
※ここで追加すると、好きな場所に配置されないためいったん追加せず進めます
(レイアウトにこだわらない場合はここで追加しても良いと思います)
- 親オブジェクトの関連リストの設定をして、「次へ」を押下する
※①では、親オブジェクトに表示される関連リストの表示名を設定します
※②では、親オブジェクトのページレイアウト・関連リストに、 本オブジェクトを追加するか設定できます。(ページレイアウトの設定で追加できるため、ここでは追加しません)
- 取引先への参照関係項目が作成されたことを確認

主従関係項目の作成手順
参照関係項目は標準オブジェクトへの参照をする設定で作成しました。
次は、カスタムオブジェクト同士の主従関係を作成します。
今回の説明用に作成した「テスト子オブジェクト」に、「テストオブジェクト」を主とするよう、主従関係項目を作成します。
※カスタムオブジェクトの作成手順はこちらの記事を参照
- オブジェクトマネージャーで、作成した「テスト子オブジェクト」を選択し、
「項目とリレーション」(②)→「新規」を押下(③)する
- 「主従関係」を選択(①)し、「次へ」を押下(②)する

- 関連先に「テストオブジェクト」を設定し、「次へ」を押下する

- 必要事項を入力して、「次へ」を押下する
※「共有設定」では、子レコードの編集権限を設定できます
※「親の変更を許可」では、レコード作成後に親レコードの変更可否を設定できます
- 項目レベルセキュリティは変更せず、「次へ」を押下する
※主従関係項目の項目レベルセキュリティは変更できません
- ページレイアウトに追加して、「次へ」を押下する
※ここでは追加せず、後でページレイアウト設定から追加してもOKです
(ページレイアウトの設定手順はこちらの記事参照)
- 親オブジェクトの関連リストの追加設定をして、「保存」を押下する
※後ほど関連リストの追加手順も紹介するため、ここでは追加しません
- テストオブジェクトへの主従関係項目の作成が出来たことを確認

関連リストの設定手順
上記手順で作成した、「テスト子オブジェクト」から「テストオブジェクト」への主従関係を表示する関連リストを設定します。
この設定は親オブジェクトである、「テストオブジェクト」側のページレイアウトで設定します。
- オブジェクトマネージャーで、親オブジェクトである「テストオブジェクト」の
「ページレイアウト」を選択(②)し、関連リストを表示したいレイアウト(③)を押下する
- 関連リストを選択(①)し、テスト子オブジェクト(②)をドラッグ&ドロップで
関連リスト(③)に配置する。
その後、「保存」を押下する。
動作確認
作成したリレーションによる、親子レコード間のアクセス確認をします。
ここでは、「テスト子オブジェクト」と「テストオブジェクト」間のリレーションを
レコード画面で確認します。
- 「テスト子オブジェクト」のタブを選択し、「新規」を押下する
※タブの追加についての手順はこちらの記事を参照
- 各項目の値を入力していく
※主従関係項目は入力必須のため、未入力で保存しようとすると下図のような警告が表示される
- 主従関係項目は、値を手入力というより、既存親レコードを選択するようになる
※項目にカーソルを合わせ、レコード名を一部入力すると、
下図のように候補となるレコードが表示される
- 主とするレコードを選択したら「保存」を押下する

- 主従関係項目に設定したレコードへのリンクを押下する
※主従関係や参照関係で設定したレコードは、リンクとなっている
- 親である「テストオブジェクト」のレコード画面に遷移したことを確認する

- 関連リストに、設定した「テスト子オブジェクト」が追加されていることを確認

