MENU

【シナリオ案件#5】ルックアップとの違いは?主従関係で取引履歴を管理してみよう

営業担当

口座ごとの取引履歴って、今までは“最新の取引内容”だけメモってたじゃん?
でもやっぱり、過去の履歴もちゃんと残したくてさ〜

Sallesforce管理者

なるほど、それなら“取引履歴”を別のオブジェクトにして、証券口座に紐づけるのがよさそうですね!
履歴が複数あったとしても、管理しやすくなりますよ!

営業担当

ふむふむ。
でも口座が削除されたときに、取引履歴だけ残るのってややこしいよね~?

たくわん

なら“主従関係”っていうオブジェクト同士のつなぎ方を使うのはどうでしょう?
親(証券口座)が削除されてお、子(取引履歴)も一緒に消えるようになりますよ!

目次

今回のシナリオ

シナリオ#4では、証券口座オブジェクトを作成して、顧客オブジェクトとルックアップ関係でつなぎました。

でも実務では、「1つの証券口座に複数の取引履歴が存在する」ケースが出てくることもあります。

たとえば──

・証券口座の残高は変わらないのに、実は複数回の取引が行われていた
・一度閉じた口座の履歴だけは残しておきたい

といった場面で、口座ごとに履歴を整理できると、後からの確認がラクになります!

そこで今回は、取引履歴のカスタムオブジェクトを新規作成して、証券口座と主従関係でつなぐ方法をやってみましょう!

主従関係を使うメリット
✅ 証券口座が削除されたときに、履歴もまとめて削除できる
✅ 口座ごとに履歴を持たせられるので、設計がスッキリする

今回もデモ環境の画像を交えて順番に説明していくので、一緒に試してみてくださいね!

たくわん

……とは言ったものの、「主従関係って何?」って思った方もいるかもしれませんね!
サクッと解説します!

主従関係とは?

Salesforceの「主従関係」は、2つのオブジェクトを “親子” のような強い関係で結びつける仕組みです。

たとえば「親が消えると、子も一緒に消える」ようなルールが自動で働きます。

たくわん

データの整合性を保ちたいときに便利!
「親オブジェクトがなくなったのに、子だけ残ってる」みたいな事態を防げますよ〜

ルックアップ関係との違いは?

比較ポイントルックアップ関係主従関係
データのつながり方緩く参照するだけ
(親は消えても子は残る)
強く紐づく
(親が消えたら子も消える)
親オブジェクトの入力空欄OK(後から紐づけできる)入力しないと保存できない
使う場面柔軟に関連付けたいとき親子で一体管理したいとき
たくわん

主従関係では、親オブジェクトの入力が必須です!

カスタムオブジェクトを作ってみよう!

今回は「証券口座」「取引履歴」の2つのオブジェクトを使って、親子関係(主従関係)を作成していきます。

まずは前回の続きとして、「証券口座オブジェクト」から見ていきましょう!

証券口座オブジェクト

まずは前回のシナリオ#4で作成した「証券口座オブジェクト」!

今回はこの「証券口座オブジェクト」をベースに、さらに取引履歴の管理をできるようにしていきます!

たくわん

顧客オブジェクトと証券口座オブジェクトを「ルックアップ関係」で紐づけることで、「一人の顧客が複数の証券口座を持てるようにするため」の設計を実現していました。
こちらの記事で証券口座オブジェクトを作っています!

取引履歴オブジェクト(主従関係で作成)

今回はここに新しく「取引履歴オブジェクト」を追加して、証券口座と主従関係でつなげていきます!

STEP
新規カスタムオブジェクト「取引履歴」を作成
表示ラベル表示ラベル
(複数形) 
オブジェクト名オブジェクト名データ型
取引履歴取引履歴TradingHistory取引番号自動採番
たくわん

上の表と同じように入力してください!
データ型は自動採番にしてみましょう!
表示形式は何でもいいですが、今回は
TH-{0000}“にします。

新規作成したカスタムオブジェクトはこんな感じです。

STEP
項目とリレーションから、主従関係のカスタム項目を作成
表示ラベルデータ型
証券口座主従関係
たくわん

取引履歴オブジェクトにカスタム項目を作りましょう!

STEP
子リレーション名を設定
項目名子リレーション名
TradingBankAccountTradingBankAccounts
STEP
保存して完了!
たくわん

証券口座の主従関係項目ができていますね!

画面上で確認してみよう!

たくわん

主従関係項目とルックアップ項目の作り方はほぼ同じでしたね!
どのような動作をするのか、デモ画面で確認してみましょう!

取引履歴を追加してみる

まずは証券口座のレコードに対して、取引履歴を1件追加してみましょう!

STEP
アプリケーションランチャーから「証券口座」を検索して開く
STEP
任意の証券口座レコードを選択して開く

事前に作っていた証券口座レコードを使います。

「関連」を押すと、主従関係でつないだオブジェクトが表示されます。

たくわん

親レコードから、そのまま子レコードが作れちゃうんです!

STEP
「取引履歴」関連リストから「新規」ボタンをクリック
たくわん

特に入力するものも無いので、保存でOK!

STEP
作成した取引履歴レコードを確認
たくわん

取引履歴レコードが問題なく作成されていますね!
今回は「証券口座」項目しかありませんが、色んな項目を作ってカスタマイズも可能です!

証券口座を削除したときの動き

たくわん

主従関係で結ばれていると、親レコードの削除と同時に、子レコードも削除されてしまうと説明しましたね!
実際に削除されるのか見てみましょう!

STEP
取引履歴が紐づいた証券口座を削除

TH-0001が紐づいている、1234567の証券口座を削除してみましょう。

STEP
「取引履歴」オブジェクトを確認

TH-0001が自動的に削除されていますね!

主従関係が正常に動作していることがわかります!

たくわん

おつかれさまでした!
主従関係のバッチリですね!

営業担当

これで証券口座の取引履歴も管理しやすくなるよ~
ありがとう~

たくわん

今回はデモ環境でレコードの削除をしてみたけど、実際の業務では試して良いかを確認とってからにしてくださいね!

まとめ

今回は、
「証券口座と取引履歴を主従関係でつなげて管理する」
というパターンをご紹介しました!

主従関係を使えば、

・口座が削除されたときに、取引履歴も一緒に消えてくれる
・データ構造もスッキリして、管理がラクになる

…といったメリットがあります!

Sallesforce管理者

オブジェクトなどを設計する際は、「このデータってどうつなげると後で楽かな?」と意識しながら作っていけると良いですね!

たくわん

そうですね!
最後によくある質問も、ちょこっとまとめておきますね

Q&A

Q. 削除したレコードの復元ってできる?

A.可能です。アプリケーションランチャーで、「ごみ箱」と検索をかければ復元できるレコードが表示されます。

今回削除した「1234567」の証券口座が見つかりました!

復元を押せば大丈夫です!

たくわん

ただし、ごみ箱を空にした場合や15日を過ぎた場合は復元できなくなるのでご注意を。

Q. カスタムオブジェクトが検索でヒットしない!

A.タグが作成されていないと、検索に出てきません!

たくわん

シナリオ#4でもタブを作っています!
確認してみてください!

主従関係からルックアップ関係への変更は可能?

A.はい、できます!…が、ちょっと手間がかかります

主従関係に変えるには、
「すでに存在しているすべての子レコードに、親レコードがちゃんとひもづいてること」
が必須条件になります。

もし1件でも親が未設定(空欄)のレコードがあると、変更できません…!

さらに主従関係にすると以下のような注意点があります。

・親が消えたら子も一緒に消える(=うっかり削除に注意⚠️)
・子レコードの所有者は親と同じになる(誰のデータか管理しづらくなることも)

たくわん

「とりあえず主従にしてみよう〜」という軽いノリだと、あとで困ることも。

本番でやる前に、テスト環境で動きをしっかり確認するのがおすすめです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次