Partager via


Comportement des relations d’entité

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Lorsqu’une relation d’entité un-à-plusieurs existe, des comportements en cascade peuvent être configurés pour préserver l’intégrité des données et automatiser les processus d’entreprise. Cette rubrique vise à expliquer certains concepts clés et à décrire la façon de configurer ces comportements en cascade.

Avant d’expliquer comment configurer les comportements d’une relation d’entité, il est utile de prendre en compte la façon dont cela s’applique à votre entreprise. Voici les trois concepts clés :

  • Préserver l’intégrité des données

  • Automatiser les processus d’entreprise

  • Comportement en cascade

Contenu de la rubrique

Préserver l’intégrité des données

Automatiser les processus d’entreprise

Comportement en cascade

Configuration du comportement de relation d’entité

Préserver l’intégrité des données

Chaque entité peut posséder des règles qui définissent un enregistrement valide. Par exemple, un enregistrement d’opportunité Microsoft Dynamics 365 doit inclure une référence à un client potentiel. Les utilisateurs ne peuvent pas créer d’enregistrement d’opportunité sans ajouter de client existant ou sans créer d’enregistrement de client.

Mais que se passe-t-il si le compte ou le contact qui représente le client est supprimé ? Dans ce cas, il est possible de :

  • limiter toute tentative de suppression d’un enregistrement de client ayant une opportunité associée ;

  • mettre en cascade l’action de suppression lorsqu’un enregistrement de client correspondant est supprimé, afin que tous les enregistrements d’opportunité associés soient automatiquement supprimés.

Dans Microsoft Dynamics 365, pour les relations un-à-plusieurs qui associent les opportunités à des clients, tel que Opportunity.opportunity_customer_accounts et Contact.opportunity_customer_contacts, le comportement consiste à mettre en cascade l’action de suppression.

Lorsque vous organisez vos données afin de les utiliser dans Microsoft Dynamics 365, vous devez également décider de la façon dont vous souhaitez préserver leur intégrité.

Automatiser les processus d’entreprise

Vos processus d’entreprise peuvent vous obliger à effectuer des actions sur les enregistrements qui possèdent des enregistrements liés. Par exemple, vous devrez peut-être attribuer un compte à un nouveau vendeur. Si cet enregistrement de compte possède des enregistrements d’opportunité, vous pouvez agir de différentes façons :

  • Ne rien faire. Les opportunités doivent continuer à appartenir aux personnes qui les traitent.

  • Attribuer toutes les opportunités au nouveau vendeur. En tant que nouveau propriétaire de cet enregistrement de compte, le vendeur est désormais responsable de toutes les opportunités associées à ce compte.

  • Attribuer uniquement les opportunités actives au nouveau vendeur. Le propriétaire conserve les enregistrements d’opportunité inactifs, à des fins de reporting.

  • Attribuer uniquement les opportunités détenues par l’ancien propriétaire du compte au nouveau vendeur. Cela permet au nouveau vendeur de remplacer l’ancien propriétaire.

Il s’agit des options courantes que vous pouvez configurer à l’aide du comportement de relation d’entité dans Microsoft Dynamics 365. Si vous avez besoin de différents comportements, envisagez d’acheter une solution contenant le comportement dont vous avez besoin ou de développer un plug-in pour obtenir des options supplémentaires.

Comportement en cascade

Ces options de configuration sont appelées « comportements en cascade », car elles mettent en cascade vers la hiérarchie des entités associées. Par exemple, si la suppression d’un compte entraîne la suppression des opportunités associées, qu’en est-il des activités associées aux opportunités ? Dans Microsoft Dynamics 365, le comportement défini dans chaque relation d’entité pour les entités de type d’activité indique qu’elles sont également supprimées.

Toutefois, toutes les entités ne sont pas traitées de cette façon. Par exemple, les commandes et les factures contiennent des données commerciales importantes qui ne doivent pas être supprimées par inadvertance. Le comportement de relation d’entité est configuré pour limiter la suppression des enregistrements de client ou d’opportunité auxquels elles sont associées. Avant de pouvoir supprimer un client ou une opportunité possédant un enregistrement de commande ou de facture associé, vous devez d’abord supprimer la commande ou la facture.

Lorsque vous organisez vos données commerciales en créant des entités personnalisées ou que vous utilisez des entités système Microsoft Dynamics 365 existantes, réfléchissez au comportement dont vous avez besoin et aux implications pour l’ensemble de la hiérarchie des entités associées.

Relations d’entité parentales

Chaque paire d’entités qui sont éligibles à une relation 1 à N peuvent avoir plusieurs relations 1 à N entre elles. Cependant, une seule de ces relations peut être considérée comme une relation d’entité parentale. Voir TechNet : Relations d'entités parentales personnalisables pour obtenir une liste de toutes les relations d'entité parentales personnalisables.

Une relation d’entité parentale est une relation d’entité 1 à N dans laquelle l’une des options de mise en cascade (définies dans CascadeType) de la colonne Parental du tableau suivant est true.

Pour

Parental

Non parental

Supprimer

Cascade

RemoveLink
Restrict

Partager

Cascade
UserOwned
Active

NoCascade

Annuler le partage

Cascade
UserOwned
Active

NoCascade

Attribuer

Cascade
UserOwned
Active

NoCascade

Redéf. parenté

Cascade
UserOwned
Active

NoCascade

Chaque entité de référencement dans une relation 1 à N a un attribut de référencement dans lequel la relation peut être considérée comme parentale.

Par exemple, si vous créez une entité personnalisée et si vous ajoutez une relation d’entité 1 à N à l’entité Compte dans laquelle votre entité personnalisée est l’entité de référencement, vous pouvez configurer les actions afin que cette relation d’entité utilise les options dans la colonne Parental. Si vous ajoutez ensuite une autre relation d’entité 1 à N à votre entité personnalisée en tant qu’entité de référencement, vous pouvez uniquement configurer les actions pour qu’elles utilisent les options de la colonne Non parental.

Généralement, cela signifie que pour chaque paire d’entités, il n’existe qu’une relation parentale. Dans certains cas, l’attribut de référencement sur le référencement peut inclure une référence à plusieurs types d’entité.

Par exemple, l’entité Opportunity contient un attribut de référencement appelé customerid dans lequel une référence à un contact ou à un enregistrement de compte peut être enregistrée. Dans ce cas, il existe deux relations d’entités 1 à N parentales distinctes.

Une entité d’activité, par exemple une tâche, une télécopie, un appel téléphonique, etc., possède un ensemble de relations d’entité parentales similaire pour les entités pouvant être associées à l’aide de l’attribut de référencement regardingobjectid.

Configuration du comportement de relation d’entité

Lorsque vous utilisez CreateOneToManyRequest ou UpdateRelationshipRequest, vous incluez une instance d’une classe OneToManyRelationshipMetadata dans le corps de la requête. Dans la propriété CascadeConfiguration de cette classe, vous utilisez la classe CascadeConfiguration.

La classe CascadeConfiguration contient les propriétés qui représentent les actions qui peuvent être effectuées sur l’entité référencée dans la relation d’entité un-à-plusieurs. Une des valeurs de l’énumération CascadeType peut être attribuée à chaque propriété.

Valeur

Étiquette de l’application

Description

Actif

Cascade active

Effectuer l’action sur tous les enregistrements d’entité de référencement actifs associés à l’enregistrement d’entité référencé.

Cascade

Tout en cascade

Effectuer l’action sur tous les enregistrements d’entité de référencement associés à l’enregistrement d’entité référencé.

NoCascade

Sans mise en cascade

Ne rien faire.

RemoveLink

Supprimer le lien

Supprimer la valeur de l’attribut de référencement pour tous les enregistrements d’entité de référencement associés à l’enregistrement d’entité référencé.

Restreindre

Restreindre

Empêcher la suppression de l’enregistrement d’entité référencé en présence d’entités de référencement associées.

UserOwned

Cascade propriétaire

Effectuer l’action sur tous les enregistrements d’entités de référencement détenus par le même utilisateur que l’enregistrement d’entité référencé.

La classe CascadeConfiguration contient les propriétés suivantes qui représentent les actions qui peuvent être effectuées sur l’entité référencée dans des relations d’entité un-à-plusieurs.

Pour

Description

Options valides

Assign

Le propriétaire de l’enregistrement d’entité référencé est modifié.

Active
Cascade
NoCascade
UserOwned

Delete

L’enregistrement d’entité référencé est supprimé.

Notes

Les options de cette action sont limitées.

Cascade
RemoveLink
Restrict

Merge

L’enregistrement est fusionné avec un autre enregistrement.

Notes

Pour les entités référencées qui peuvent être fusionnées, Cascade est la seule option valide. Dans les autres cas, utilisez NoCascade.

Cascade
NoCascade

Reparent

Voir À propos de l'action Redéfinir la parenté ci-dessous.

Active
Cascade
NoCascade
UserOwned

Share

Lorsque l’enregistrement d’entité référencé est partagé avec un autre utilisateur.

Active
Cascade
NoCascade
UserOwned

Unshare

Lorsque le partage est supprimé pour l’enregistrement d’entité référencé.

Active
Cascade
NoCascade
UserOwned

À propos de l'action Redéfinir la parenté

L’action Redéfinir la parenté est très similaire à l’action de partage, à ceci près qu’elle traite des droits d’accès en lecture hérités au lieu des droits d’accès en lecture explicites.

L’action Redéfinir la parenté est l’action effectuée lorsque vous modifiez la valeur de l’attribut de référencement dans une relation parentale. Lorsqu’une action Redéfinir la parenté a lieu, l’étendue souhaitée des droits d’accès hérités en lecture pour les entités associées peut changer. Les actions de mise en cascade associées à l’action Redéfinir la parenté correspondent aux modifications des droits d’accès en lecture pour l’enregistrement d’entité et tous les enregistrements d’entités associés à cet enregistrement. Pour plus d’informations sur la façon de configurer une relation d’entité pour qu’elle soit parentale, voir Relations d’entité parentales.

Par exemple, il existe une relation parentale entre Opportunité et Compte en fonction de l’attribut de référencement CustomerId. Si vous êtes propriétaire d’un compte et qu’il existe une opportunité associée à ce compte, vous héritez des droits d’accès en lecture à cette opportunité et à tous les enregistrements qui y sont associés. Si la valeur de l’attribut de référencement CustomerId de l’opportunité est modifié pour faire référence à un compte différent, le propriétaire de ce compte hérite des droits d’accès en lecture à l’opportunité si la valeur de l’action Redéfinir la parenté est Cascade. Vous pouvez désactiver cet héritage automatique des droits d’accès en lecture si vous définissez l’action Redéfinir la parenté sur NoCascade. Vous pouvez utiliser les options Active ou UserOwned pour spécifier les filtres qui affecteront les enregistrements lorsque les droits d’accès sont modifiés. Pour tous les enregistrements associés à l’opportunité à l’aide d’une relation parentale, l’action Redéfinir la parenté met en cascade ces relations d’entité et les droits d’accès en lecture sont hérités en fonction des filtres définis pour l’action Redéfinir la parenté.

Voir aussi

Relations 1 à N (un-à-plusieurs)
Utiliser le service d'organisation avec des métadonnées Dynamics 365
Personnaliser les métadonnées d’entité
Personnaliser les métadonnées d’attribut d’entité
Personnaliser des métadonnées de relation d’entité
Personnaliser les mappages d’entités et d’attributs
Personnaliser les étiquettes pour prendre en charge plusieurs langues
Comment la sécurité basée sur les enregistrements peut-elle être utilisée pour accéder aux enregistrements dans Microsoft Dynamics 365
Exemple : créer et récupérer des entités-relations

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright