実践 カスタマイズ (6) 関連設定のカスタマイズ

関連設定に関して記述する。

関連設定とはエンティティとエンティティとの関連を設定するものである。

Dynamics CRMで実装可能な関連設定と設定方法、マッピング、伝播に関して記載する。

 

設定可能な関連設定は、「1:N」「N:1」「N:N」の3種類である。

「1:N」「N:1」に関しては以下のとおりである。どちらが先かというだけで同義である。

1に該当するエンティティには関連先のエンティティのデータを

N個関連できるように関連ビューが設定可能となる。

Nに該当するエンティティには関連先のエンティティのデータを

1個関連できるように検索(Lookup)型のフィールドが追加される。

「N:N」に関しては両エンティティに関連ビューが設定可能となる。

以下3点を補足する。

・Lookupに表示される値はプライマリーフィールド。

・1:1の関係は作成できない。1:Nのような形式をとり、

N個作成できないようPluginを利用したコーディングで制御するような方法をとるしかない。

・N:Nのデータを作成する際は既存のデータを関連づけるしかない。

関連ビューのボタンを見れば分かるが、作成というボタンは存在しない。

 

次に私の設定方法である。N:Nは割愛し、1:N、N:1のケースを記載する。

・どちらのエンティティにLookupがくるか考える

・フォームのカスタマイズからLookup型を作成する

1:N、N:1の関連設定は、下記のエンティティのカスタマイズから作成が可能である。

20140912_001

しかしながら、フィールドの追加と同様フォーム上から実施するほうが

作成から配置までを一貫して操作が可能であるため、私は以下の方法をとっている。

取引先企業に[営業アシスタント]というユーザーエンティティのLookupを作成する場合とする。

取引先企業のフォームにアクセスする。[フォーム]をクリック

20140912_002

[新しいフィールド]をクリック

20140912_003

 

以下のように入力し、[保存して閉じる]をクリック。

[関連付け名]はデフォルトの値で困ったことはないため変更不要。

20140912_004

 

任意に配置する。

20140912_005

 

保存して公開すれば、フォームへ反映完了。

逆のユーザーエンティティでの状態を確認する。

ユーザーエンティティのフォームのカスタマイズ画面を起動する。

左側の関連ナビゲーションに[取引先企業]が追加されている。

自動的にリボン上に表示するのがデフォルトであるため、不要な場合は削除する。

20140912_006

 

次はマッピングに関してである。

※マッピング及び次の伝播に関してはあまり意識をされていないように思われる。

マッピングとは1エンティティのフォーム上に表示されるN関連したエンティティのデータを

作成する場合、1エンティティ側のフィールドの値をNエンティティ側に反映する機能である。

取引先企業と取引先担当者は1:Nの関係となっていて、取引先企業上に表示されている

取引先担当者関連ビューから取引先担当者のレコードを作成することができる。

また、取引先企業と取引先担当者は住所フィールドを持っている。

所属する取引先企業と取引先担当者の住所は業務上同じであると仮定した場合、

マッピング機能がなければ双方のデータを作成する際、双方の住所データを入力する必要がある。

取引先担当者が1000名存在したら、1000回住所を入力する必要がある。

しかしながら、マッピング機能を使うと、取引先担当者の住所には常に所属する取引先企業の

住所データが反映される。入力する手間が省ける。

初期設定でこのようになっているため、設定されている箇所を確認する。

エンティティのカスタマイズで、[取引先企業]>[1:Nの関連付け]

>関連エンティティが取引先担当者のものをダブルクリック。

20140912_007

 

[マッピング]をクリック。

マッピングされている情報が表示。追加が必要な場合は[新規]をクリックして追加していく。

20140912_008

実際の動きは下記。

住所が入力され、保存されている取引先企業のフォームを起動し、

取引先担当者関連ビューの[+]をクリックして取引先担当者を追加する

20140912_009

 

右列の住所情報に値がセットされていることが分かる。

 

20140912_010

 

初期値をセットするだけであり、取引先企業での変更ごとに同期が取られるわけではないという点に注意が必要である。

 

最後に伝播である。

伝播とは、1側のエンティティの割り当て等変更が発生した場合、

この変更をN側エンティティにどう反映するかというものである。

例えば、ある取引先企業とその取引先担当者を管理していたとする。

あるとき、その取引先企業が廃業し、今後一切この取引先企業の情報を参照しないことになり、

取引先企業を削除する必要が発生したとする。

伝播が全く行われない場合、取引先企業を削除しても取引先企業のみが削除され、

取引先担当者は削除されない。一方、伝播が行われる場合は同時に取引先担当者も削除される。

こういったイメージのものであり、所有者の変更や共有などといった

変更アクションに対しても設定が可能となる。

設定箇所はマッピングの上の情報という部分である。

20140912_011

 

上記は[割り当て(所有者変更)]が発生した場合、どのような範囲で伝播をさせるかを選択している。

SFAの場合は、所有者を営業担当のようにして利用することが多々ある。

取引先企業の営業担当者が変更となった場合、取引先担当者や営業案件の所有者をどうするかは

業務次第である。実は重要な設定のひとつである。

ここではこれ以上の詳細は割愛する。実際に様々な設定をして動きを確認しておくことをお勧めする。

あまりドキュメントが見当たらないため、cascade(=伝播)、relationship behavior(=関連付けの動作)

などで検索したblogなどを参考にするとよい。

以上。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中