Partager via


Personnaliser les mappages d’entités et d’attributs

Vous pouvez mapper des attributs entre les entités avec une entité-relation. Vous pouvez ainsi définir des valeurs par défaut pour un enregistrement créé dans le contexte d’un autre enregistrement. Utilisez les outils de personnalisation dans l’application de mapper des attributs. Voir Création et modification de relations d’entité : mappage de champs d’entités.

Comportement dans l’application

Le mappage dans Dynamics 365 Customer Engagement (on-premises) rationalise l’entrée de données lors de la création d’enregistrements associés à un autre enregistrement. Lorsqu’une entité a une entité-relation avec une autre entité, vous pouvez créer les enregistrements d’entités associés dans l’onglet Créer des associations dans le Ruban. Lorsque vous créez un enregistrement de cette manière, les données mappées à partir de l’enregistrement de l’entité principale sont copiées dans le formulaire du nouvel enregistrement d’entité associée. En mappant les attributs d’entités, vous pouvez contrôler les données copiées en ajoutant des mappages dans la relation entre les deux entités. Si vous créez un enregistrement autrement qu’à partir de la vue associée de l’entité principale, les données ne sont pas mappées.

Par exemple, vous pouvez définir un mappage entre les champs d’adresse dans les comptes et les champs d’adresse dans les contacts. Avec ce mappage, lorsqu’un utilisateur ajoute un contact associé à un compte spécifique, les champs d’adresse du contact sont remplis automatiquement.

Vous pouvez mapper un attribut à plusieurs attributs cibles. Par exemple, vous pouvez mapper des informations d’adresse dans un compte aux adresses de facturation et de livraison dans une commande.

Le mappage est appliqué avant qu’un autre enregistrement associé soit créé. Les utilisateurs peuvent apporter des modifications avant d’enregistrer l’enregistrement. Les modifications ultérieures apportées aux données de l’enregistrement principal ne sont pas appliquées à l’enregistrement associé.

Utilisation des données de mappage d’entités et d’attributs

Utilisation de l’API Web

Lorsque vous utilisez l’API web, vous pouvez utiliser fonction InitializeFrom pour créer des enregistrements dans le contexte d’enregistrements existants où un mappage existe entre les entités.

La réponse reçue de la demande InitializeFrom comprend les valeurs des attributs mappés entre l’entité source et l’entité cible et le GUID de l’enregistrement parent. Le mappage d’attribut entre des entités partageant une relation d’entité est différent pour chaque ensemble d’entités et est personnalisable. La réponse de la demande de fonction InitializeFrom peut donc varier pour différentes entités et organisations. Lorsque cette réponse est transmise dans le corps de la demande de création du nouvel enregistrement, ces valeurs d’attribut sont répliquées dans le nouvel enregistrement. Les valeurs des attributs mappés personnalisés sont également définies dans le nouvel enregistrement pendant le processus.

Note

Pour déterminer si deux entités peuvent être mappées, utilisez la demande suivante de l’API web :
GET [Organization URI]/api/data/v9.1/entitymaps?$select=sourceentityname,targetentityname&$orderby=sourceentityname

Pour plus d’informations, voir Créer une entité à partir d’une autre entité.

Utilisation du service d’organisation

Lors de la création d’enregistrements dans le contexte d’un enregistrement existant où un mappage existe entre les entités, vous pouvez utiliser le message InitializeFromRequest pour définir un nouvel enregistrement contenant les valeurs définies dans le mappage. Vous pouvez ensuite utiliser IOrganizationService. Méthode Create pour enregistrer l’enregistrement. De cette manière, tous les mappages que vous définissez sont appliqués.

Les mappages d’entités valides sont créés lorsqu’une entité-relation est créée. Utilisez les entités-relations entity_map_attribute_maps pour extraire les mappages d’attributs pour la paire d’entités spécifiée par le mappage d’entités.
Vous pouvez créer ou mettre à jour des enregistrements de mappage d’attributs. La configuration requise suivante doit être respectée pour les mappages d’attributs :

  • Le type AttributeMetadata doit correspondre.
  • La longueur du champ cible ne peut pas être plus inférieure au champ source.
  • Le format doit correspondre.
  • Le champ cible ne doit pas être utilisé dans un autre mappage.
  • Le champ source doit être visible sur le formulaire d’entité.
  • Le champ cible doit être un champ dans lequel un utilisateur peut entrer des données.
  • Il est impossible de mapper des valeurs d’ID d’adresse.
  • Attributs PartyList, où AttributeMetadata .AttributeType est AttributeTypeCode.PartyList ne peut pas être mappé.

Mappage automatique d’attributs entre entités

Vous pouvez modifier les mappages d’attributs entre les entités pour les entités-relations qui prennent en charge le mappage.

Outre la création de chaque mappage d’attributs, vous pouvez utiliser le message AutoMapEntity (classe AutoMapEntity Action ou AutoMapEntityRequest) pour générer un nouveau jeu de mappages d’attributs. Ce message exécute l’action sous l’option de menu Générer des mappages dans le menu Autres actions dans la barre d’outils. Ce message mappe tous les attributs entre les deux entités associées où les noms et les types d’attribut sont identiques. Ce message est fourni pour améliorer la productivité afin que vous ne deviez pas avoir à ajouter manuellement tous les mappages d’attributs. Par contre, vous pouvez générer un ensemble de mappages probables et réduire la quantité de travail manuel pour ajouter ou supprimer des mappages individuels pour répondre à vos besoins.

Note

La génération automatique des mappages de cette manière supprime tous les mappages d’attributs précédemment définis et peut inclure des mappages que vous ne souhaitez pas créer.

Récupérer l’entité et attribuer des mappages

Un moyen simple d’afficher les mappages créés consiste à utiliser la requête FetchXML suivante. Pour plus d’informations sur l’exécution de cette requête, voir Utiliser FetchXML pour construire une requête.


<fetch version='1.0' mapping='logical' distinct='false'>
   <entity name='entitymap'>
      <attribute name='sourceentityname'/>
      <attribute name='targetentityname'/>
      <link-entity name='attributemap' alias='attributemap' to='entitymapid' from='entitymapid' link-type='inner'>
         <attribute name='sourceattributename'/>
         <attribute name='targetattributename'/>
      </link-entity>
   </entity>
 </fetch>

Voir aussi

Étendre le modèle de métadonnées pour Dynamics 365 Customer Engagement (on-premises)
Création et modification de relations d’entité : mappage de champs d’entités