-
Notifications
You must be signed in to change notification settings - Fork 0
MS_CRMEntityCustomization
エンティティのカスタマイズについて説明する。
エンティティには、以下の下位コンポーネントがある。
このカスタマイズについては別途説明する。
補足(現在の呼称): 本ページの「エンティティ」は、現在の
Dataverse では「テーブル」、フィールドは「列」、関連付けは
「リレーションシップ」と呼ばれる。
内部のスキーマ名(LogicalName等)は従来のままなので、
SDK / Web API のコードやスキーマ設計の考え方は本ページの内容がそのまま通用する。
-
システム開始時に、260 を超えるエンティティが
事前に定義される(その多くは、UI に表示されない)。 -
90 を超えるシステム エンティティのカスタマイズが可能。
-
その他のシステム エンティティは
カスタマイズできない(カスタマイズの UI に表示されない)- 組込みのシステム機能を提供するエンティティ。
- システムジョブ エンティティ
- ,etc.
- ,etc.
- 組込みのシステム機能を提供するエンティティ。
-
Microsoft Dynamics CRM SDK
-
Web アプリケーションの
- 設定
- カスタマイズ ツール
- ソリューションからインポートしたカスタム エンティティ
- インポートしたカスタム エンティティはカスタマイズが
管理プロパティによって制限されていることがある。
システム エンティティとカスタム エンティティの内、
カスタマイズ可能なエンティティのことを指す。
-
エンティティの追加/削除ができる。
-
次の項目のカスタマイズができる。
- 名前
- フィールド
- フォーム
- ビュー
-
ソリューションへの追加ができる。
プラットフォームによって追加された
- システム フィールド
- システム ビュー
作成後に変更できないプロパティ
所有権に関するプロパティには、
所有権が、
- ”ユーザまたはチーム”
- ”組織”
の場合がある。
所有権が、
-
”ユーザまたはチーム”の場合
-
所有者というフィールドが追加される。
-
所有者フィールドに格納される情報
- ユーザまたはチーム
- 部署
- アクセスレベル
- アクセス許可
-
検索フィールドが4つ追加される。
-
セキュリティ ロールからのアクセス制御ができる。
-
これにより、ベーシック(ユーザー)以上の
アクセス レベルの読み取り特権(アクセス許可)を持つ
ユーザとチームにエンティティのレコードを割当てることができる。 -
ビジネスデータに関連するエンティティは殆どこのプロパティ
-
-
”組織”の場合
-
所有者というフィールドが追加されない。
-
ユーザとチームにレコードを割当てることはできない。
-
"なし" or "グローバル(組織全体)"のアクセス レベルのみ指定可能。
-
従って、全員見れるか全員見れないのどちらか。
-
他のレコードを分類するためのエンティティは殆どこのプロパティ
-
マスタ エンティティ
-
関連エンティティ
-
補足(所有権は後から変えられない): 所有権は
セキュリティ モデルの適用範囲そのものを決めるため、
作成後に変更できない。
「全員が見てよいマスタか、担当者ごとに見せ分けるトランザクションか」を
設計時に決めておく必要がある、というのが本節の要点である。
詳しくは「CRM セキュリティモデルの作成」を参照。
活動エンティティとしてマークすると、
既存の活動と関連するエンティティとして作成できる。
カスタム活動エンティティの作成のサンプルシナリオ。
-
(1)
- 内容
- 特定の日時に開始される活動
- フィールド
- 活動内容
- 担当者
- 内容
-
(2)
- 内容
- リリース、アップロード、バックアップ作業などの短期間の活動を記録。
- アクティビティ フィードの投稿レコードを使用していたもの。
- フィールド
- ・・・
- 内容
-
(3)
- 内容
- ケースバイケースで異なるレコードに関連する活動を記録
- 取引先企業、製品、イベント等にリンクする。
- フィールド
- 関連フィールド
- 内容
- カスタム活動エンティティは活動エンティティと同じセキュリティロールによって制御される。
- 必要に応じて、カスタム活動エンティティ利用前にセキュリティ ロールを設定する。
- 展開する場合、ソリューションにカスタム活動エンティティとセキュリティ ロールを含める。
※ 「†」記号は変更不可能。
- 既定のソリューションかカスタム ソリューションを開く
- ソリューション エクスプローラーで [エンティティ] ノードをクリック
- ソリューション コンポーネント一覧上部のメニューバーの [新規] をクリック
- 新しいエンティティ フォームが表示される。
-
表示名:表示時の名称
-
複数名:表示時の複数名称
-
名前 「†」:
- システム内部の名称(スキーマ名)
- 接頭辞+エンティティ名
- 既定の接頭辞:
new_ - エンティティ名:XXXXX
- e.g. :
new_XXXXX
- 既定の接頭辞:
-
説明:エンティティの説明
-
プライマリ イメージ(フィールド):
- エンティティ フォームの上部に表示される画像を保存
- カスタム エンティティに1つ構成できる。
- 24 個のシステム エンティティで使用されている。
-
企業形態 「†」
- 前述の「所有権」を設定する。
-
カスタム活動エンティティ 「†」
- 前述の「活動エンティティ」として設定する。
- 活動メニューに表示する
活動メニューやバー類での表示・作成をしない場合、オフに設定する。
- 活動メニューに表示する
- 前述の「活動エンティティ」として設定する。
移行メモ(項目名): 「企業形態」は所有権(英語版の Ownership)を
設定する項目のことである。
現在の UI では「所有権」と表示されるため、読み替えること。
-
プライマリ フィールドとは
- エンティティに基本プロパティとしてプライマリ フィールドを設定する。
- 検索フィールドで参照する場合、
- プライマリ フィールドの値が表示に使用される。
- この検索にはレコードの GUID への参照が含まれる。
-
入力
- プライマリ フィールドタブ
- データ型:1行のテキスト フィールド
- 表示名:表示時の名称
- 名前:システム内部の名称(スキーマ名)
※ 主キー フィールドと同じ名称になるため、高度な検索などでの混乱を招く。
従って、プライマリ フィールド名にエンティティ名を使用しない(基本既定値を使用)。 - フィールド要件:必須か
- 最大長:レコード長
- プライマリ フィールドタブ
-
プライマリ フィールドの既定値
-
活動エンティティの既定値
- 表示名:件名
- 名前:
subject - フィールド要件:必須入力
- 最大長:200
-
活動エンティティ以外の既定値
- 表示名:名前
- 名前:接頭辞_名前
- フィールド要件:必須入力
- 最大長:100
-
移行メモ(正誤): 活動エンティティのプライマリ フィールドの「名前」は、
元ページでは「情報カテゴリ」となっていたが、これはスキーマ名subjectを
「情報カテゴリ」(Subject エンティティの訳語)と取り違えたものと判断し、
subjectに改めた。
なお「情報カテゴリ」エンティティについては
「共通的なレコード」を参照。
- ナビゲーション バー内でエンティティを表示する領域のチェック ボックスを ON-OFF する。
- 必要に応じて、ナビゲーション バーの複数の領域に表示させることができる。
- ナビゲーション バーの何処にも表示させないこともできる。
- この設定は、エンティティの一部として保存されないので、ソリューションに含まれない。
-
エンティティを保存する。
-
保存後は
- エンティティが表示される領域の変更が可能
- エンティティの以下のプロパティ追加が可能
CRM 業務プロセス フローのサポート。
機能の有効無効を設定するチェック ボックス
エンティティのレコードに対してメモを作成できるようにする
エンティティのレコードに対して活動を作成できるようにする。
エンティティのレコードに対して他のレコードへのリンクを作成できるようにする。
- エンティティのレコードにから電子メール送信をできるようにする。
- エンティティには電子メール アドレス形式のテキスト フィールド等?が追加される。
エンティティのレコードにから差し込み印刷(mail merge)をできるようにする。
エンティティのレコードに対して SharePoint へのリンクを作成できるようにする。
- SharePoint との統合を有効化
- CRM の DB ではなく SharePoint にドキュメントレコードを格納
- SharePoint に対する追加構成が必要
エンティティのレコードに対してアクセス チームを作成できるようにする。
- エンティティのレコードに対してキューイング(ルーティング)できるようにする。
- サブオプション:作成・割当時に所有者の既定のキューにレコードを自動的に移動。
機能の有効無効を設定するチェック ボックス
簡易作成フォームを使用して迅速にレコードを作成保存可能。
- 活動エンティティ
-
システム活動エンティティでは簡易作成は許可されていない。
-
カスタム活動エンティティでは簡易作成は許可することはできる。
-
簡易フォームが使用される操作
- 別フォームの検索
- 別フォームのサブグリッド
-
通常フォームが使用される操作
- ナビゲーション バーの [作成] ボタンから "グローバル" 作成を使用して作成。
-
ユニークキーを設定する。
補足(重複データ検出と代替キーは別物): ここでいう重複データ検出は
非同期ジョブによる検出であり、DB の一意制約ではない。
保存を実際にブロックする一意キーが必要な場合は、CRM 2015 で追加された
**代替キー(Alternate Key)**を使用する。
代替キーは外部システムからの Upsert のキーとしても使える。
以下に対して監査が行われる。
- レコードに対する更新系処理(追加/更新/削除)
- エンティティ メタデータの更新
詳しくは「CRM 追加のセキュリティ オプション」を参照。
電話用 CRM クライアントが対象のエンティティを使用可能にする。
タブレット PC 用 CRM クライアントが対象のエンティティを使用可能にする(読み取り専用)。
- タブレット PC 用 CRM
- Microsoft Windows 8
- Apple iPad
- Android
-
閲覧ウィンドウ
Outlook 用 CRM 閲覧ウィンドウが対象のエンティティを使用可能にする。 -
オフライン機能
Outlook 用 CRM オフライン機能が対象のエンティティを使用可能にする。
補足(クライアントの世代交代): 本節の「電話用 CRM」「タブレット PC 用 CRM」
「Outlook 用 CRM」は、いずれも当時のクライアント製品を前提にしている。
現在は、モバイルは統一インターフェイス(Unified Interface)の
Power Apps モバイルに、Outlook 用 CRM クライアントは
Dynamics 365 App for Outlook に置き換わっている。
詳しくは「Outlook用Microsoft Dynamics CRM」を参照。
準備が整った所で公開できる。
作業中のエンティティをクリックまたはタップ、[公開] をクリック
- エンティティ、ビューなどのコンポーネントも公開される。
- フォーム、ビューなどの一つのサブコンポーネントだけの公開はできない。
- [エンティティ] をクリックまたはタップ、[操作] ツール バーで、[すべてのカスタマイズの公開]
- 注意:他のカスタマイザーのカスタマイズも公開される。なるべく個別に公開を実施する。
-
セキュリティ ロール(保存すると更新&適用)
-
プロセス(アクティブ化)
-
初回保存時に公開されるもの
- コンポーネントとサブコンポーネント
- 変更全体を公開する前に、他に使用される可能性がある。
- 注意:カスタム活動エンティティの新規作成やコピーも直ちに公開される。
「†」記号は変更不可能。
名前は変更可能だが、次の要素の変更が必要であり困難。
どの機能でどう使用されているか、正確に把握していない場合は、
(通常の構築作業の範囲では、通常は把握していないものと思われる)
実質的に変更しない方が良さそう。
-
表示名
-
複数名
-
ビューのエンティティ名への参照
-
以前の名前を使用するフィールド ラベル
-
レポート
- レポート名
- レポートで使用されているラベル
-
メッセージ(ソリューション エクスプローラーの・・・)
-
ヘルプ ファイルのテキスト
-
,etc.
移行メモ(用語): ここでいう「名前」は表示名(Display Name)のことで、
スキーマ名(SchemaName/LogicalName)は「†」の通り変更できない。
表示名を変えても内部の参照は追随しないため、
ラベル・レポート・メッセージを個別に直す必要がある、というのが本節の要旨である。
翻訳のエクスポート機能で基本言語でエクスポートされたファイルを編集してインポート。
-
単純な置換をしない。
-
エンティティ
- 名前の大文字小文字を考慮
- 表示名の単数複数形を考慮
- 削除するとエンティティとレコードが物理的に削除され復元できない。
- 論理削除相当を行う場合、セキュリティ ロールをシステム管理者のみに与える。
- コマンド バーで、[削除] を選択する。
依存関係によって削除ができないことがある。
- 関連付け、関連レコード。
- プロセス(ワークフロー/ダイアログ)
- レポート
- ,etc.
ダッシュボード ─ グラフ ─ ビュー ─ フィールド ─ エンティティ
- 依存関係の確認は、コンポーネントの [依存関係を表示します] で確認できる。
- ソリューション コンポーネントの依存関係の追跡
https://msdn.microsoft.com/ja-jp/library/gg309749.aspx
Tags: Dynamics CRM
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。