知識創造研究室 by CRM(xRM)

CRMリーディングカンパニーである アーティサン株式会社 CRM事業部 の最先端 CRM ブログです。

Excel連携 Dynamics CRM(Dynamics 365) データインポート処理の仕様に注意!?

time 2016/11/25

みなさん、こんにちは。
今回は、Dynamics CRM(Dynamics 365)Excelデータインポート処理の仕様に関してハマってしまいましたので備忘録としてブログで配信したいと思います。
もし同様にハマってしまった方がいらっしゃれば、このブログを見て解決の一助になれば幸いと思います。

実現したいことと実際のギャップについて

  • 実行環境
    • Microsoft Dynamics 365
    • Version 1612 (8.2.0.720) (DB 8.2.0.720) オンライン
  • 実現したいこと
    • ケース(サポート案件)レコードを新規登録する際、機械の製造番号から機械マスタの情報を自動的に紐づけて登録する
    • データベースへの登録時にカスタムプラグインを動作させ、製造番号をキーに機械マスタを参照し合致する機械レコードを取得し、ケースの関連項目(Lookupフィールド)へ設定する(いわゆる、製造番号を入力すると機械マスタの情報を自動的に紐づける入力支援)
    • ただし、機械の製造番号と機械マスタの情報を両方指定した場合(①)、機械の製造番号をキーに検索できた結果を優先する(指定された機械マスタの情報は最新でない可能性があるので無視する)
    • 上記はフォーム画面によるレコードの登録とExcelデータインポートにも対応する
  • 実際のギャップ
    • ①の場合において、フォーム画面によるレコードの登録についてはプラグインが正常に動作するものの、Excelデータインポートによる登録についてはExcelで指定した機械マスタの情報が登録されてしまう。

発生事象の調査結果について

Dynamics 365はExcelデータインポート時に2つの処理を行っていることが判明しました。
1つは、ケースの属性情報(件名、ステータス、等)を登録(Create)する
2つは、登録後にケースの関連情報(Lookupフィールド)のみを更新(Update)する

今回、機械の製造番号はケースの属性情報のため1で処理され、機械マスタの情報はケースの関連情報のため2で処理されるという別々のトランザクションとして処理されていました。
そのため、登録時のカスタムプラグインで入力支援を行ったとしても、後続の更新処理でデータが上書きされてしまう事象が発生しました。

時系列
① Excelデータインポート 機械の製造番号:A 機械マスタの情報:X
② プラグイン Aをキーに機械マスタを参照して機械マスタの最新情報:Zを取得
③ ケースを登録 機械の製造番号:A 機械マスタの情報:Z
→期待している結果
④ ケースを更新 関連項目である機器マスタのみに対して情報:X(①で指定した値)へ更新
⑤ ケースのレコード状態=機械の製造番号:A 機械マスタの情報:X
→実際に発生した結果

これらはエンティティの監査ならびに変更履歴を設定しておくと、監査概要ビューにて動作の流れを把握することができるので一度確認されてはいかがでしょうか。
監査概要ビューにある通り、ケースのレコードに対して作成と更新が別々に行われていることが確認できると思います。

2016112502

その他、気になること

ケースはDynamics 365の標準提供するエンティティです。今回確認できたExcelデータインポートにおいて作成と更新の2つ処理が行われるのは標準のエンティティのみでした。試しにカスタムエンティティを作成し行ってみたところ、こちらは関連項目(Lookupフィールド)を指定したとしても現時点では作成のみ行われる仕様でした。また、フォーム画面での動作も作成のみ行われることで問題ないことを確認できました。

エンティティの持つフィールドの数により処理が分けられているのか?詳しい仕様は分かっていませんが、Dynamics 365の標準エンティティにおけるExcelデータインポート処理仕様に今後注視していく必要がありそうです。またハマることがあればブログで配信したいと思います笑。

CRM (製品以外)のお問い合わせ

※ 記事の内容は個人発信の参考情報です。記事内容のご利用は、ご自身の判断でお願いします。

The following two tabs change content below.

徳本和也

CRM事業部ITコンサルティング部 マネージャーアーティサン株式会社
 関電システムソリューションズ、アバナードを経てアーティサンに勤務。CRM導入コンサルタント、システムエンジニア。昔、尊敬する上司に「4C=奉仕の精神で頑張りなさい。」と教えられました。その言葉を思い出して、いまは、変化(Change)が機会(Chance)を呼び、創造(Creativity)をもって挑戦(Challenge)する、そのように思いました。皆さん一人ひとりが変化すれば、必ず将来チャンスを呼び、更なる成長を遂げるはずです。
 マイクロソフト認定プロフェッショナル 、情報処理技術者(AP、FE)を持つ。

down

コメントする