Skip to content

MS_CRMEntityCustomization

nishi_74322014 edited this page Sep 1, 2026 · 1 revision

CRM エンティティのカスタマイズ

概要

エンティティのカスタマイズについて説明する。

エンティティには、以下の下位コンポーネントがある。

このカスタマイズについては別途説明する。

補足(現在の呼称): 本ページの「エンティティ」は、現在の
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)

エンティティのレコードにから差し込み印刷(mail merge)をできるようにする。

ドキュメント管理

エンティティのレコードに対して SharePoint へのリンクを作成できるようにする。

  • SharePoint との統合を有効化
  • CRM の DB ではなく SharePoint にドキュメントレコードを格納
  • SharePoint に対する追加構成が必要

アクセス チーム

エンティティのレコードに対してアクセス チームを作成できるようにする。

キュー 「†」

データ サービスのオプション

機能の有効無効を設定するチェック ボックス

簡易作成を許可

簡易作成フォームを使用して迅速にレコードを作成保存可能。

  • 活動エンティティ
    • システム活動エンティティでは簡易作成は許可されていない。

    • カスタム活動エンティティでは簡易作成は許可することはできる。

    • 簡易フォームが使用される操作

      • 別フォームの検索
      • 別フォームのサブグリッド
    • 通常フォームが使用される操作

      • ナビゲーション バーの [作成] ボタンから "グローバル" 作成を使用して作成。

重複データ検出

ユニークキーを設定する。

補足(重複データ検出と代替キーは別物): ここでいう重複データ検出は
非同期ジョブによる検出であり、DB の一意制約ではない。
保存を実際にブロックする一意キーが必要な場合は、CRM 2015 で追加された
**代替キー(Alternate Key)**を使用する。
代替キーは外部システムからの Upsert のキーとしても使える。

監査

以下に対して監査が行われる。

  • レコードに対する更新系処理(追加/更新/削除)
  • エンティティ メタデータの更新

詳しくは「CRM 追加のセキュリティ オプション」を参照。

Outlook とモバイルのオプション

電話用 CRM

電話用 CRM クライアントが対象のエンティティを使用可能にする。

タブレット PC 用 CRM

タブレット PC 用 CRM クライアントが対象のエンティティを使用可能にする(読み取り専用)。

  • タブレット PC 用 CRM
    • Microsoft Windows 8
    • Apple iPad
    • Android

Outlook 用 CRM

  • 閲覧ウィンドウ
    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.

依存関係の例

ダッシュボード ─ グラフ ─ ビュー ─ フィールド ─ エンティティ

依存関係のチェック方法

参考


Tags: Dynamics CRM

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally