エンティティ メタデータのカスタマイズ
エンティティは、メタデータによって定義されます。 エンティティ メタデータを定義または変更することによって、エンティティの機能を制御できます。 組織のメタデータを表示するには、メタデータ ブラウザーを使用します。 メタデータ ブラウザーのダウンロード。
詳細: 組織のメタデータの参照
このトピックでは、プログラムでエンティティを処理する方法について説明します。 アプリケーションでエンティティを処理する方法の詳細については、エンティティ (レコードの種類) の作成または編集を参照してください。
エンティティは、組織または Web API のいずれかを使用して作成することができます。 以下の情報は両方に適用することができます。
- 組織サービスでは、EntityMetadata クラスを使用します。 詳細: ユーザー定義エンティティの作成 および エンティティの取得、更新、および削除
- Web API では、EntityMetadata EntityType を使用します。 詳細については、Web API を使用してエンティティ定義を作成および更新 を参照してください。
エンティティ メタデータの操作
エンティティ メタデータでの作業方法は使用するサービスにより異なります。
Web API は RESTful エンドポイントであるため、メタデータの作成、取得、更新、および削除に異なる方法を使用します。 POST
、GET
、PUT
、および DELETE
HTTP 動詞を使用して、メタデータ エンティティの種類で作業します。 詳細については、Web API を使用してエンティティ定義を作成および更新 を参照してください。
これに対する 1 つの例外は、RetrieveMetadataChanges 関数にはメタデータ クエリを構成して時間に伴う変化を追跡するための方法が用意されていることです。
組織サービスを使用している場合は、RetrieveMetadataChangesRequest クラスを使用します。 このクラスには、指定した条件を満たすメタデータ レコードのコレクションを取得するために必要なデータが含まれます。 RetrieveMetadataChangesResponse は、最後の要求後のメタデータ変更内容に関する情報を戻すために、後からこの要求を使用することができるタイムスタンプ値を返します。
メッセージ | Web API | SDK アセンブリ |
---|---|---|
CreateEntity | POST 要求を使用してエンティティを作成するデータを送信します。 | CreateEntityRequest |
DeleteEntity | DELETE 要求を使用してエンティティを削除します。 | DeleteEntityRequest |
RetrieveAllEntities | GET 要求を使用してエンティティ データを取得します。 | RetrieveAllEntitiesRequest |
RetrieveEntity | RetrieveEntity 関数 | RetrieveEntityRequest |
UpdateEntity | PUT 要求を使用してエンティティを更新します。 | UpdateEntityRequest |
RetrieveMetadataChanges Microsoft.Xrm.Sdk.Metadata.Query 名前空間のオブジェクトと共に使用してクエリを作成し、特定のメタデータに対する変更を効率よく取得および検出します。 詳細: メタデータへの変更の取得および検出。 |
RetrieveMetadataChanges 関数 | RetrieveMetadataChangesRequest |
ユーザー定義エンティティの作成時に利用可能なオプション
次の表は、ユーザー定義エンティティを作成するときに使用できるオプションを示します。 ユーザー定義エンティティを作成するときにのみ、これらのプロパティを設定できます。
オプション | 説明 |
---|---|
ユーザー定義の活動として作成 | 組織サービスまたは Web API をそれぞれ使用するときに IsActivity プロパティを設定することにより、活動であるエンティティを作成することができます。 詳細については、Dynamics 365 Customer Engagement (on-premises) でのユーザー定義の活動 を参照してください。 |
エンティティ名 | 名前には 2 種類あり、どちらもカスタマイズの接頭辞が付いている必要があります。LogicalName : エンティティ名のバージョンであり、すべて小文字で設定される名前。SchemaName : エンティティのデータベース テーブルの作成に使用される名前。 この名前は大文字小文字が混在できます。 使用する大文字と小文字は、厳密な型を使用するプログラミングのとき、または REST エンドポイントを使用するときに生成されるオブジェクトの名前を設定します。注: 論理名がスキーマ名と異なる場合、論理名に設定した値をスキーマ名が上書きします。 特定のソリューションのコンテキスト内のアプリケーションでエンティティが作成される場合、使用されるカスタマイズの接頭辞は、ソリューションの Publisher で設定される接頭辞です。 エンティティがプログラム的に作成される場合、カスタマイズの接頭辞は、長さが 2 文字から 8 文字の間の文字列で、すべて英数文字であり、最初の 1 文字を英字にする必要があります。 接頭辞を "mscrm" で始めることはできません。 ベスト プラクティスは、ソリューションが関連付けられている発行元によって定義されたカスタマイズされて接頭辞を使用することですが、これは必須ではありません。 カスタマイズの接頭辞と論理名またはスキーマ名との間に、アンダースコアを使用する必要があります。 |
企業形態 | OwnershipType プロパティを使用してこれを設定します。 OwnershipTypes 列挙体または OwnershipTypes EnumType を使用してエンティティの所有権の種類を設定します。 ユーザー定義エンティティで有効な値は、OrgOwned または UserOwned のみです。 詳細については、エンティティの所有権 を参照してください。 |
主属性 | 組織サービスでは、CreateEntityRequest を使用します。これを設定するためのPrimaryAttribute プロパティ。 JSON がエンティティを定義する Web API には、 IsPrimaryName プロパティを true にセットした StringAttributeMetadata を 1 つ含める必要があります。どちらの場合も、文字列属性は Text として書式設定される必要があります。 この属性の値は、関連するエンティティの検索で表示される内容です。 このため、フィールドの値は、エンティティ レコードの名前を表す必要があります。 |
エンティティの機能の有効化
次の表にエンティティ機能の一覧を示します。 エンティティを作成するときにこれらの機能を設定することも、後で有効にすることもできます。 これらの機能は、一度有効にすると無効にすることはできません。
機能 | 内容 |
---|---|
業務プロセス フロー | 業務プロセス フローのエンティティを有効にするためには、IsBusinessProcessEnabled を true に設定します。 |
メモ | Annotation エンティティとのエンティティ関連付けを作成し、エンティティ フォームの Notes 領域を含めることができるようにします。 メモを含めることにより、レコードに添付ファイルを追加することもできます。 組織サービスでは、CreateEntityRequest または UpdateEntityRequest HasNotes プロパティを使用しますWeb API で、EntityMetadata を設定します。 HasNotes プロパティ。 |
活動 | すべての活動の種類エンティティをこのエンティティと関連付けることができるように、ActivityPointer エンティティとのエンティティ関連付けを作成します。組織サービスでは、CreateEntityRequest または UpdateEntityRequest HasActivities プロパティを使用します。 Web API で、EntityMetadata を設定します。 HasActivities プロパティ。 |
接続 | このエンティティを他の接続エンティティと関連付ける接続レコードの作成を有効にするには、IsConnectionsEnabled.Value プロパティを true にセットします。 |
キュー | キューのサポートを追加するには、IsValidForQueue プロパティを使用します。 このオプションを有効にすると、この種類のレコードが作成または割り当てられたときに、レコードを所有者の既定のキューに自動的に移動するように AutoRouteToOwnerQueue プロパティを設定することもできます。 |
電子メール | この種類のレコードの電子メール アドレスに、電子メールを送信できるように IsActivityParty プロパティを設定します。 |
編集可能なエンティティ プロパティ
次の表では、編集できるエンティティ プロパティを示します。 これらのオプションは、マネージド プロパティによって無効にしている場合を除き、いつでも更新できます。
プロパティ | 内容 |
---|---|
簡易作成を許可 | エンティティの簡易作成フォームを有効にするには、IsQuickCreateEnabled を使用します。 簡易作成フォームを使用する前に、まず簡易作成フォームを作成および公開する必要があります。メモ: 活動エンティティは簡易作成フォームをサポートしません。 |
アクセス チーム | アクセス チームのエンティティを有効にするには、AutoCreateAccessTeams を使用します。 詳細については、チーム テンプレートについて を参照してください。 |
プライマリ イメージ | エンティティにイメージ属性がある場合、PrimaryImageAttribute を使用してアプリケーションへのその画像の表示を有効または無効にできます。 詳細については、エンティティ イメージを参照してください。 |
表示テキストの変更 | マネージド プロパティ IsRenameable のために、アプリケーションで表示名を変更できません。 DisplayName および DisplayCollectionName プロパティを更新することによって、ラベルをプログラム的に変更することができます。 |
エンティティの説明の編集 | マネージド プロパティ IsRenameable のために、アプリケーションでエンティティの説明を変更できません。 Description プロパティを更新することによって、ラベルをプログラム的に変更することができます。 |
オフライン時の使用の有効化 | オフライン アクセス対応 Dynamics 365 for Microsoft Office Outlook のユーザーがこのエンティティのデータをオフラインで取得できるかどうかを切り替えるには、IsAvailableOffline を使用します。 |
Outlook の閲覧ウィンドウの有効化 |
メモ:IsReadingPaneEnabled プロパティは内部のみで使用します。Dynamics 365 for Outlook のユーザーがこのエンティティのデータを表示できるかどうかを切り替えるには、Outlook の閲覧ウィンドウを使用します。 このプロパティは、アプリケーションで設定する必要があります。 |
差し込み印刷の有効化 | このエンティティからのデータを使用する Office Word の結合された文書を生成できるかどうかを切り替えるには、IsMailMergeEnabled を使用します。 |
重複データ検出の有効化 | エンティティの重複データ検出の有効と無効を切り替えるには、IsDuplicateDetectionEnabled を使用します。 詳細については、Dynamics 365 Customer Engagement (on-premises) の重複データの検出 を参照してください。 |
SharePoint 統合の有効化 | エンティティの SharePoint サーバー統合の有効または無効を切り替えるには、IsDocumentManagementEnabled を使用します。 詳細については、エンティティに対するドキュメント管理の有効化 を参照してください。 |
Dynamics 365 for phones の有効化 | Dynamics 365 for phones のユーザーがこのエンティティのデータを表示できるかどうかを切り替えるには、IsVisibleInMobile を使用します。 |
Dynamics 365 for tablets | Dynamics 365 for tablets のユーザーがこのエンティティのデータを表示できるかどうかを切り替えるには、IsVisibleInMobileClient を使用します。エンティティが Dynamics 365 for tablets で利用可能な場合は、レコードのデータが読み取り専用であることを指定するために IsReadOnlyInMobileClient を使用することができます。 |
監査の有効化 | エンティティの監査の有効と無効を切り替えるには、IsAuditEnabled を使用します。 詳細については、監査のエンティティおよび属性の構成 を参照してください。 |
エンティティが表示される領域の変更 | アプリケーションのナビゲーション ウィンドウのエンティティ グリッドが表示される場所を制御できます。 これはサイトマップによって制御されます。 |
属性の追加と削除 | マネージド プロパティ CanCreateAttributes.Value によって属性の作成が許可されている場合に限り、エンティティに属性を追加することができます。 詳細については、エンティティ属性メタデータのカスタマイズ を参照してください。 |
ビューの追加と削除 | マネージド プロパティ CanCreateViews.Value によってビューの作成が許可されている場合に限り、SavedQuery エンティティを使用してエンティティのビューを作成できます。 |
グラフの追加と削除 | マネージド プロパティ CanCreateCharts.Value によってグラフの作成が許可されており、IsEnabledForCharts エンティティ プロパティが true の場合に限り、SavedQueryVisualization エンティティ を使用してエンティティのグラフを作成することができます。 詳細については、ビジュアル化を使用したデータの表示 (グラフ) を参照してください。 |
エンティティの関連付けの追加または削除 | エンティティに対して作成できるエンティティの関連付けの種類を制御するマネージド プロパティは複数あります。 詳細については、エンティティ関係メタデータをカスタマイズする を参照してください。 |
アイコンの変更 | ユーザー定義エンティティで使用されているアイコンは変更できます。 詳細については、エンティティのアイコンの変更を参照してください。 |
階層関連付けを変更できる |
CanChangeHierarchicalRelationship.Value は、マネージド ソリューションに含まれるエンティティ関係の階層状態を変更できるかどうかを制御します。 詳細: |
ユーザー定義エンティティでサポートされているメッセージ
ユーザー定義エンティティは、システム エンティティと同じベース メッセージをサポートしています。 使用できるメッセージのセットは、ユーザー定義エンティティがユーザー所有か組織所有のいずれかでによって異なります。 詳しくは、「エンティティ レコードに対する操作」をご覧ください。
関連項目
Dynamics 365 Customer Engagement (on-premises) のメタデータ モデルの拡張
Dynamics 365 Customer Engagement (on-premises) のエンティティの概要
組織のメタデータの参照
エンティティ属性メタデータのカスタマイズ
エンティティの関連付けのメタデータ
Dynamics 365 Customer Engagement (on-premises) の重複データの検出
エンティティに対するドキュメント管理の有効化
監査のエンティティおよび属性の構成
グラフを使用したデータの表示 (ビジュアル化)
カスタマイズ可能なエンティティ
ユーザー定義エンティティを作成する
エンティティの取得、更新、削除
電子メール活動を送信するエンティティの作成および更新
カスタム活動エンティティの作成
エンティティのアイコンの変更
エンティティのメッセージの変更
サンプル: エンティティ メタデータの作成と更新
サンプル: カスタム活動エンティティの作成
サンプル: 電子メール活動を送信するエンティティの作成および更新
サンプル: エンティティ メタデータのファイルへのダンプ
サンプル: エンティティ特権情報のファイルへのダンプ