Partager via


Présentation des entités dans Microsoft Dynamics 365

 

Date de publication : janvier 2017

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

Les entités permettent de modéliser et gérer les données commerciales dans Microsoft Dynamics 365. Par exemple, les entités telles que compte, campagne et incident peuvent servir à tracer et à soutenir les activités de vente, de marketing et de service. Une entité possède un ensemble d’attributs et chaque attribut représente un élément de données d’un type particulier. Par exemple, l’entité de compte possède les attributs Name, Address et OwnerId. Conceptuellement, une entité ressemble à une table de base de données et les attributs d’entité correspondent aux colonnes de la table. La création d'un enregistrement d'entité (ou, plus simplement, un enregistrement) dans Microsoft Dynamics 365 est semblable à l'ajout d'une ligne dans une table de base de données. Les entités sont divisées en trois catégories : système, entreprise et personnalisé. En tant que développeur utilisant des données commerciales, vous allez utiliser les entités commerciales et les entités personnalisées. Les entités système sont utilisées par Microsoft Dynamics 365 pour gérer tous les processus internes, tels que les workflows et les tâches asynchrones. Vous ne pouvez pas supprimer ou personnaliser les entités système.

Les entités métier font partie de l’installation par défaut de Microsoft Dynamics 365 et apparaissent dans l’interface utilisateur de personnalisation. Un compte, un contact et une lettre sont des exemples d’entités commerciales. Après l’installation, vous pouvez ajouter des entités personnalisées à Microsoft Dynamics 365 pour répondre aux besoins professionnels spécifiques de l’organisation. Dans une solutionMicrosoft Dynamics 365, vous pouvez définir des entités commerciales et des entités personnalisées, ainsi que des attributs, comme personnalisables ou non personnalisables. Vous pouvez modifier une entité personnalisable en la renommant, en ajoutant de nouveaux attributs ou en modifiant différents paramètres, tels que la détection des doublons ou les paramètres de prise en charge de la file d’attente. Vous ne pouvez pas modifier une entité non personnalisable. Pour plus d’informations sur la personnalisation, les solutions gérées et non gérées, et les propriétés gérées, consultez Empaqueter et distribuer les extensions à l’aide des solutions.

Si vous utilisez le modèle de programmation à liaison anticipée, une entité est représentée par une classe, telle que la classe Account qui représente l’entité compte. Les attributs d’entité sont représentés par des propriétés de classe. Cette classe est générée par l’outil CrmSvcUtil. Pour plus d'informations, voir Utiliser les classes d’entité à liaison anticipée dans le code. Autre solution, vous pouvez écrire les programmes qui fonctionnent avec les données d’entité à l’aide d’une approche dynamique. Pour plus d'informations, voir Utiliser la classe d’entité à liaison tardive dans le code.

Notes

Dans la documentation SDK de Microsoft Dynamics 365, le terme « attribut d’entité » est utilisé de façon interchangeable avec le terme « attribut » et le terme « propriété » (propriété de classe).

Contenu de la rubrique

Métadonnées de l’entité

Actions sur les enregistrements d’entité

Propriété de l'entité

État et statut d’enregistrement

Images d'entité

Métadonnées de l’entité

Les métadonnées d’une organisation Microsoft Dynamics 365 contiennent les définitions des entités, des attributs et des relations entre les entités. Pour plus d'informations, voir Métadonnées et modèles de données dans Microsoft Dynamics 365. En tant que développeur, il existe de nombreux cas où il est utile de pouvoir trouver toutes les métadonnées d’une organisation. Il existe un certain nombre de façons dont vous pouvez rechercher et référencer les métadonnées :

Vous pouvez créer les types de relations suivants entre les entités : un-à-plusieurs, plusieurs-à-un, et plusieurs-à-plusieurs. Les enregistrements pour les relations plusieurs-à-plusieurs sont stockés dans une entité d’intersection. Une fois les relations sont définies, utilisez le message AssociateRequest ou la méthode Associate pour créer un lien entre les enregistrements spécifiés et utilisez le message DisassociateRequest ou la méthode Disassociate pour supprimer un lien entre les enregistrements spécifiés.

Dans les relations un-à-plusieurs et plusieurs-à-un, certaines actions sur l’enregistrement de l’entité parente affectent les enregistrements de l’entité enfant. Les actions qui ont un comportement en cascade sont les suivantes : Attribuer, Supprimer, Fusionner, Partager, Annuler le partage et Redéfinir la parenté. Pour plus d'informations, voir Comportement des relations d’entité.

Noms utilisés dans les métadonnées de l’entité

Les entités, les attributs et les relations ont différents noms. Le tableau suivant répertorie les différents noms utilisés dans les métadonnées.

Nom

Description

Nom complet

Nom affiché pour l’utilisateur

Nom complet de la collection

Version plurielle du nom complet. Ne s’applique qu’aux entités.

Nom logique

Nom unique de l’entité ou de l’attribut. Ce nom est entièrement en lettres minuscules.

Nom du schéma

Le nom du schéma est spécifié lors de la création. Il doit être unique. Il est utilisé pour créer le nom logique. Ce nom doit être en casse Pascal. Le nom de schéma est utilisé pour créer la classe de l’entité lors de l’utilisation de la programmation à liaison anticipée.

Notes

Pour une entité personnalisée, un attribut et une relation créée dans le contexte d’une solution, le préfixe de personnalisation des noms logiques et de schéma est défini dans l’attribut Publisher.CustomizationPrefix. Pour une entité personnalisée créée par programme, définissez le préfixe de personnalisation avec une chaîne contenant entre deux et huit caractères, tous alphanumériques et commençant par une lettre. Elle ne peut pas commencer par « mscrm ». Pour plus d’informations sur la personnalisation des métadonnées d’entité et les conventions de noms, voir Personnaliser les métadonnées d’entité.

Actions sur les enregistrements d’entité

Chaque entité prend en charge plusieurs actions, par exemple créer ou supprimer un enregistrement, ou attribuer un enregistrement à un autre utilisateur ou à une autre équipe. Certaines actions ne sont pas autorisées sur tous les types d’entités ou attributs. Pour chaque attribut, les métadonnées déterminent si une action donnée est prise en charge. Par exemple, les propriétés d’un attribut, comme IsValidForCreate, IsValidForRead et IsValidForUpdate, vous indiquent si vous pouvez créer, récupérer ou mettre à jour l’attribut.Pour plus d'informations :Opérations valides sur les attributs.

Pour exécuter une action, vous pouvez appeler l’une des méthodes de IOrganizationService. Par exemple, pour créer un enregistrement dans Microsoft Dynamics 365, vous pouvez utiliser la méthode IOrganizationService.Create ou la méthode IOrganizationService.Execute avec le message CreateRequest correspondant. Vous devez disposer des privilèges et des droits d’accès nécessaires pour effectuer ces actions. Pour plus d'informations, voir Le modèle de sécurité de Microsoft Dynamics 365.

Le tableau suivant répertorie les actions qui sont autorisés sur les enregistrements d’entreprise et d’entité personnalisée, ainsi que les méthodes et les messages qui vous permettent d’exécuter ces actions.

Pour

Description

Méthode et/ou message

Créer

Crée un enregistrement d’un type d’entité spécifique, entités personnalisées incluses.

IOrganizationService.Create

CreateRequest

Mise à jour

Modifie le contenu d’un enregistrement.

IOrganizationService.Update

UpdateRequest

Supprimer

Supprime un enregistrement.

IOrganizationService.Delete

DeleteRequest

Récupérer

Récupère un enregistrement.

IOrganizationService.Retrieve

RetrieveRequest

Récupération multiple

Récupère un ensemble d’enregistrements.

IOrganizationService.RetrieveMultiple

RetrieveMultipleRequest

Attribuer

Modifie la propriété d’un enregistrement. Valide pour les entités dont la propriété est celle de l’utilisateur ou de l’équipe.

AssignRequest

Partager

Octroie, modifie ou révoque l’accès à un enregistrement d’un autre utilisateur ou d’une autre équipe. Valide pour les entités dont la propriété est celle de l’utilisateur ou de l’équipe.

GrantAccessRequest

ModifyAccessRequest

RevokeAccessRequest

Associer

Crée les liens entre un enregistrement et un ensemble d’enregistrements où il existe une relation entre les entités.

AssociateRequest

Dissocier

Supprime les liens entre un enregistrement et un ensemble d’enregistrements où il existe une relation entre les entités.

DisassociateRequest

Définir l’état

Définit l’état d’un enregistrement.

SetStateRequest

Créer

Pour effectuer cette action, l’appelant doit avoir Create message privileges. Les droits d’accès ne s’appliquent pas à une action de création, mais s’appliquent à l’enregistrement une fois créé.

Pour posséder un enregistrement ou pour récupérer l’enregistrement nouvellement créé, l’utilisateur ou l’équipe doit également disposer des privilèges de lecture et des droits d’accès sur le nouvel enregistrement. Par exemple, si vous avez les privilèges de création pour les comptes, vous pouvez créer un enregistrement de compte et l’attribuer à un autre utilisateur ou à une autre équipe. Toutefois, sauf si vous avez également le privilège de lecture pour les comptes et les droits d’accès sur le nouvel enregistrement, vous ne pouvez pas créer un compte et être le propriétaire de ce nouveau compte.

Mise à jour

Pour effectuer cette action, l’appelant doit avoir les Update message privileges et les droits d’accès sur les enregistrements d’entité mis à jour.

Lorsque vous mettez à jour un enregistrement, seuls les attributs dont vous spécifiez les données ou pour lesquels vous spécifiez la valeur null sont mises à jour. Toutes les autres valeurs restent les mêmes. En outre, si vous spécifiez des données pour les attributs non valides pour la mise à jour, elles sont ignorées.

Supprimer

Pour effectuer cette action, l’appelant doit avoir les Delete message privileges et les droits d’accès sur les enregistrements d’entité en cours de suppression.

Les règles en cascade déterminent si les enregistrements associés sont supprimés en même temps. Pour plus d'informations, voir Comportement des relations d’entité.

En règle générale, vous devez uniquement supprimer les enregistrements que vous avez entrés par erreur. Pour certains types d’enregistrements, vous pouvez, à la place, désactiver ou fermer l’enregistrement. Tous les types d'enregistrements ne peuvent pas être supprimés.

Récupérer

Pour effectuer cette action, l’appelant doit avoir les Retrieve message privileges et les droits d’accès sur les enregistrements d’entité récupérés.

Récupération multiple

Pour effectuer cette action, l’appelant doit avoir les Retrieve message privileges et les droits d’accès sur les enregistrements d’entité récupérés.

Pour récupérer une collection d’enregistrements basée sur les paramètres de la requête, vous pouvez utiliser une expression de requête ou le langage de requête FetchXML. Les expressions de requête vous permettent de créer une arborescence de requête en utilisant une hiérarchie de classe. Les méthodes qui utilisent une expression de requête retournent une collection d’enregistrements fortement typés. FetchXML vous permet de créer une requête à l’aide du langage XML. FetchXML renvoie une chaîne XML. Par conséquent, une manipulation supplémentaire des données est nécessaire pour utiliser les résultats de la requête. Pour plus d'informations, voir Extraire les données avec des requêtes à l'aide des assemblys du SDK.

Attribuer

Pour les entités appartenant à l’utilisateur ou à l’équipe, vous attribuez un enregistrement à un nouveau propriétaire. Pour plus d'informations, voir Propriété de l'entité. Pour effectuer cette action, l’appelant doit avoir les Assign message privileges et les droits d’accès sur les enregistrements d’entité.

Les règles en cascade déterminent si les enregistrements associés sont attribués en même temps à un autre utilisateur. Pour plus d'informations, voir Comportement des relations d’entité.

Lorsqu’un enregistrement est attribué à un utilisateur ou à une autre équipe, le propriétaire précédent a toujours accès à cet enregistrement si l’attribut ShareToPreviousOwnerOnAssign est défini sur true. Toutefois, le propriétaire précédent n’aura plus la propriété de l’enregistrement.

Partager

Pour les entités appartenant à l’utilisateur ou à l’équipe, vous pouvez partager un enregistrement avec d’autres utilisateurs ou équipes. Pour effectuer cette action, l’appelant doit avoir les GrantAccess message privileges, les ModifyAccess message privileges et les RevokeAccess message privileges, ainsi que les droits d’accès sur les enregistrements d’entité.

Les règles en cascade déterminent si les enregistrements associés sont partagés en même temps. Pour plus d'informations, consultez la rubrique Comportement des relations d’entité.

Le partage est la façon dont les utilisateurs Microsoft Dynamics 365 peuvent fournir à d’autres utilisateurs un accès aux informations concernant les clients si nécessaire. Par exemple, un commercial peut décider de partager une opportunité avec un autre commercial pour pouvoir suivre l’avancement d’une vente importante.

Utilisez le message GrantAccessRequest pour partager un enregistrement. Utilisez le message ModifyAccessRequest pour modifier la façon dont un enregistrement est partagé. Utilisez le message RevokeAccessRequest pour supprimer tout partage de l’enregistrement.

Un utilisateur doit disposer de droits de partage pour partager les enregistrements liés au client, tels que les contacts, comptes, opportunités, incidents et commandes, avec n’importe quel autre utilisateur de Microsoft Dynamics 365. Lorsqu’un enregistrement est partagé, vous pouvez spécifier les droits à accorder pour l’enregistrement partagé.

La liste suivante décrit les règles de partage des enregistrements :

  • Toute personne titulaire des privilèges de partage sur un enregistrement peut le partager avec d’autres utilisateurs ou équipes.

  • Toute personne titulaire des privilèges de partage sur un enregistrement peut définir des droits d’accès pour cet enregistrement. Ces droits d’accès déterminent la façon dont une personne qui partage un enregistrement peut accéder à cet enregistrement.

  • L’accès sur un enregistrement partagé peut être défini sur n’importe quel droit d’accès, par exemple, en lecture ou écriture.

  • Les droits d’accès sur un enregistrement partagé peuvent être différents pour chaque utilisateur avec lequel l’enregistrement est partagé.

  • Un enregistrement ne peut être partagé par le même principal de sécurité qu’une seule fois. Un utilisateur peut partager un enregistrement s’il a des privilèges de partage sur cet enregistrement.

  • Toute personne titulaire des privilèges de partage sur un enregistrement commercial peut modifier les droits d’accès pour les utilisateurs qui partagent l’enregistrement.

  • Toute personne titulaire des privilèges de partage sur un enregistrement commercial peut supprimer le partage d’un utilisateur spécifié qui partage l’enregistrement.

  • Toute personne titulaire des privilèges de partage sur un enregistrement commercial peut supprimer tous les utilisateurs qui partageaient préalablement l’enregistrement.

Associer

Pour effectuer cette action, l’appelant doit avoir les Associate message privileges et les droits d’accès sur les enregistrements mis à jour.

La méthode Associate crée plusieurs associations dans une transaction entre l’enregistrement spécifié et chaque enregistrement de la collection spécifiée pour la relation spécifiée.

Pour un relation de type un-à-plusieurs, cette méthode définit ReferencingAttribute dans l’enregistrement associé à l’ID d’enregistrement spécifié.

Pour un relation de type plusieurs-à-plusieurs, cette méthode crée un enregistrement dans la table d’intersection de la relation, contenant l’ID de l’enregistrement référencé et les enregistrements de référencement. Le nom de la table d’intersection est défini dans la propriété IntersectEntityName de la relation.

Dissocier

Pour effectuer cette action, l’appelant doit avoir les Disassociate message privileges et les droits d’accès sur les enregistrements mis à jour.

La méthode Disassociate inverse l’opération Associate, en mettant à jour les enregistrements référencés et les enregistrements de référencement, et en supprimant l’enregistrement d’intersection le cas échéant. Pour plus d'informations, voir Associer.

Définir l’état

Pour effectuer cette action, l’appelant doit avoir les SetState message privileges et les droits d’accès sur les enregistrements mis à jour. Le message SetStateRequest met à jour les attributs StateCode et StatusCode de l’enregistrement d’entité.

Propriété de l'entité

Il existe plusieurs types de propriété d’entité. La plupart des entités, notamment les entités personnalisées, appartiennent à l’organisation, à un utilisateur ou à une équipe. Certaines entités métier n’ont pas de propriétaire, comme le type de remise (liste de remises), où la propriété est définie par la remise de son entité parente. Le type de propriété définit certaines opérations qui peuvent être effectuées sur un enregistrement. La propriété d’une entité est définie dans la propriété OwnershipType des métadonnées. Le tableau suivant répertorie les propriétés de propriété.

Type de propriété

Description

Propriété de l’organisation

Contient les données impliquant que quelque chose qui appartient à ou peut être affiché par toute l’organisation. Les entités détenues par l’organisation ne peuvent pas être attribuées ni partagées. Par exemple, les produits sont la propriété de l’organisation. Ces entités ont un attribut nommé organizationid.

Propriété de l’entreprise

Entités qui appartiennent à une division. Ces entités ont un attribut nommé owningbusinessunit.

Propriété d'un utilisateur ou d'une équipe.

Attribuée à un utilisateur ou à une équipe. Ces entités contiennent des données liées aux clients, tels que les comptes ou les contacts. La sécurité peut être définie en fonction de la division de l’utilisateur ou de l’équipe. Ces entités ont des attributs nommés owningteam et owninguser.

Aucun(e)

Ces entités ne sont pas détenues par une autre entité.

Informations supplémentaires sur la propriété d’un utilisateur ou d’une équipe

Vous pouvez utiliser le message AssignRequest pour modifier la propriété d’un enregistrement. Pour plus d'informations, voir Attribuer. Vous pouvez utiliser le message ReassignObjectsOwnerRequest ou le message ReassignObjectsSystemUserRequest pour exécuter la réaffectation de tous les enregistrements d’un propriétaire.

Notes

En limitant la propriété aux utilisateurs ou aux équipes, vous limitez l’accès aux données aux utilisateurs autorisés de l’organisation. Toutefois, vous pouvez développer l’accès aux données aux autres utilisateurs et équipes en partageant l’enregistrement d’entité avec eux. Vous pouvez également attribuer un enregistrement à un autre utilisateur ou à une autre équipe. Configurer la sécurité pour les entités appartenant à l’utilisateur ou à l’équipe vous offre davantage de niveaux d’accès pour les rôles de sécurité que pour les entités détenues par l’organisation. Les rôles de sécurité pour les entités détenues par l’organisation ont deux niveaux d’accès : Aucun et Global. Les entités détenues par l’utilisateur ou par l’équipe ont cinq niveaux d’accès : Général, Profond, Local, Basique et aucun.

État et statut d’enregistrement

La plupart des entités commerciales ont deux propriétés pour suivre l’état d’un enregistrement. Ce sont StateCode, appelée Statut dans l’application Web, et StatusCode, appelée Raison du statut dans l’application Web. Les valeurs des attributs StateCode et StatusCode sont liées. L’attribut StateCode est utilisé en interne pour représenter le statut de l’entité. L’attribut StatusCode est utilisé pour afficher cette valeur à l’utilisateur final. L’ensemble des codes d’état valides pour une entité n’est pas personnalisable, mais les codes de statut le sont. Pour l'entité incident et les entités personnalisées, vous pouvez définir des critères supplémentaires pour les transitions valides entre les statuts. Pour plus d'informations, consultez les rubriques Personnaliser les métadonnées d’attribut d’entité et Définir les transitions de modèles d’état personnalisés.

Images d'entité

Certaines entités système possèdent des attributs d’image. Vous pouvez ajouter des attributs d’image à des entités personnalisées. Lorsqu’une entité a un attribut d’image, vous pouvez définir la propriété d’PrimaryImageAttribute pour contrôler si l’image apparaît dans l’application. Lorsque l’image apparaît dans l’application, les utilisateurs de l’application Web peuvent télécharger des images pour l’enregistrement d’entité. Les entités système suivantes ont des attributs d’image. Celles signalées par un astérisque sont activées par défaut pour s’afficher dans l’application.

Account *

KbArticle

Campagne

Incident

Competitor *

Connexion

Contact *

Contrat

TransactionCurrency

EmailServerProfile

Objectif

Facture

Lead *

Boîte aux lettres

Produit d’opportunité

SalesOrder

Organisation

Product *

Publisher *

File d’attente

Resource *

SalesLiterature

Secteur de vente

SystemUser *

Pour plus d'informations :Attributs des données d'image.

Voir aussi

Entités d’administration et de sécurité
Utiliser les métadonnées pour générer des diagrammes d’entités
Définir les transitions de modèles d’état personnalisés
Clé des diagrammes d’entité
Modeler vos données d'entreprise dans Microsoft Dynamics 365
Personnaliser des métadonnées de relation d’entité
Comportement des relations d’entité
Métadonnées et modèles de données dans Microsoft Dynamics 365
Utiliser le service d'organisation avec des métadonnées Dynamics 365
Empaqueter et distribuer les extensions à l’aide des solutions
Entités de service d'organisation
Le modèle de sécurité de Microsoft Dynamics 365
Exemple : Définir et récupérer des images d’entité
Exemple : Attribuer un enregistrement à une équipe
Exemple : partager des enregistrements à l’aide des messages GrantAccess, ModifyAccess et RevokeAccess
Exemple : Fusionner deux enregistrements
Exemple : valider l’état d’enregistrement et définir l’état de l’enregistrement
Exemple : Regrouper les enregistrements relatifs à un enregistrement spécifique

Microsoft Dynamics 365

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