Personnaliser les métadonnées d’attribut d’entité

Utilisez AttributeMetadata (classe AttributeMetadata EntityType ou AttributeMetadata) pour récupérer les attributs existants. La classe AttributeMetadata est renvoyée par le message RetrieveAttributeRequest. La classe AttributeMetadata hérite de la classe MetadataBase abstraite (MetadataBase EntityType pour l’API web et MetadataBase en cas de service d’organisation).

Utilisez la requête suivante de l’API web pour récupérer les attributs d’entité dans le contexte d’une entité en développant la propriété de navigation avec une valeur de collection Attributes. Pour plus d’informations, voir Requête portant sur les attributs EntityMetadata

GET [Organization URI]/api/data/v9.1/EntityDefinitions(70816501-edb9-4740-a16c-6a5efbc05d84)?$select=LogicalName&$expand=Attributes($select=LogicalName;$filter=AttributeType eq Microsoft.Dynamics.CRM.AttributeTypeCode'Picklist')

Utilisez la classe spécifique pour chaque type d’attribut avec le message CreateAttribute (pour le service d’organisation, voir CreateAttributeRequest) pour mettre à jour les attributs ou créer des attributs personnalisés.

Note

Vous pouvez accéder par programme aux attributs personnalisés après les avoir créés, mais vous devez les ajouter à un formulaire d’entité et les publier pour que les utilisateurs puissent les voir.

Types d’attributs

Le tableau suivant répertorie chaque type de Attribute que vous pouvez utiliser. Chaque attribut hérite de AttributeMetadata.

Classe Étiquette de l’application Description
BooleanAttributeMetadata Deux options Attribut booléen. Vous pouvez spécifier le texte pour les deux options. Une fois ajoutées à un formulaire, les propriété du champ contrôlent si l’attribut s’affiche sous la forme de deux cases d’option, d’une case à cocher ou d’une liste.
DateTimeAttributeMetadata Date et heure Attribut de date et heure. Vous pouvez spécifier le comportement permettant de stocker les valeurs de date et d’heure avec ou sans fuseau horaire, ainsi que le format permettant de définir le format d’affichage des valeurs. Pour plus d’informations : Comportement et format de l’attribut Date et heure Remarque : si vous utilisez Dynamics 365 Customer Engagement (on-premises) ou Dynamics CRM 2016 (on-premises), tous les attributs de date et d’heure prennent en charge les valeurs à partir du 1/1/1753 minuit.
DecimalAttributeMetadata Nombre décimal Attribut décimal. Vous pouvez spécifier le niveau de précision jusqu’à dix chiffres et les valeurs minimum et maximum de -100 000 000 000 à 100 000 000 000.
DoubleAttributeMetadata Nombre à virgule flottante Attribut double. Vous pouvez spécifier le niveau de précision jusqu’à cinq chiffres et les valeurs minimum et maximum de -100 000 000 000 à 100 000 000 000. Remarque :DoubleAttributeMetadata remplace FloatAttributeMetadata utilisé dans Dynamics CRM 4.0.
ImageAttributeMetadata Image Attribut d’image. Chaque entité peut comporter un attribut d’image. Certaines entités système possèdent des attributs d’image. De nouveaux attributs d’image ne peuvent pas être ajoutés aux entités système qui n’en possèdent pas. Vous pouvez ajouter un attribut d’image à des entités personnalisées

Tous les attributs d’image possèdent « EntityImage » SchemaName et « entityimage » LogicalName. Les attributs d’image n’utilisent pas le préfixe de personnalisation de l’éditeur de solutions dans le nom. Pour plus d’informations : Images d’entité
IntegerAttributeMetadata Nombre entier Attribut de nombre entier. Vous pouvez spécifier les valeurs maximales et minimales entre -2 147 483 648 et 2 147 483 647.

Cet attribut peut être formaté pour créer les types de champs suivants à l’aide de l’IntegerFormaténumération (IntegerFormat EnumType ou IntegerFormat énumération) :

- Durée : 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.
- Langue : 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.
LookupAttributeMetadata Recherche Attribut créé lorsqu’une relation d’entité est créée à l’aide du message CreateOneToMany (pour le service d’organisation, voir le message CreateOneToManyRequest).
MemoAttributeMetadata Plusieurs lignes de texte Attribut de mémo. S’affiche sous forme de champ de zone de texte dans un formulaire. La longueur maximale est de 1 048 576 caractères.
MoneyAttributeMetadata Devise Attribut de devise. Vous pouvez spécifier les valeurs maximales et minimales entre - 922 337 203 685 477 et 922 337 203 685 477.

Le niveau de précision peut être défini à l’aide de la propriété MoneyAttributeMetadata.PrecisionSource :

- Lorsque la précision est définie sur zéro (0), la valeur MoneyAttributeMetadata.Precision est utilisée.
- Lorsque la précision est définie sur un (1), la valeur Organization.PricingDecimalPrecision est utilisée.
- Lorsque la précision est définie sur deux (2), la valeur TransactionCurrency.CurrencyPrecision est utilisée.
MultiSelectPicklistAttributeMetadata Groupe d’options de sélection multiple Attribut de liste à sélection multiple. Les attributs de liste à sélection multiple ont été ajoutés dans Dynamics 365 Customer Engagement (on-premises) version 9. Cet attribut propose un ensemble d’options affichées dans une liste déroulante. Plusieurs options peuvent être sélectionnées. Vous pouvez créer cet attribut afin qu’il puisse contenir ses propres options ou utiliser un groupe d’options globales.
PicklistAttributeMetadata Groupe d’options Attribut de liste de choix. Cet attribut propose un ensemble d’options affichées dans une liste déroulante. Vous pouvez créer l’attribut de liste déroulante afin qu’il puisse contenir ses propres options ou utiliser un groupe d’options globales.
StateAttributeMetadata Statut L’attribut d’état est créé automatiquement lorsque l’entité est créée. Remarque : les options disponibles pour cet attribut sont en lecture seule.
StatusAttributeMetadata Raison du statut L’attribut de statut est créé automatiquement lorsque l’entité est créée. Chacune des options doit être associée à l’attribut StateAttributeMetadata de l’entité. Utilisez le message InsertStatusValueRequest pour mettre à jour les options pour cet attribut. Remarque : chaque StatusOption doit référencer une valeur d’attribut d’état spécifique, car les valeurs de statut dépendent d’une valeur d’état spécifique.
StringAttributeMetadata Une seule ligne de texte Voir Formats StringAttributeMetadata.

Formats StringAttributeMetadata

Les attributs de chaîne peuvent être formatés pour autoriser des liens à lancer des appels téléphoniques via Lync ou Skype. Che changement exige qu’une nouvelle propriété FormatName (pour le service d’organisation, voir FormatName) soit ajoutée à StringAttributeMetadata (classe StringAttributeMetadata EntityType ou StringAttributeMetadata) et que la propriété Format soit dépréciée.

L’utilisation de l’énumération StringFormat (StringFormat EnumType ou StringFormat énumération) pour définir le format pour StringAttributeMetadata.Format(pour le service d’organisation, voir StringAttributeMetadata.Format) est déconseillée. Au lieu de cela, utilisez la classe StringFormatName pour définir la valeur de StringAttributeMetadata.FormatName.

Cela permet de définir la valeur de format de PhoneNumber, qui n’existe pas dans l’énumération StringFormat.

Pour la compatibilité descendante, vous pouvez définir une valeur pour contrôler la façon dont l’attribut est formaté en utilisant la propriété Format ou la propriété FormatName. Votre code existant continuera à fonctionner si vous utilisez uniquement Format, mais vous ne pourrez pas formater d’attribut sous forme de numéro de téléphone si vous n’utilisez pas FormatName. Si les deux propriétés sont définies, la valeur définie à l’aide de FormatName sera appliquée.

Le message StringFormatName (StringFormatName ComplexType ou classe StringFormatName) contient les membres suivants ; chaque membre renvoie une chaîne avec la même valeur que le nom du membre :

Nom et valeur du membre Description
Email Le champ de formulaire validera la valeur de texte comme adresse e-mail et créera un lien de messagerie dans le champ.
PhoneNumber Le champ de formulaire contiendra un lien pour lancer des appels téléphoniques via Skype.
PhoneticGuide Utilisation interne uniquement.
Text Le formulaire affichera une zone de texte.
TextArea Le formulaire affichera un champ de zone de texte.
TickerSymbol Le formulaire affichera un lien qui s’ouvrira pour afficher un devis pour le symbole boursier.
URL Le formulaire affichera un lien pour ouvrir l’URL.
VersionNumber Réservé exclusivement à un usage interne.

Voir aussi

Étendre le modèle de métadonnées pour Dynamics 365 Customer Engagement
Utiliser des attributs
Comportement et format de l’attribut Date et heure
Messages de métadonnées d’attribut d’entité
Exemple : utiliser les attributs
Exemple : vidage des métadonnées d’attribut dans un fichier
Exemple : vider les métadonnées de liste déroulante d’attributs dans un fichier
Exemple : Convertir le comportement de date et d’heure