Définitions de colonne
Les tables incluent un ensemble de colonnes qui représentent les données pouvant être incluses dans chaque enregistrement. Les développeurs doivent connaître les différents types de colonnes et savoir les utiliser.
Noms de colonnes
À l’instar des tables, chaque colonne dispose d’un nom unique défini à sa création. Ce nom est présenté de différentes façons :
Nom | Description |
---|---|
SchemaName |
Généralement une version du nom logique Pascal. Par exemple : AccountNumber |
LogicalName |
Tous les noms en lettres minuscules. Par exemple : accountnumber |
Lorsque vous créez une colonne personnalisée, le nom que vous choisissez est ajouté à la valeur de préfixe de personnalisation de l’éditeur de solutions associé à la solution avec laquelle la colonne a été créée.
Vous ne pouvez pas modifier les noms d’une colonne après sa création.
Chaque colonne a désormais deux propriétés qui peuvent afficher des valeurs localisées. Voici les valeurs qui sont utilisées pour faire référence aux colonnes dans une application.
Nom | Description |
---|---|
DisplayName |
Généralement, il est identique au nom du schéma, mais il peut inclure des espaces. Par exemple : Numéro de compte |
Description |
Une courte phrase décrivant la colonne ou fournissant des instructions à l’utilisateur. Par exemple : Tapez un numéro d’identification pour le compte pour le rechercher et l’identifier dans les vues système. Dans les applications basées sur un modèle, ces informations s’affichent lorsque les utilisateurs passent le curseur de la souris sur le champ pour cette colonne dans un formulaire. |
Voici les valeurs localisables qui sont utilisées pour faire référence aux colonnes dans une application. Ces valeurs peuvent être modifiées à tout moment. Pour ajouter ou modifier les valeurs localisées, consultez Traduire le texte de tables, de formulaires et de colonnes personnalisées dans d’autres langues.
Types de colonnes
La propriété AttributeTypeName
décrit le type d’une colonne. Cette propriété contient une valeur de type AttributeTypeDisplayName
qui fournit une Étiquette pour chacun des différents types de colonnes qui existent.
Notes
Ne soyez pas confus par la propriété AttributeType. Les valeurs de cette ancienne propriété sont principalement alignées avec AttributeTypeName, hormis le fait que celle-ci affiche les attributs ImageAttributeMetadata
et MultiSelectPicklistAttributeMetadata
comme Virtual
. Reportez-vous à la propriété AttributeTypeName
plutôt qu’à la propriété AttributeType
.
Dans le tableau suivant :
- Ces types sont regroupés en catégorie pour comparaison.
- Pour chaque valeur
AttributeTypeDisplayName
, la classe issue de l’assembly .NET correspondant AttributeMetadata est incluse quand elle est disponible. Il n’existe pas de relation de type 1:1 entre ces types et l’étiquetteAttributeTypeDisplayName
. - Ces types de colonne qui peuvent être créés en tant que colonnes personnalisées incluent l’étiquette correspondante affichée dans l’interface utilisateur.
Catégorie | AttributeTypeDisplayName/ Type AttributeMetadata |
Can Create/ Étiquette |
Description |
---|---|---|---|
Catégorisation | BooleanType BooleanAttributeMetadata |
Oui Deux options |
Contient la valeur d’option sélectionnée à partir de Oui/Non qui indiquent généralement une valeur vraie ou fausse. Pour plus d’informations : Choix |
Catégorisation | EntityNameType EntityNameAttributeMetadata |
Non | Contient une valeur d’option qui correspond à une table dans le système. Réservé exclusivement à un usage interne. |
Catégorisation | MultiSelectPicklistType MultiSelectPicklistAttributeMetadata |
Oui Groupe d’options de sélection multiple |
Contient plusieurs valeurs d’options sélectionnées où il est possible de sélectionner plusieurs valeurs. Pour plus d’informations : Option Colonnes de choix |
Catégorisation | PicklistType PicklistAttributeMetadata |
Oui Groupe d’options |
Contient la valeur sélectionnée où une option peut être sélectionnée. Pour plus d’informations : Choix |
Catégorisation | StateType StateAttributeMetadata |
Non | Contient la valeur d’option qui décrit le statut d’un enregistrement de table. Pour plus d’informations : Choix |
Catégorisation | StatusType StatusAttributeMetadata |
Non | Contient la valeur d’option qui décrit le statut d’un enregistrement de table. Pour plus d’informations : Choix |
Collection | CalendarRulesType |
Non | Contient un ensemble d’enregistrements de table CalendarRules .Aucune colonne n’utilise ce type. Lorsque vous générez un proxy, l’outil de génération de code crée deux colonnes simulées, qui ne sont pas présents dans la définition. Ces colonnes représentent une vue des enregistrements des règles du calendrier associée à une relation un-à-plusieurs à l’enregistrement de table. |
Collection | PartyListType |
Non | Contient un ensemble d’enregistrements de table ActivityParty .Pour plus d’informations : Table ActivityParty |
Date et heure | DateTimeType DateTimeAttributeMetadata |
Oui Date et heure |
Contient une valeur de date et d’heure. Toutes les colonnes de date et d’heure prennent en charge toutes les valeurs à partir du 01/01/1753 minuit. |
File | FileType FileAttributeMetadata |
Oui Fichier |
Contient les données pour prendre en charge l’extraction des données binaires d’image pour un enregistrement de table. Pour plus d’informations : Utiliser les définitions de colonne de fichier avec du code |
Image | ImageType ImageAttributeMetadata |
Oui Image |
Contient les données pour prendre en charge l’extraction des données d’image pour un enregistrement de table. Pour plus d’informations : Images d’entité |
Propriété gérée | ManagedPropertyType ManagedPropertyAttributeMetadata |
Non | Contient les données qui décrivent si le composant de solution stocké dans l’enregistrement de table peut être personnalisé une fois inclus dans une solution gérée. Pour plus d’informations : Propriétés gérées |
Quantité | BigIntType BigIntAttributeMetadata |
Oui | Contient une valeur BigInt . |
Quantité | DecimalType DecimalAttributeMetadata |
Oui Nombre décimal |
Contient une valeur Decimal . La propriété Precision définit le niveau de la précision. |
Quantité | DoubleType DoubleAttributeMetadata |
Oui Nombre à virgule flottante |
Contient une valeur Double . La propriété Precision définit le niveau de la précision. |
Quantité | IntegerType IntegerAttributeMetadata |
Oui Nombre entier |
Contient une valeur Int |
Quantité | MoneyType MoneyAttributeMetadata |
Oui Devise |
Contient une valeur Decimal . La propriété PrecisionSource détermine le lieu où le niveau de la précision est défini.0 : La propriété Precision 1 : La colonne Organization.PricingDecimalPrecision 2 : La colonne TransactionCurrency.CurrencyPrecision de l’enregistrement de la table |
Référence | CustomerType LookupAttributeMetadata |
Oui Client |
Contient une référence à un enregistrement de la table de contact ou de compte. |
Référence | LookupType LookupAttributeMetadata |
Oui Recherche |
Contient une référence à un enregistrement de table. Les noms logiques des enregistrements valides sont généralement stockés dans la propriété Targets de la colonne. |
Référence | OwnerType LookupAttributeMetadata |
Non | Contient une référence à un enregistrement de la table d’utilisateur ou d’équipe. |
String | MemoType MemoAttributeMetadata |
Oui Plusieurs lignes de texte |
Contient une valeur de chaîne destinée à être affichée dans une zone de texte avec plusieurs lignes. |
String | StringType StringAttributeMetadata |
Oui Une seule ligne de texte |
Contient une valeur de chaîne destinée à être affichée dans une zone de texte avec une seule ligne. |
Identificateur unique | UniqueidentifierType UniqueIdentifierAttributeMetadata |
Non | Contient une valeur d’identificateur GUID. |
Virtual | VirtualType |
Non | Ces colonnes ne peuvent pas être utilisées dans le code et peuvent généralement être ignorées. |
Opérations prises en charge et utilisation de formulaire pour les colonnes
Chaque colonne comprend des propriétés booléennes qui décrivent les types d’opérations auxquels il peut participer et comment il peut être dans un formulaire.
Property | Description |
---|---|
IsRequiredForForm |
Indique si la colonne doit être incluse dans un formulaire |
IsValidForCreate |
Si la valeur de colonne peut être définie dans une opération de création |
IsValidForForm |
Si la colonne peut être incluse comme colonne dans un formulaire |
IsValidForRead |
Si la valeur de colonne peut être récupérée |
IsValidForUpdate |
Si la valeur de colonne peut être définie dans une opération de mise à jour |
Si vous essayez de définir une valeur dans une opération de type créer ou mettre à jour pour une colonne qui n’est pas valide pour cette opération, la valeur est ignorée. Si vous essayez de récupérer une colonne qui n’est pas valide pour lecture, une valeur de type null est renvoyée.
Niveau de besoin en colonnes
La propriété RequiredLevel
est une propriété booléenne gérée qui décrit si une valeur de colonne est requise.
Cette propriété peut avoir les valeurs suivantes définies :
Nom | Value | Étiquette d’interface utilisateur | Description |
---|---|---|---|
None |
0 | Facultatif | Aucune exigence n’est spécifiée. |
SystemRequired |
1 | Système requis | Dataverse exige de la colonne une valeur. |
ApplicationRequired |
2 | Contrainte obligatoire | L’application exige que la colonne ait une valeur. |
Recommended |
3 | Contrainte recommandée | Il est recommandé que la colonne ait une valeur. |
Dataverse applique uniquement l’option SystemRequired
pour les colonnes créées par le système. Les colonnes personnalisés ne peuvent pas être définies pour utiliser l’option SystemRequired
. Dataverse ne renvoie pas d’erreur lorsqu’une colonne avec ApplicationRequired
appliqué n’a pas de valeur.
Les applications pilotées par modèle appliquent l’option ApplicationRequired
et utilisent une autre présentation pour l’option Recommended
. Les créateurs des clients personnalisés peuvent utiliser ces informations pour exiger des options de présentation ou de validation identiques.
Puisque RequiredLevel
est une propriété gérée, en tant qu’éditeur d’une solution gérée, vous pouvez décider si les consommateurs de votre solution sont en mesure de changer ces paramètres sur les colonnes de votre solution.
Pour plus d’informations : Propriétés gérées
Colonnes Formule, Cumulatives et Calculées
Les colonnes Formule, Cumulatives et Calculées sont essentielles, car elles dispensent l’utilisateur de devoir exécuter manuellement des calculs ; l’utilisateur peut ainsi se concentrer sur son travail. Les administrateurs systèmes peuvent définir une colonne pour contenir la valeur de la plupart des calculs courants sans avoir à collaborer avec un développeur. Les développeurs peuvent aussi utiliser les fonctionnalités de la plateforme pour effectuer ces calculs plutôt qu’au sein de leur propre code.
Pour plus d’informations :
- Définir des colonnes cumulatives qui agrègent des valeurs
- Définir des colonnes calculés pour automatiser les calculs
- Colonnes Formule, Cumulatives et Calculées
Format de colonne
Les valeurs de format de colonne contrôlent comment il s’affiche dans les applications basées sur un modèle. Le développeur d’applications personnalisées peut utiliser ces informations pour créer des expériences similaires.
Formats d’entier
Utilisez la propriété Format
avec des colonnes de type entier pour afficher des expériences utilisateur secondaires pour ce type.
Option | Description |
---|---|
None |
Affiche une zone de texte pour modifier une valeur numéraire |
Duration |
Affiche une liste déroulante qui contient des intervalles de temps. Un utilisateur peut sélectionner une valeur dans la liste ou taper une valeur entière qui représente le nombre de minutes. |
TimeZone |
Affiche une liste déroulante qui contient la liste des fuseaux horaires. |
Language |
Affiche une liste déroulante qui contient la liste des langues qui ont été activées pour l’organisation. Si aucune autre langue n’a été activée, la langue de base est la seule option. La valeur enregistrée est la valeur LCID pour la langue. |
Formats de chaîne
Utilisez la propriété FormatName
avec des colonnes de chaîne pour définir les valeurs de la classe StringFormatName pour contrôler la façon dont la colonne de chaîne est formaté.
Nom | Description |
---|---|
Email |
La colonne de formulaire valide la valeur de texte comme adresse e-mail et crée un lien de messagerie dans la colonne. |
PhoneNumber |
La colonne de formulaire contient un lien pour lancer des appels téléphoniques via Skype. |
PhoneticGuide |
Réservé exclusivement à un usage interne. |
Text |
Le formulaire affiche une zone de texte. |
TextArea |
Le formulaire affiche une colonne de zone de texte. |
TickerSymbol |
Le formulaire affiche un lien qui s’ouvre pour afficher un devis pour le symbole boursier. |
URL |
Le formulaire affiche un lien pour ouvrir l’URL. |
VersionNumber |
Réservé exclusivement à un usage interne. |
Formats date et heure
La propriété DateTimeBehavior
contrôle le comportement des colonnes date et heure.
Il existe trois options :
Option | Brève description |
---|---|
UserLocal |
Stocke la valeur de date et d’heure comme valeur UTC dans le système. |
DateOnly |
Stocke dans le système la valeur de date finale avec la valeur d’heure, par exemple, minuit (00:00:00). |
TimeZoneIndependent |
Stocke les valeurs de date et d’heure réelles dans le système quel que soit le fuseau horaire de l’utilisateur. |
L’utilisation de la propriété Format
permet de contrôler comment la valeur va s’afficher dans une application basée sur un modèle, peu importe le DateTimeBehavior
.
Option | Description |
---|---|
DateAndTime | Affiche la date et l’heure |
DateOnly | N’affiche que la date. |
Pour plus d’informations : Comportement et format de la colonne de date et d’heure
Colonnes de numérotation automatique
Vous pouvez ajouter une colonne de numérotation automatique pour n’importe quelle table. Pour le moment, vous pouvez ajouter la colonne par programme. Il n’existe aucune interface utilisateur pour ajouter ce type de colonne. Pour plus d’informations : Créer des colonnes numérotation automatique
Option
Ces colonnes qui affichent un ensemble d’options peuvent faire référence à un ensemble d’options définies par la colonne ou peuvent faire référence à un ensemble d’options distinct qui peuvent être partagées par une ou plusieurs colonnes. Cela est utile lorsque les valeurs dans une colonne s’appliquent également à d’autres colonnes. En référençant un ensemble d’options commun, les options peuvent être conservées dans un seul et même emplacement. Ces choix qui peuvent être partagés sont un choix global. Ceux définis dans la colonne un choix local.
Extraire les données d’options
Le SDK pour .NET propose des classes de demande que vous pouvez utiliser pour extraire les options utilisées par une colonne.
Utiliser le SDK pour .NET pour récupérer les options
Chacune des colonnes avec des options proviennent de EnumAttributeMetadata et inclut une propriété OptionSet. Cette propriété contient l’OptionSetMetadata qui inclut des options dans la propriété Options.
Avec le SDK pour .NET, vous pouvez utiliser les classes de requête suivantes pour récupérer des informations sur l’option :
Classe de demande | Description |
---|---|
RetrieveAllOptionSetsRequest | Récupère des données sur les options de type global |
RetrieveAttributeRequest | Récupère des données sur une colonne, y compris n’importe quel choix |
RetrieveMetadataChangesRequest | Récupère les métadonnées selon une requête qui peut inclure un choix Pour plus d’informations : Interroger les définitions de schéma |
RetrieveOptionSetRequest | Récupère des données sur les options de type global. |
Pour plus d’informations :
- Présentation de la création et de la modification d’un choix global
- Exemple : Vider les informations de choix/liste de sélection dans un fichier
- Personnaliser les options
Utilisez l’API web pour récupérer les valeurs d’option
L’API web propose un style RESTful permettant d’interroger les valeurs des options. Vous pouvez récupérer le choix local ou global en récupérant la colonne dans une table. L’exemple suivant renvoie OptionSetMetadata pour les choix inclus dans Account.AccountCategoryCode.
GET <organization url>/api/data/v9.2/EntityDefinitions(LogicalName='account')/Attributes(LogicalName='accountcategorycode')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet
Avec l’API web, vous pouvez également utiliser la fonction RetrieveMetadataChanges.
Pour plus d’informations : Interroger les définitions de table à l’aide de l’API web > récupération des attributs
Mappage de colonne
Quand vous créez un enregistrement de table dans le contexte d’un enregistrement de table existant, vous pouvez transférer automatiquement certaines valeurs depuis l’enregistrement de table existant en tant que valeurs par défaut pour le nouvel enregistrement de table. Cela rationalise l’entrée des données pour les individus utilisant les applications basées sur un modèle. Les utilisateurs d’application voient les valeurs mappées et peuvent les modifier avant d’enregistrer l’entité.
Pour les développeurs créant des clients personnalisés, le même comportement peut être obtenu en utilisant le message InitializeFrom
(kit de développement logiciel (SDK) classe InitializeFromRequest du service d’organisation ou la fonction InitializeFrom) de l’API web pour obtenir les données d’entité avec les valeurs définies par défaut.
Pour plus d’informations :
Colonnes logiques
Les colonnes logiques contiennent des valeurs stockées dans des tables de base de données différentes de celles des autres colonnes de la table. Dans la plupart des cas, cette implémentation interne n’est d’aucune utilité dans l’utilisation de Dataverse. Lorsque vous utilisez des colonnes logiques comme source pour un champ calculé, les valeurs de ce champ calculé ne peuvent pas être triées. Utilisez la propriété AttributeMetadata.IsLogical pour détecter si un attribut est un attribut logique.
Voir aussi
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).