商談の周辺オブジェクトについて解説してみた（商品、商談商品、価格表、価格表エントリ）

こんにちは
本橋孝昭です

今回は商談のオブジェクトの周りのオブジェクト
・商品
・商談商品
・価格表
・価格表エントリ
について紹介します

今回の内容は動画でも公開しています

https://youtu.be/yYphFSE2msc

<iframe width="560" height="315" src="https://www.youtube.com/embed/yYphFSE2msc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

![価格表について.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/694fca26-2085-87ed-ff0d-427a201888fa.png)


なお、いきなりすべてを説明したら分かりにくいので

# 1 商品、商談商品　商談
# 2 価格表、価格表エントリ（商品）

の二部構成でご説明します

# そもそもの大前提
オブジェクトとはデータの箱のようなものです
オブジェクトの中でも
・カスタムオブジェクト
・標準オブジェクト
の２つがあり、標準オブジェクトには特定のデータが格納されることがあらかじめ決められた想定になっています
例　商談オブジェクト＝案件管理のオブジェクト
　ケースオブジェクト＝問い合わせ情報管理のオブジェクト
　取引先オブジェクト＝顧客情報管理のオブジェクト

それぞれのオブジェクトには「リレーション」と呼ばれるデータのつながりを作成できます
オブジェクト、リレーションの詳細はこちらをご確認ください

https://qiita.com/Takaa/items/508ffb49496dbd0ebff6


# 1 商品、商談商品　商談　について


商品、商談商品　商談　のオブジェクト構成はこのようになっています

![商品01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/7e7a3ee3-3a50-9d9e-f2bb-388b70209b6d.png)


ここでオブジェクトの解説を行いますと
・商談＝案件管理をするオブジェクト
・商品＝商品管理をするオブジェクト
であるとわかると思いますが
・商談商品について何だろう？
と思う人が多いと思うので解説します

商談商品とは「商談と商品をつなぐオブジェクト」です
商談商品があることにより１つの商品に複数の商談を紐づけることが可能です


商談商品についてもう少し深堀します


## 商談商品について

商談商品のオブジェクト構成を最初に知った時、私は
「商談商品っていらないのでは？商品と商談だけでいいのでは？」と思いました

つまり、このような感じです
![理由01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/7a124c9f-792f-5240-2f68-b99cfc0dc172.png)



しかし、これではデータ管理がうまくいかないので詳細を説明します

さて、ここで株式会社TAKAAKIという業務用ロボットを販売する会社があったとします

業務用ロボットはいくつかシリーズがあり
ロボットT-1
ロボットT-2
という番号で管理していたとします

この際、商品オブジェクトにはT-1、T-2　とレコードを作成するはずです


さて、この際もしも株式会社Aと株式会社Bなど複数の会社がロボットT-1を購入したい　と検討する商談ができた場合、どのように商談と商品を結び付けましょうか？

Saelsforceのリーレーションは下記のような虫眼鏡の中にレコードを入れる状態であるので、複数のレコード（今回の場合、株式会社Aと株式会社B）を１つのリレーションに入れることはできないですね

![株式会社イメージ12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/3c3ec04c-94d6-6611-3748-83bbff4bac2b.png)


なので、
・１つの商品で複数の商談を紐づけ
をする場合、商談商品オブジェクトが無いと困ってしまいます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/60361ce6-6ca2-b16c-cd07-e660c7a0eb76.png)


※商談と商品に
参照関係を複数作成すれば解決できるかと思うかもしれませんが、
参照関係作成数には限界があり、
データの持ち方の観点から
お勧めできる回避策ではないです


そこで、商談商品の出番です
商談商品を使用すればこのようなオブジェクト構成になるので、１つの商品に複数の商談に紐づけることが可能です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/dd311d48-84d7-b2ed-fdb6-43c99433fbf7.png)

商談商品がある場合は
・商品と商談には直接的なリレーションが無い
・商談と商品が紐づくごとに商談商品を作成すれば対応可能
となります
なお、１つの商談に異なる複数商品を検討する場合は以下のようになります


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/a3c74012-e869-a627-df54-398a368c9f09.png)


以上のように商談商品があることにより
・１つの商品に複数の商談を紐づけることが可能

となります。なお、通常Saelsforceを利用する場合、商談商品はタブに表示されないので、普通のユーザからは認識されないオブジェクトになります。
まさに商談商品は縁の下の力持ちですね

![縁の下の力持ち.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/ab1432a2-f695-03fe-d0f8-4cee8663b731.jpeg)



では、次に価格表オブジェクト、価格表エントリオブジェクトについて解説します


# 2 価格表、価格表エントリ（商品）

実は商品オブジェクトと価格表オブジェクト、価格表エントリオブジェクトは密接な関係があります
具体的に言えば、商品オブジェクトと商談オブジェクトを（商談商品を使って）紐づける際は、商品レコード作成後に価格表エントリレコードを作成する必要があります

さあ、この価格表エントリとは何か　を説明する前に、まずはSaelsforceの標準機能でできる価格の管理　のイメージを見ていきます

## Salesforce標準機能での価格管理の考え方

価格表、価格表エントリについて考える前に、まずは
・商品の価格の考え方
は大きく２つあることをご説明します

### パターン１　
スーパーマッケートのように
・りんご1個　200円
・ばなな1個　150円
![りんごばなな.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/9730d9b3-e7ab-e08b-d753-ce35385c963d.png)

のように商品（りんごやばなな）と値段が紐づく考え方の管理です

みなさんはこのパターン１は想像つきやすいですね


### パターン２
世界的な規模で商品を売る会社の場合、その国の通貨や地域により値段がばらばらに販売されるはずです
このような大企業の場合、通貨や地域ごとの価格設定をしているはずです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/5f7f31ea-9ae9-c406-5f83-2955bcbf8113.png)




パターン２については、あまり馴染みが無いですが
「なるほどな。確かに世界の大企業は通貨やらなんやらで商品と価格は分離しているんだな」
ということが分かると思います
さて、Saelsforceの標準機能の価格設定方法はこのパターン２の考えとなります


このパターン２の図をSaelsforceのオブジェクトに落とし込むと以下になります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/8844de9d-ca67-ef88-6ba1-2a58f0a993ce.png)

先ほどの図を見比べれば

・オレンジ部分の管理は商品オブジェクト
・青部分の管理は価格表エントリオブジェクト
・緑部分の管理は価格表オブジェクト

ということがわかるはず

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/8ea6b67f-5370-c390-6479-9a9e9a7aeac0.png)

このように
・商品オブジェクトそのものには価格や通貨の設定はない
・価格や通貨設定を管理するのは価格表エントリオブジェクト
・取り扱いをする地域や通貨が増えた場合、価格表を作成して価格表エントリを作成し商品の価格設定を行う

となります
なお、もしも東京では車Aを売らない場合は、車Aレコードと東京価格レコードに紐づく価格表エントリレコードは作成しないことにより対応可能です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/04cd62e4-d7b2-266c-cbe3-a699bd143d7c.png)



（もしも特定の価格表で特定の商品が表示されない場合、価格表エントリ作成漏れがないか要確認してください）


# まとめ

今回は商談オブジェクト周りの
・商品オブジェクト
・商談商品オブジェクト
・価格表オブジェクト
・価格表エントリオブジェクト
について解説しました

・商品オブジェクト
→商品を管理する
・商談商品オブジェクト
→商品と商談をつなぐためのオブジェクト（通常ユーザからは見えないオブジェクト）
・価格表オブジェクト
→価格表を管理する
・価格表エントリオブジェクト
→商品の価格や通貨を管理

ぜひ商談周りのオブジェクトについてつかいこなしましょう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531631/cd3fdde6-b532-55c6-d330-64033bfc79ab.png)