Force.comで車のオイル交換日を予測しちゃおう!
以前、とあるガソリンスタンドのお客様にSalesforce CRMを導入した際、
Apexトリガーと数式を組み合わせて“オイル交換日の予測機能”を実装しました。
おそらく、Salesforceの導入案件をされている方ならば、
業種や詳細要件は異なれど、
『過去の履歴をもとに、特定のロジックを利用した次回予測値』
のような追加カスタマイズの実装を
されたことがあるのではないでしょうか。
ということで、
今回はそれをネタにお送りしたいと思います。
全体的な構成及び仕様は以下のとおりです。
※実際には『オイルマスタ』やそれを関連づける中間オブジェクト等も
あるのですが、今回は省略・・
『オイル交換履歴』が登録・編集・削除されたら、
親の『車両』にぶら下がっている『オイル交換履歴』の最新2件を取得して、
親の『車両』に持っている項目をアップデートする・・というシンプルなものです。
Apexトリガーのイメージはこんな感じ
※細かいエラーチェック等は省略しまくりましたが、よしなにお願いします・・
で、数式はこんな感じ
ここで、なぜトリガ側で計算含め全部やらないの?
と思う方もいらっしゃるかもしれません。
計算ロジック部分に関しては、特に『5000km』という閾値が地域性や
車種等により考え方が異なることもあり、お客様による変更の可能性がゼロでない・・
そんな部分こそ、Force.comの標準機能(ここでは数式項目)で実装・実現させれば、
今後の業務の変化に対応でき、長く使ってもらえるイケてる!?CRM/SFAになるでしょう。
うん、そうに違いない・・ってことで、
このあたりは、特にお客様側でApexコードをメンテできるか否か?
管理者にあたる方のリテラシー等も考慮しながら、
どこまでをForce.comの標準機能で、どこからをApexコードによる追加開発で行うかの
『さじ加減』が、Force.com案件ならではの肝になるのかなあと思います。
※実はこの案件では、これをさらに複雑にし
もはや簡単な在庫管理に近い『LPガス交換予測』なんてのも実装したのですが、
こちらはリクエストがあれば、また別の機会にでも・・
Force.com Advent Calendar 2012
にエントリーしています!
Force.com Advent Calendar 2012 : ATND
他の皆様の記事もぜひともご覧ください。
次はちょっと視点をガラッと変えたネタで行こうと思います!