テーブル定義をカスタマイズする
テーブルはテーブルの定義によって定義されます。 テーブルの定義を決めたり変更したりすることで、テーブルの機能をコントロールすることができます。 ご利用の環境にあったテーブルの定義を見るには、メタデータ ブラウザを使用します。 テーブル定義のブラウザをダウンロードします。
注意
エンティティとテーブルの違いがわかりませんか? Microsoft Dataverse で「開発者: 用語を理解する」を参照してください。
詳細情報 : ご利用の環境でテーブル定義をブラウジングする
このトピックでは、テーブルをプログラムで操作する方法について説明します。 アプリケーションでのテーブルの処理については、テーブル (レコード タイプ) の作成と編集を参照してください。
テーブルは、組織サービスまたは Web API を使用して作成できます。 以下の情報は両方に適用することができます。
- 編成サービスでは EntityMetadata クラスを使用します。 詳細情報 : カスタムテーブルの作成 と テーブルの取得、更新、削除
- Web API では、EntityMetadata EntityType を使用します。 詳細情報 : Web API を使用してテーブルの定義を作成・更新する。
テーブル定義の操作
テーブル定義をどのように処理するかは、ご利用のサービスによって異なります。
Web API は RESTful なエンドポイントであるため、テーブル定義の作成、取得、更新、削除には異なる方法を使用します。 POST、GET、PUT、DELETE などの HTTP 動詞を使用して、テーブル定義の entitytypes を操作します。 詳細情報 : Web API を使用してテーブルの定義を作成・更新する。
例外として、RetrieveMetadataChanges Function はテーブル定義のクエリを構成し、時間経過による変化を追跡することができます。
組織サービスを使用している場合は、RetrieveMetadataChangesRequest クラスを使用します。 このクラスは、指定された条件を満たすテーブル定義レコードのコレクションの取得に必要なデータを含んでいます。 RetrieveMetadataChangesResponse はタイム スタンプを返します。このタイムスタンプは、前回のリクエスト以降にテーブルの定義がどのように変更されたかについての情報を返すために、後からこのリクエストで使用することができます。
| メッセージ | Web API | SDK アセンブリ |
|---|---|---|
| CreateEntity | POST リクエストを使用して、テーブルを作成するデータを送信します。 | CreateEntityRequest |
| DeleteEntity | DELETE リクエストを使用して、テーブルを削除します。 | DeleteEntityRequest |
| RetrieveAllEntities | GET リクエストを使用してテーブルのデータを取得します。 | RetrieveAllEntitiesRequest |
| RetrieveEntity | RetrieveEntity Function | RetrieveEntityRequest |
| UpdateEntity | PUT リクエストを使用してテーブルのデータを更新します。 | UpdateEntityRequest |
| RetrieveMetadataChangesMicrosoft.Xrm.Sdk.Metadata.Query 名前空間のオブジェクトと一緒に使用され、特定のテーブル定義の変更を効率的に取得、検出するクエリを作成します。 詳細: メタデータへの変更の取得および検出。 | RetrieveMetadataChanges Function | RetrieveMetadataChangesRequest |
カスタム テーブルの作成時に利用できるオプション
以下は、カスタム テーブルを作成する際に利用できるオプションの一覧です。 これらのプロパティは、カスタム テーブルの作成時にのみ設定できます。
| 回答内容 | 内容 |
|---|---|
| ユーザー定義の活動として作成 | 組織サービスや Web API の利用時にそれぞれ IsActivity プロパティを設定することで、アクティビティであるテーブルを作成することができます。 詳細については、Dynamics 365 のユーザー定義活動 を参照してください。 |
| テーブル名 | 名前には 2 種類あり、どちらもカスタマイズの接頭辞が付いている必要があります。LogicalName: テーブル名がすべて小文字で設定されているバージョンの名前。SchemaName: データベースのテーブルを作成する際に使用される名前。 この名前は大文字小文字が混在できます。 使用する大文字と小文字は、厳密な型を使用するプログラミングのとき、または REST エンドポイントを使用するときに生成されるオブジェクトの名前を設定します。注: 論理名がスキーマ名と異なる場合、論理名に設定した値をスキーマ名が上書きします。 特定のソリューションのコンテキストでアプリケーション内にテーブルを作成した場合、使用されるカスタマイズ接頭辞は、そのソリューションの Publisher に設定されているものです。 プログラムでテーブルを作成する際に、カスタマイズ用の接頭辞を 2 文字以上 8 文字以下の文字列に設定することができます。 接頭辞を "mscrm" で始めることはできません。 ベスト プラクティスは、ソリューションが関連付けられている発行元によって定義されたカスタマイズされて接頭辞を使用することですが、これは必須ではありません。 カスタマイズの接頭辞と論理名またはスキーマ名との間に、アンダースコアを使用する必要があります。 |
| 企業形態 | OwnershipType プロパティを使用してこれを設定します。 テーブルの所有権のタイプを設定するには、OwnershipTypes リストまたは OwnershipTypes の EnumType を使用します。 カスタムテーブルの有効な値は OrgOwned または UserOwned のみです。 詳細については、テーブルの所有権 を参照してください。 |
| プライマリ列 | 組織サービスの場合、CreateEntityRequest.PrimaryAttribute プロパティを使用してこれを設定します。 Web API では、テーブルを定義する JSON に、 IsPrimaryName プロパティがtrueに設定された StringAttributeMetadata を1つ含める必要があります。いずれの場合も、文字列の列は Text という形式でなければなりません。 この列の値は、関連するテーブルのルックアップで表示されるものです。 そのため、列の値は、レコードの名前を表す必要があります。 |
テーブルの機能を有効化する
以下にテーブル機能の一覧を示します。 これらの機能は、テーブルの作成時に設定することも、後から有効にすることもできます。 これらの機能は、一度有効にすると無効にすることはできません。
| 機能 | 内容 |
|---|---|
| 業務プロセス フロー | ビジネス プロセス フローのテーブルを有効にするには、IsBusinessProcessEnabled を true に設定します。 |
| メモ | Annotation テーブルとのリレーションシップを作成し、フォームに メモ エリアを含めることを可能にします。 メモ を含めることにより、レコードに添付ファイルを追加することもできます。 組織サービスでは、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エンティティは内部のみで使用します。Office Outlook nユーザーがこのテーブルのデータを表示する機能を有効または無効にするには、Outlook の読み取りペインを使用します。 このプロパティは、アプリケーションで設定する必要があります。 |
| 差し込み印刷の有効化 | IsMailMergeEnabled を使用して、このテーブルのデータを使用する Office Word の結合文書を生成する機能を有効または無効にします。 |
| 重複データ検出を有効にする | IsDuplicateDetectionEnabled を使用するとテーブルの重複検出が有効または無効になります。 詳細については、Dynamics 365 の重複データの検出 を参照してください。 |
| SharePoint 統合の有効化 | IsDocumentManagementEnabled を使用して、テーブルの SharePoint サーバー統合を有効または無効にします。 詳細については、テーブルのドキュメント管理を可能にする を参照してください。 |
| Dynamics 365 for phones の有効化 | IsVisibleInMobile を使用して、このテーブルのデータを電話用 Dynamics 365 のユーザーが閲覧できるようにします。 |
| タブレット PC 用 Dynamics 365 | IsVisibleInMobileClient を使用して、このテーブルのデータをタブレット PC 用 Dynamics 365 のユーザーが閲覧できるようにします。テーブルがタブレット PC 用 Dynamics 365 で利用可能な場合は、 IsReadOnlyInMobileClient を使用してレコードのデータが読み取り専用であることを指定できます。 |
| 監査の有効化 | IsAuditEnabled を使用するとテーブルの監査が有効または無効になります。 詳細については、監査用のテーブルとカラムの設定を参照してください。 |
| テーブルを表示するエリアの変更 | アプリケーションのナビゲーション ペインに表示されるテーブル グリッドの位置を制御することができます。 これはサイトマップによって制御されます。 |
| 列の追加または削除 | マネージド プロパティ CanCreateAttributes.Value で列の作成が可能であれば、テーブルに列を追加することができます。 詳細については、テーブル定義のカスタマイズ を参照してください。 |
| ビューの追加と削除 | マネージド プロパティ CanCreateViews.Value でビューの作成が可能であれば、SavedQuery テーブルを使ってテーブルのビューを作成することができます。 |
| グラフの追加と削除 | マネージド プロパティの CanCreateCharts.Value がグラフの作成を許可しており、IsEnabledForCharts のテーブルプロパティが true であれば、SavedQueryVisualization テーブル でテーブルのグラフを作成することができます。 詳細については、ビジュアル化を使用したデータの表示 (グラフ) を参照してください。 |
| テーブルのリレーションシップの追加または削除 | テーブルに作成できるリレーションシップの種類を制御するマネージド プロパティはいくつかあります。 詳細については、テーブル リレーションシップのカスタマイズ を参照してください。 |
| アイコンの変更 | カスタム テーブルに使われているアイコンを変更することができます。 詳細については、アイコンの変更 を参照してください。 |
| 階層関連付けを変更できる | CanChangeHierarchicalRelationship.Value は、マネージドソリューションに含まれるリレーションシップの階層的な状態を変更できるかどうかを制御します。 詳細: |
カスタム テーブルでサポートされるメッセージ
カスタム テーブルは、システム テーブルと同じベース メッセージをサポートしています。 利用できるメッセージは、カスタム テーブルがユーザーのものか、組織のものかによって異なります。 詳細については、レコードに関するアクションを参照してください。
関連項目
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示