2023年12月14日
『ジャンクションオブジェクトって、わかりますか?』
私が入社早々に聞かれたSalesforceの知識です。
実務では使う機会がない 方もいらっしゃるかもしれませんが、
ApplicationBuilder試験対策問題には 出てくる用語です。
今回もApplicationBuilder試験対策問題を解きながら、知識の整理をしていきましょう。
連結オブジェクトには2つの主従関係があります。関連付けられた主レコードのどちらかが削除された場合、連結オブジェクトレコードはどうなりますか?
A 主レコードに従レコードがある場合、主レコードは削除できません
B レコードが削除され、ごみ箱に入ります
C 連結オブジェクトレコードの参照項目がクリアされます
D レコードは完全に削除され、復元できません
解答がすぐに思いつかない方は、次ページ以降のヒントを参考にしてください。
(使用方法)
主従関係を使用して、2 つのオブジェクト間で「多対多」リレーションモデルを形成することができます。多対多リレーションでは、1 つのオブジェクトの各レコードを他のオブジェクトの複数のレコードにリンクでき、またその逆のリンクも可能です。たとえば、Bug という名前のカスタムオブジェクトを作成し、1 つのバグを複数のケースに、また 1 つのケースを複数のバグに関連付けることが考えられます。多対多リレーションをモデル化するとき、「連結オブジェクト」を使用して相互に関連付ける 2 つのオブジェクトを接続します。
(使用例)
「Bug (バグ)」という名前のカスタムオブジェクトを作成し、1 つのバグを複数のケースに、また 1 つのケースを複数のバグに関連付けることが考えられます。
「BugCaseAssociation」 (バグ/ケース関係) など、目的を示す表示ラベルでオブジェクトに名前を付けます。
[レコード名] 項目は、自動採番データ型の使用をお勧めします。
[保存] 時にカスタムタブウィザードを起動しないでしてください。連結オブジェクトには、タブは必要ありません。
①「バグ」カスタムオブジェクトを作成
②「バグ/ケース関係」カスタムオブジェクトを作成
③「バグ/ケース関係」オブジェクトに「バグ」オブジェクトの主従項目を作成
④「バグ/ケース関係」オブジェクトに「ケース」オブジェクトの主従項目を作成
⑤スキーマビルダーで「バグ」「バグ/ケース関係」「ケース」のリレーションを確認
Lightning Experience でごみ箱内の削除されたレコードにアクセスします。ごみ箱は、並び替えと絞り込みによって必要なレコードを見つけることができるリストビューです。
1ごみ箱にアクセスするには、アプリケーションランチャーからごみ箱を見つけて開くか、ナビゲーションバーにごみ箱を追加します。
2レコードを復元するには、[復元] をクリックする。
レコードを復元すると、Salesforce が、一部のリレーションに関してレコードの関連付けを復元します。
連結オブジェクトには2つの主従関係があります。関連付けられた主レコードのどちらかが削除された場合、連結オブジェクトレコードはどうなりますか?
A 主レコードに従レコードがある場合、主レコードは削除できません
主レコードに従レコードがあっても、主レコードは削除できます
B レコードが削除され、ごみ箱に入ります
主レコードのどちらかが削除されると、その主レコードはごみ箱に入ります
C 連結オブジェクトレコードの参照項目がクリアされます
項目の値がクリアされるのではなく、連結オブジェクトレコードがごみ箱に入ります
D レコードは完全に削除され、復元できません
ごみ箱の中のレコードを選択し削除ボタンを押すと、「完全に削除しますか?…元に戻すことはできません」とアラートが出るので、OKを押すと完全に削除されます
解答はBです
実務の中では「連結オブジェクト」という言葉に出会ったことがない方も、一度自分で設定しておくと安心です。
「多対多」とか「連結」という言葉だけ覚えようとするより、実際に作成してみると理解も深まり、記憶にも残りやすくなります。
設定する際には、カスタムオブジェクトを作成して、主従関係をつければ終わりではありません。権限やページレイアウトの設定も必要です。
今回権限の設定の解説までは載せておりませんが、不足の知識がありましたら、salesforcehelpを活用し、今月もぜひ「自分で設定」までやってみてください。
https://help.salesforce.com/s/articleView?id=sf.recycle_bin_considerations.htm&type=5
https://help.salesforce.com/s/articleView?id=sf.recycle_bin_use.htm&type=5
https://help.salesforce.com/s/articleView?id=sf.relationships_manytomany.htm&type=5