こんにちは、にいるです。
今回はリレーションについて、Salesforceを触り倒していました!
ので、アウトプット含めて色々とまとめたいと思います。
・参照関係についての記事はこちらをご覧ください。
・多対多リレーションについての記事はこちらをご覧ください。
1.主従関係とは
リレーションとはオブジェクトとオブジェクトの関係です。
Salesforceの主なリレーションには主従関係と参照関係があります。
今回はその主従関係を中心に見ていきたいと思います。
2.主従関係の作成方法
主従関係に設定すると、主と従(副従)レコードが密接にリンクされます。
ここでいう密接というのは、主と従のレコードは必ず結びついていないとダメということです。
今回、主オブジェクトと従オブジェクトという2つのオブジェクトを作成して見ていきます。
まずは従オブジェクトにデータ型が主従のカスタム項目を作成します。
こうすることでルックアップ検索により従オブジェクトから主オブジェクトにリレーションを持たせることができます。
従レコードページではこのように項目として主レコードが表示されるようになっています。
主レコード上では、このように主レコードの関連リストに従レコードが並べて表示されます。
そのため、主レコードは従レコードを複数持つことができます。
従が主レコードの関連リストに表示されると覚えておきましょう!
ただ、参照関係として項目を作成してから、それを主従関係に変換できます。
これは全レコードの参照項目に値が登録されている場合に限ります。
3.主従関係上の削除
レコードの削除や復元した時の挙動について、従レコードは主レコードの影響を受けると覚えておくといいと思います。
削除するレコード | 削除の影響 | 復元の影響 |
主レコード | 主も従も | 主も従も |
従レコード | 従のみ | 従のみ |
4.主従関係上の共有設定
次に主従関係における組織の共有設定も見ておきたいと思います。
まず組織の共有設定では主の設定を引き継ぎます。
この場合、従オブジェクトは主オブジェクトの共有設定を継承するという設定になっています。
主が非公開で従が公開されていると従レコードに表示される主項目と整合性が取れなくなりますよね。
なので、主従関係の場合、従のアクセス権限は主と同じになると覚えておきましょう。
次に共有ルールや共有の直接設定、キューも使用できません。
なぜなら従と副従レコードの[所有者]項目は主レコードと同じになり、変更ができないためです。
従レコードを確認すると所有者項目がないことが確認できます。
その他、主従関係で大事なことは、
- システム管理者であれば、[親の変更を許可]を設定すれば従レコードの親を変更することができます。
- 標準オブジェクトを従側に設定することはできません。
- 従側のレコードのページレイアウトには、主従関係項目を表示させておく必要があります。
ということも覚えておきましょう。
復元についてですが、従レコードとその主レコードを別個に削除した場合には、先にレコード間のリレーションがなくなります。
そのため、主レコードはゴミ箱から戻りますが、従レコードは元に戻りません。
5.主、従、副従オブジェクトの設定について
1つのオブジェクトを主従関係で使用する場合、2回しか使用することができません。
詳しく見ていきたいと思います。
主、従に加え、副従というオブジェクトを作成しておきます。
次に副従オブジェクトに従の主従関係項目を作ります。
構成としては、主 → 従 → 副従というリレーションになっています。
そして、従オブジェクトで新しく主従項目を作成しようとします。
すると、従だけ、主従関係を2つ持っていて作成ができないようになっていることが確認できます。
その場合には、上記画像のように主従関係項目を選択することができなくなります。
データ構造上、ややこしくなるのかシステム的に実現できないからリレーションの構築数に制限をかけているんだと思います。
また、積み上げ集計項目については、主従関係の時にしか使用できないのですが、主から直接、副従を集計することはできません。
もし副従項目を集計したいなら、間の従で一度集計を行う必要があります。
そのほかの主従関係上の考慮事項には、
- カスタムレポートタイプでも主従関係を使用したレポートタイプを作成することが可能です。
- カスタムオブジェクトが主従関係の主側である場合、そのオブジェクトは削除できません。
- 主従関係の従側になっているカスタムオブジェクトを削除すると、主従関係が参照関係に変換されます。
があるので、これらについても覚えておきましょう。
6.まとめ
いかがでしたでしょうか。
主従関係の設定時には従側は、組織の共有設定やレコードの削除復元など主側の影響をたくさん受けるので、注意が必要です。
リレーションについては、Salesforceに限らず、データ構造は確実に押さえておかないといけないですよね。
複雑なものなら尚更、基本的なルールは覚えておきましょう!
他にも色々と標準機能やSalesforce機能について紹介しています。
そのまとめ一覧ページはこちらになりますので、よければ見てみてください。
・Salesforceの機能ページまとめ一覧ページ
ではでは!
コメント