Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez faire correspondre des colonnes entre des tables liées par une 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 pour mapper des tables ; voir Colonnes mappées.
Comportement dans l’application
Le mappage dans Microsoft Dataverse simplifie l’entrée de données lorsque vous créez de nouveaux enregistrements associés à un autre enregistrement. Lorsqu’une table a une relation avec une autre table, vous pouvez créer de nouveaux enregistrements associés à l’aide de l’onglet Créer un élément associé dans le ruban. Lorsque vous créez un enregistrement de cette façon, les données mappées à partir de l’enregistrement principal sont copiées dans le formulaire pour le nouvel enregistrement associé. En mappant des colonnes de table, vous contrôlez les données copiées en ajoutant de nouveaux mappages dans la relation entre les deux tables. Si vous créez un enregistrement d’une manière autre que celle de la vue associée de la table primaire, les données ne sont pas mappées.
Par exemple, vous pouvez configurer un mappage entre les colonnes d’adresses dans les comptes et les colonnes d’adresses dans les contacts. Avec ce mappage, lorsqu’un utilisateur ajoute un contact associé à un compte spécifique, les colonnes d’adresse du contact sont renseignées automatiquement.
Vous pouvez mapper une colonne à plusieurs colonnes 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 de table et de colonne
Utilisation de l’API Web
Lorsque vous utilisez l’API web, vous pouvez utiliser InitializeFrom Function pour créer de nouveaux enregistrements dans le contexte d’enregistrements existants où un mappage existe entre les tables.
La réponse reçue de la requête InitializeFrom se compose de valeurs de colonnes mappées entre la table source et la table cible et le GUID de l’enregistrement parent. Le mappage de colonnes entre les tables qui ont une relation est différent pour différents ensembles de tables et est personnalisable, de sorte que la réponse de la demande de fonction InitializeFrom peut varier pour différentes tables et organisations. Lorsque cette réponse est passée dans le corps de la demande de création du nouvel enregistrement, ces valeurs de colonne sont répliquées dans le nouvel enregistrement. Les valeurs des colonnes mappées personnalisées sont également définies dans le nouvel enregistrement pendant le processus.
Note
Pour déterminer si deux tables peuvent être mappées, utilisez la demande d’API web suivante :GET [Organization URI]/api/data/v9.0/entitymaps?$select=sourceentityname,targetentityname&$orderby=sourceentityname
Pour plus d’informations, consultez Créer un enregistrement à partir d’un autre enregistrement.
Utilisation du Kit de développement logiciel (SDK) pour .NET
Lors de la création d’enregistrements dans le contexte d’un enregistrement existant où un mappage existe entre les tables, vous pouvez utiliser le InitializeFromRequest message pour définir un nouvel enregistrement qui contient les valeurs spécifiées dans le mappage. Vous pouvez ensuite utiliser IOrganizationService. Méthode Create pour enregistrer l’enregistrement. De cette façon, tous les mappages que vous définissez sont appliqués.
Les cartes de tables valides sont créées lors de la création d’une relation. Utilisez la entity_map_attribute_maps relation pour récupérer les mappages de colonnes pour la paire de tables spécifiée par la carte de tables.
Vous pouvez créer ou mettre à jour des enregistrements de carte de colonnes. Les conditions suivantes doivent être remplies pour les mappages de colonnes :
- Le type AttributeMetadata doit correspondre.
- La longueur de la colonne cible ne peut pas être plus courte que la colonne source.
- Le format doit correspondre.
- La colonne cible ne doit pas être utilisée dans un autre mappage.
- La colonne source doit être visible sur le formulaire.
- La colonne 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.
- Colonnes PartyList, où AttributeMetadata.AttributeType est AttributeTypeCode. PartyList ne peut pas être mappé.
Mappage automatique des colonnes entre tables
Vous pouvez modifier les mappages de colonnes entre la table pour les relations qui prennent en charge le mappage.
En plus de créer manuellement chaque mappage de colonnes, vous pouvez utiliser le AutoMapEntity message (AutoMapEntity Action ou AutoMapEntityRequest classe) pour générer un nouvel ensemble de mappages de colonnes. Ce message effectue l’action trouvée sous l’option de menu Générer des mappages dans le menu Autres actions de la barre d’outils (voir Générer automatiquement des mappages de colonnes). Ce message mappe toutes les colonnes entre les deux tables associées où les noms et les types de colonnes sont identiques. Ce message est fourni en tant qu’amélioration de productivité afin que vous n’ayez pas à ajouter manuellement tous les mappages de colonnes. 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 de mappages de cette façon supprime les mappages de colonnes précédemment définis et peut inclure des mappages que vous ne souhaitez pas.
Récupérer les mappages de colonnes et de table
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, consultez Interroger des données à l’aide de FetchXml.
<fetch>
<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>