列の定義
テーブルには、各レコードに含めることのできるデータを表す、列のコレクションが含まれます。 開発者は、列のさまざまな種類、およびその使用方法について理解する必要があります。
注意
エンティティとテーブルの違いがわかりませんか? Microsoft Dataverse で「開発者: 用語を理解する」を参照してください。
列名
テーブルと同様に、各列には、作成時に定義された一意の名前があります。 この名前は、次のいくつかの方法で表示されます。
| Name | 説明 |
|---|---|
SchemaName |
通常は、論理名の Pascal 形式バージョンです 例 AccountNumber |
LogicalName |
すべて小文字の名前。 例 accountnumber |
カスタム列を作成すると、選択した名前の前に、列が作成されたソリューションに関連付けられているソリューション発行者のカスタマイズの接頭辞値が付加されます。
列の作成後は名前を変更できません。
各列には、ローカライズされた値を表示できる 2 つのプロパティもあります。 これらは、アプリ内の列を参照するために使用される値です。
| 件名 | 内容 |
|---|---|
DisplayName |
通常、スキーマ名と同じですが、スペースを含めることができます。 例 取引先企業番号 |
Description |
列の説明、またはユーザーにガイダンスを提供する短い文章。 例 システム ビューで取引先企業をすばやく検索して識別できるようにするための取引先企業の ID 番号またはコードを入力します。 モデル駆動型アプリでは、この情報は、ユーザーがフォームの列にカーソルを置いたときに表示されます。 |
これらは、アプリ内の列を参照するために使用されるローカライズ可能な値です。 これらの値は、いつでも変更できます。 ローカライズされた値を追加または編集するには、カスタマイズされたテーブル、フォームおよび列テキストを他の言語に翻訳するを参照してください。
列の種類
AttributeTypeName プロパティは、列の種類を記述します。 このプロパティには、存在するさまざまな種類の列ごとにラベルを提供する AttributeTypeDisplayName 型の値が含まれます。
注意
AttributeType プロパティと混同しないでください。 この古いプロパティの値は、ほとんどが AttributeTypeName と対応しており、ImageAttributeMetadata と MultiSelectPicklistAttributeMetadata が Virtual と表示されることのみ異なります。 AttributeType プロパティではなく、AttributeTypeName プロパティを参照してください。
次の表を参照してください。
- これらのタイプは、比較のためにカテゴリ別にグループ化されています。
- 各
AttributeTypeDisplayName値に対して、対応する .NET アセンブリの AttributeMetadata 派生クラスが使用可能な場所に含まれます。 これらのタイプとAttributeTypeDisplayNameラベルの間には 1 対 1 の関係はありません。 - カスタム列として作成できる列の種類には、UI に表示される、対応するラベルが含まれます。
| カテゴリ | AttributeTypeDisplayName/ AttributeMetadata タイプ |
作成可能/ Label |
説明 |
|---|---|---|---|
| 分類 | BooleanTypeBooleanAttributeMetadata |
有効 2 つのオプション |
通常は true または false の値を示す、はい/いいえから選択されたオプション値を含みます。 詳細: 選択肢 |
| 分類 | EntityNameTypeEntityNameAttributeMetadata |
番号 | システム内のテーブルに対応する値が含まれます。 内部使用のみ。 |
| 分類 | MultiSelectPicklistTypeMultiSelectPicklistAttributeMetadata |
有効 MultiSelect オプション セット |
複数の値を選択できる複数の選択された値が含まれます。 詳細情報: 選択肢 選択肢の列 |
| 分類 | PicklistTypePicklistAttributeMetadata |
有効 オプション セット |
1 つのオプションを選択できる、選択された値を含めます。 詳細: 選択肢 |
| 分類 | StateTypeStateAttributeMetadata |
無効 | テーブル レコードの状態を示す値が含まれます。 詳細: 選択肢 |
| 分類 | StatusTypeStatusAttributeMetadata |
無効 | テーブル レコードの状態の理由を示す値が含まれます。 詳細: 選択肢 |
| 集荷 | CalendarRulesType |
無効 | CalendarRules テーブル レコードのコレクションを含みます。この種類を使用する列はありません。 プロキシを生成する際、コード生成ツールは、定義に存在しない 2 つのシミュレーション列を作成します。 これらの列は、一対多の関連付けでテーブル レコードに関連付けられているカレンダー ルール レコードのビューを表します。 |
| 集荷 | PartyListType |
無効 | ActivityParty テーブル レコードのコレクションを含みます。詳細: ActivityParty テーブル |
| 日時 | DateTimeTypeDateTimeAttributeMetadata |
無効 日付と時間 |
日付と時刻の値を含みます。 すべての日付と時刻の列は、1/1/1753 12:00 AM という初期値をサポートします。 |
| ファイル | FileTypeFileAttributeMetadata |
有効 ファイル |
テーブル レコードのバイナリ データの取得をサポートするためのデータが含まれています。 詳細: ファイル列 |
| 画像 | ImageTypeImageAttributeMetadata |
有効 画像 |
テーブル レコードの画像データの取得をサポートするためのデータが含まれています。 詳細: エンティティ イメージ |
| 管理プロパティ | ManagedPropertyTypeManagedPropertyAttributeMetadata |
無効 | テーブル レコードに格納されているソリューション コンポーネントを、管理ソリューションに含めるときにカスタマイズできるかどうかを示すデータが含まれています。 詳細: 管理プロパティ |
| 品質 | BigIntTypeBigIntAttributeMetadata |
無効 | BigInt 値を含みます。 内部使用のみ。 |
| 品質 | DecimalTypeDecimalAttributeMetadata |
有効 10 進数 |
Decimal 値を含みます。 Precision プロパティで精度を設定します。 |
| 品質 | DoubleTypeDoubleAttributeMetadata |
有効 浮動小数点数 |
Double 値を含みます。 Precision プロパティで精度を設定します。 |
| 品質 | IntegerTypeIntegerAttributeMetadata |
有効 整数 |
Int 値を含みます |
| 数量 | MoneyTypeMoneyAttributeMetadata |
有効 通貨 |
Decimal 値を含みます。 PrecisionSource プロパティは、精度のレベルを決定します。0 : Precision プロパティ1 : Organization.PricingDecimalPrecision 列2 : テーブル レコードの TransactionCurrency.CurrencyPrecision 列 |
| 参照 | CustomerTypeLookupAttributeMetadata |
有効 顧客 |
取引先企業または取引先担当者テーブル レコードへの参照が含まれます。 |
| 参照 | LookupTypeLookupAttributeMetadata |
有効 検索 |
テーブル レコードへの参照を含みます。 有効なレコードの論理名は通常、列の Targets プロパティに格納されます。 |
| 参照 | OwnerTypeLookupAttributeMetadata |
無効 | ユーザー テーブル レコードまたはチーム テーブル レコードへの参照が含まれます。 |
| 文字列 | MemoTypeMemoAttributeMetadata |
有効 複数行テキスト |
複数行テキストボックスに表示するための文字列値が含まれています。 |
| 文字列 | StringTypeStringAttributeMetadata |
有効 1 行テキスト |
単一行テキストボックスに表示するための文字列値が含まれています。 |
| 一意識別子 | UniqueidentifierTypeUniqueIdentifierAttributeMetadata |
無効 | GUID 一意識別子値が含まれます。 |
| 仮想 | VirtualType |
無効 | これらの列はコードで使用することはできず、一般的に無視することができます。 |
列でサポートされている操作とフォームの使用法
各列には、参加可能な操作の種類と、フォーム内での操作方法を説明するブール値のプロパティが含まれています。
| プロパティ | 内容 |
|---|---|
IsRequiredForForm |
列をフォームに含める必要があるかどうか。 |
IsValidForCreate |
列値を作成操作で設定できるかどうか。 |
IsValidForForm |
列をフォーム内の列として含めることができるかどうか。 |
IsValidForRead |
列値を取得できるかどうか。 |
IsValidForUpdate |
更新操作で列値を設定できるかどうか。 |
その操作に無効な列の作成操作または更新操作で値を設定しようとすると、その値は無視されます。 読み取りに有効でない列を取得しようとすると、null 値が返されます。
列の入力要求レベル
RequiredLevel プロパティは、列の値が必要かどうかを記述するブール値管理プロパティです。
このプロパティには次の値を設定できます。
| Name | Value | UI ラベル | 説明 |
|---|---|---|---|
None |
0 | 任意 | 要件は指定されていません。 |
SystemRequired |
1 | システム要件 | データ サービスでは、列に値が必要です。 |
ApplicationRequired |
2 | 必須項目 | アプリケーションでは、列に値が必要です。 |
Recommended |
3 | 推奨項目 | 列には値があることが推奨されます。 |
Dataverse では、システムによって作成された列に対してのみ SystemRequired オプションが適用されます。 カスタム列は、SystemRequired オプションを使用するように設定することはできません。 データ サービスは、ApplicationRequired が適用されている列に値がない場合、エラーを返しません。
モデル駆動型アプリケーションでは、ApplicationRequired オプションが強制され、Recommended オプションには別のプレゼンテーションが使用されます。 ユーザー定義のクライアントの作成者は、この情報を使用して、同様の検証または表示オプションを要求する場合があります。
これは管理プロパティであるため、管理ソリューションの発行元として、ソリューションのコンシューマーがソリューション内の列のこれらの設定を変更できるかどうかを判断できます。
詳細: 管理プロパティ
ロールアップ列と計算列
計算列およびロールアップ列を使用すると、ユーザーは手動で計算を実行する必要がなくなり、作業に集中できます。 システム管理者は、開発者と作業をすることなく、多くの共通計算の値を含む列を定義できます。 開発者も、自分のコード内ではなく、プラットフォーム機能を活用してこれらの計算を実行できます。
詳細情報:
列形式
列の書式値は、モデル駆動型アプリでの表示方法を制御します。 カスタム アプリの開発者は、この情報を使用して同様のエクスペリエンスを作成できます。
整数形式
この種類の代替ユーザー エクスペリエンスを表示するには、整数列で Format プロパティを使用します。
| 回答内容 | 説明 |
|---|---|
None |
数値を編集するためのテキスト ボックスを表示します。 |
Duration |
時間間隔を含むドロップダウン リストが表示されます。 このリストから値を選択するか、分を表す整数値を入力できます。 |
TimeZone |
タイム ゾーンのリストを含むドロップダウン リストが表示されます。 |
Language |
組織で有効になっている言語のリストを含むドロップダウン リストが表示されます。 他の言語が有効になっていない場合は、基本言語が唯一のオプションになります。 保存される値は、言語の LCID 値です。 |
文字列形式
文字列の列を持つ FormatName プロパティを使用して、StringFormatName の値を設定して、文字列の列のフォーマット方法を制御します。
| 名前 | 説明 |
|---|---|
Email |
フォーム列はテキスト値を電子メール アドレスとして検証し、列に mailto リンクを作成します。 |
PhoneNumber |
フォーム列には、Skype を使用して電話の発信ためのリンクが含まれています。 |
PhoneticGuide |
内部使用のみ。 |
Text |
フォームにテキスト ボックスが表示されます。 |
TextArea |
フォームにテキスト領域列が表示されます。 |
TickerSymbol |
株式銘柄コードの見積もりを表示するためのリンクがフォームに表示されます。 |
URL |
URL をオープンするためのリンクがフォームに表示されます。 |
VersionNumber |
内部のみで使用 |
日付と時刻の形式
DateTimeBehavior プロパティは、日時列の動作を制御します。
3 種類のオプションがあります。
| 回答内容 | 短い説明: |
|---|---|
UserLocal |
日時値を UTC 値としてシステムに格納します。 |
DateOnly |
実際値の日付の値を、時刻値 12:00 AM (00:00:00) で、システムに格納します。 |
TimeZoneIndependent |
ユーザーのタイムゾーンに関係なく、実際の日時値をシステムに格納します。 |
Format プロパティ コントロールを使用して、DateTimeBehavior に関係なく、モデル駆動型アプリで値を表示する方法を指定します。
| オプション | 説明 |
|---|---|
| DateAndTime | 完全な日時を表示します。 |
| DateOnly | 日付のみを表示します。 |
詳細: 日時の列の動作と形式
オートナンバー列
任意のテーブルのオートナンバー列を追加できます。 現在は、プログラムで列を追加することができます。 この種類の列を追加するユーザー インターフェイスはありません。 詳細情報: オートナンバー列の作成
選択肢
オプションのセットを表示するこれらの列は、列によって定義されたオプションのセットを参照することも、複数の列で共有できる個別のオプションのセットを参照することもできます。 これは、ある列の値が他の列にも当てはまる場合に特に便利です。 共通のオプション セットを参照することで、オプションを 1 か所で管理することができます。 共有できる選択肢は グローバル な選択肢です。 列内に定義されているものは ローカル 選択肢です。
オプション データの取得
組織サービスは、列によって使用されるオプションを取得するために使用できる要求クラスを提供します。
組織サービスを使用してオプションを取得する
オプションを持つ列は、EnumAttributeMetadata から継承し、OptionSet Propertyを含みます。 このプロパティには、Options property 内のオプションを含む OptionSetMetadata が含まれています。
組織サービスでは、次のメッセージを使用して選択肢に関する情報を取得できます。
| 要求クラス | 説明 |
|---|---|
| RetrieveAllOptionSetsRequest | すべての グローバル 選択肢に関するデータを取得します |
| RetrieveAttributeRequest | 任意の選択肢を含む列に関するデータを取得します |
| RetrieveMetadataChangesRequest | 選択肢を含むことができるクエリに基づいてメタデータを取得する 詳細: テーブル定義への変更の取得および検出 |
| RetrieveOptionSetRequest | グローバル 選択肢に関するデータを取得します。 |
詳細情報:
Web API を使用して選択項目の値を取得する
Web API は、選択項目の値を照会するための RESTful スタイルを提供します。 テーブル内の列を取得することにより、ローカルまたはグローバルの選択肢を取得できます。 次の例では、Account.AccountCategoryCode プロパティに含まれる選択肢の OptionSetMetadata を返します。
GET <organization url>/api/data/v9.0/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet
Web API では、RetrieveMetadataChanges Function も使用できます。
詳細: Web API を使用してテーブル定義をクエ > 属性の取得
列マッピング
既存のテーブル レコードのコンテキストで新しいテーブル レコードを作成すると、既存のテーブル レコードの特定の値を新しいテーブル レコードの既定値として自動的に転送できます。 これにより、モデル駆動型アプリを使用するユーザーのデータ入力が合理化されます。 アプリ ユーザーはマップされた値を参照し、エンティティを保存する前にそれらの値を編集できます。
カスタム クライアントを作成する開発者は、InitializeFrom メッセージ (組織サービス InitializeFromRequest Class または Web API InitializeFrom Function) を使用して、構成された既定値が設定されたエンティティ データを取得することで同じ動作を実現できます。
詳細情報
参照
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示