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 spécifier des transitions d’état personnalisées pour la Incident table (Case) ou les tables personnalisées. La propriété EntityMetadata.IsStateModelAware concerne true les tables qui prennent en charge les transitions de modèle d’état.
Note
Bien que la Incident table (Case) ne soit pas incluse dans un environnement Microsoft Dataverse par défaut, elle est utilisée par Dynamics 365 for Customer Service et définie dans common Data Model
Les transitions d’état personnalisées ont un niveau facultatif de filtrage pour définir les transitions d’état valides pour un enregistrement dans un état donné. Notamment lorsqu’il existe un grand nombre de combinaisons d’états valides et de valeurs de statut, la définition d’une liste limitée d’options peut faciliter le choix du statut correct d’un enregistrement.
Qu’est-ce que le modèle d’état ?
Les tables qui prennent en charge le concept d’état ont une paire de colonnes qui capturent les données du modèle d’état, comme indiqué dans le tableau suivant.
| Nom logique | Nom complet | Descriptif |
|---|---|---|
statecode |
État | Représente le statut de l’enregistrement. Pour les tables personnalisées, cette valeur est active ou inactive. Vous ne pouvez pas ajouter d’autres choix d’état, mais vous pouvez modifier les étiquettes de choix. |
statuscode |
Motif statut | Représente un statut lié à un état spécifique. Chaque état doit avoir au moins un statut possible. Vous pouvez ajouter d’autres choix d’état et modifier les étiquettes des choix existants. |
Les définitions de table des colonnes définissent les valeurs d’état valides pour un état donné. Par exemple, pour la table Incident (Case), les options d'état et de statut par défaut sont affichées dans le tableau suivant.
| État | Statut |
|---|---|
Label : ActifValue : 0 |
Label : En coursValue : 1State : 0 |
Label : ActifValue : 0 |
Label : SuspenduValue : 2State : 0 |
Label : ActifValue : 0 |
Label : En attente de détailsValue : 3State : 0 |
Label : ActifValue : 0 |
Étiquette : Recherche en coursValue : 4State : 0 |
Label : RésoluValue : 1 |
Label: Problème résoluValue : 5State : 1 |
Label : RésoluValue : 1 |
Étiquette : Informations fourniesValue : 1000State : 1 |
Étiquette : AnnuléValue : 2 |
Label : AnnuléValue : 6State : 2 |
Étiquette : AnnuléValue : 2 |
Label : Fusionné(e)Value : 2000State : 2 |
Ces données sont stockées dans la classe StatusOptionMetadata, qui représente les options de la classe StatusAttributeMetadata.
Pour afficher les définitions de table pour votre organisation, installez la solution Navigateur de métadonnées décrite dans Parcourir les définitions de table pour votre organisation. Vous pouvez également parcourir la documentation de référence pour la table dans la référence table/entité.
Rechercher les transitions de statut valides
Vous pouvez modifier la statuscode colonne pour définir les autres options d’état qui représentent des transitions valides à partir de l’état actuel. Pour plus d’instructions, voir : Définir les transitions de raison du statut pour les tables Incident ou personnalisées
Lorsque des transitions d’état personnalisées sont appliquées à une table, la propriété EntityMetadata.EnforceStateTransitions est true. En outre, chaque StatusOptionMetadata élément de la StatusAttributeMetadatacollection .Options a une TransitionData propriété. Cette propriété contient une valeur de chaîne qui représente un document XML. Ce document contient la définition des transitions autorisées. Par exemple, l’option de colonne par défaut Incident (Case) StatusCode peut avoir la valeur suivante TransitionData .
<allowedtransitions xmlns="https://schemas.microsoft.com/crm/2009/WebServices">
<allowedtransition sourcestatusid="1" tostatusid="6" />
<allowedtransition sourcestatusid="1" tostatusid="1000" />
<allowedtransition sourcestatusid="1" tostatusid="2000" />
<allowedtransition sourcestatusid="1" tostatusid="5" />
</allowedtransitions>
Lorsque ces données sont présentes et que la propriété de table EnforceStateTransitions est true, toute instance d’incident ne peut être modifiée qu’à l’une des valeurs autorisées statuscode . Vous pouvez utiliser IOrganizationService.Update pour définir l’une statuscodeOptionSetValue des valeurs autorisées qui ne représentent pas de changement d’état. Pour modifier l’état, utilisez SetStateRequest définissant les valeurs des propriétés State et Status autorisées ou le CloseIncidentRequest définissant la propriété Status avec l’une des valeurs autorisées pour la valeur statuscode actuelle. La tentative de définir une valeur non valide déclenche une erreur.
Voir aussi
Exemple : Récupérer des transitions d’état valides
Exemple : Valider l’état de l’enregistrement et définir l’état de l’enregistrement
Récupérer et détecter les modifications apportées aux définitions de table
Définir les transitions de raison de l’état