Dynamics 365 (Dynamics CRM) 関連付け動作の設定
みなさん、こんにちは。
Dynamics 365で検索フィールドやサブグリッドを使用されたことのある方は多くいるのではないでしょうか。
その際にエンティティとエンティティとの関連付けが行われていることもご存知だと思います。
では、その関連付けにさらに追加で設定が行えることはご存知でしょうか?
関連付けに追加で行える設定
関連付けに追加で行える設定には、次のようなものがあります。
- マッピング
親子関係(1:N関連)のあるエンティティで親レコード(1側のレコード)のフォーム上から子レコード(N側のレコード)を作成する場合、親側のフィールドの値を子レコードに反映する機能 - 関連付け動作(伝播)
親子関係(1:N関連)のあるエンティティで親レコード(1側のレコード)の割り当てや削除などの変更が発生した場合、この変更を子レコード(N側のレコード)にどのように反映するかを定義するもの
おそらく、マッピングについては使用されることも多いのではないかと思います。
そこで今回は、関連付け動作(伝播)について紹介したいと思います。
関連付け動作(伝播)の設定
関連付け動作(伝播)の設定はどこから行うのか、どんな設定が行えるのかを順をおって紹介していきます。
設定箇所
関連付けの設定箇所への遷移方法は次の通りです。
- エンティティのカスタマイズ画面で[対象エンティティ名] >[1:Nの関連付け]>[対象の関連付け]をダブルクリック
関連付けウィンドウが表示されるので、画面下部の「関連付け動作」という箇所が伝播の設定箇所です。
伝播の動作と範囲
伝播の設定ができる動作は次の通りです。
- 割り当て
- リペアレント
- 共有
- 削除
- 共有の解除
- 重複レコードの統合
- ロールアップビュー
この中でも割り当て、共有、削除はDynamics 365の中でも使用頻度の高い動作ではないでしょうか。
伝播の設定範囲は、次の通りです。
- すべてのレコードに伝播
- アクティブレコードのみに伝播 ※削除は設定不可
- 同一所有者のレコードのみに伝播 ※削除は設定不可
- 伝播しない ※削除は設定不可
- 関連付けの解除 ※削除のみ設定可能
- 制限する ※削除のみ設定可能
削除のみ範囲の設定が異なるので、注意が必要です。
伝播の設定によるレコードへの動作
最後に、これらの設定により、具体的にどのようなことが起こるのかをざっと説明したいと思います。
エンティティ「Parent」とエンティティ「Child」があり、1:Nの関連付けが設定されている状態でParentを他のユーザーへ共有したとします。
共有の設定を行っていない場合、Parentのみ共有され、そこに紐づいているChildは共有されません。一方、伝播の設定を行っている場合、Parentを共有した際にChildも同様のユーザーに対して共有が行われます。
この動作は、割り当てや削除でも同様に動作します。
また、削除の場合「制限する」を選択していたときの動きは、ParentレコードにChildレコードが紐づいている場合は、削除ができません。
紐づいているChildレコードを削除後Parentレコードを削除することができます。
このように伝播の設定は、関連のあるレコードに親レコードと同じ動作を行わせたり動作を制限することができます。
伝播の設定をうまく行うことで共有や割り当て、削除など関連レコードに対しても簡単に動作させることができますので、いろいろと試しながら使ってみていただければと思います。