Partager via


Architecture du cadre d’état

Important

Tout ou partie de la fonctionnalité décrite dans cette rubrique est accessible dans le cadre d’une version préliminaire. Le contenu et la fonctionnalité peuvent faire l’objet de modifications.

Cet article décrit l’architecture du cadre d’état dans Microsoft Dynamics 365 Intelligent Order Management.

L’architecture de cadre d’état est un nouveau concept qui a été introduit dans Dynamics 365 Intelligent Order Management dans la version d’octobre 2022. Le cadre d’état est un moyen de valider les règles de processus métier en vérifiant, au moment de l’exécution, si l’état actuel d’une entité est autorisé à passer à un autre état. Par exemple, une transition de Nouveau à En cours réussira s’il est défini, mais une transition de Terminé à En cours lancera une erreur.

Les utilisateurs peuvent ajouter leurs propres états, motifs d’état et transitions. Cependant, ils ne peuvent pas personnaliser les définitions prêtes à l’emploi.

Modèle de données de cadre d’état

Le modèle de données de cadre d’état introduit des mises à jour et de nouveaux ajouts au modèle de données actuel.

L’illustration suivante montre les tables qui ont été ajoutées dans le modèle de données de cadre d’état.

State framework data model.

Mises à jour du modèle de données

Colonnes État de l’entité et Motif de l’état

Le cadre d’état introduit deux nouvelles colonnes pour les entités qui font partie de Intelligent Order Management. Ces colonnes ont été ajoutées pour prendre en charge la localisation des champs de statut État et Motif d’état. Le cadre d’état introduit également un nouveau champ ReadOnly qui indique qu’un enregistrement ne doit pas être modifiable dans l’interface utilisateur (IU).

Champ Description
État L’état dans lequel se trouve l’entité, tel que défini par la table Définition de l’état.
Raison de l’état Une description détaillée de la raison pour laquelle l’entité est dans son état actuel.
ReadOnly Définissez la valeur sur True si l’enregistrement ne doit pas être modifiable dans l’interface utilisateur. Sinon, réglez-le sur False.

Nouveaux ajouts au modèle de données

Table de définition de l’état

La table Définition de l’état permet de créer un ensemble d’états autorisés sur chaque entité. Ces états ont des propriétés associées qui contiennent des métadonnées pour indiquer les différents comportements de chaque état.

Note

Les états sont utilisés pour déterminer les transitions valides dans le cadre du parcours d’orchestration.

Champ Description
Définition de l’état Identificateur global unique (GUID) de l’état.
Entité associée Entité à laquelle l’état appartient.
Détails Nom de l’état.
Propriétés de la définition d’état Une recherche des métadonnées associées.
Readonly Une valeur de True marque l’entité en lecture seule.

Table Raison de définition de l’état

La table Raison de la définition d’état fournit des détails supplémentaires sur la raison pour laquelle quelque chose est dans un état donné, mais peut ne pas faire partie de l’indication d’une transition d’état valide. Par exemple, quelque chose peut avoir un état de En attente mais une raison d’état de Commande différée ou Pré-commande.

Champ Description
Raison de définition de l’état GUID de la raison de l’état.
État État auquel la raison d’état est associée.
Détails Nom/description de la raison de l’état.

Tables des propriétés de définition d’état

La table Propriétés de définition d’état contient des métadonnées supplémentaires pour chaque état.

Champ Description
Propriétés de la définition d’état Le GUID de la propriété.
Position de la chronologie L’ordre dans lequel l’état doit être affiché dans le contrôle Chronologie de la barre de progression dans l’interface utilisateur. (Ce contrôle est introduit dans la version d’octobre 2022.)

Table de transition de l’état

La table Transition d’état contient une liste des transitions d’état qui se produiront quand un événement commercial sera déclenché. L’événement commercial définira l’état uniquement si l’état actuel est un état autorisé.

Champ Description
Transition de l’état GUID de la transition de l’état
Définition de l’événement commercial Une recherche sur la table Définition de l’événement commercial pour déterminer à quel événement commercial appartient l’enregistrement.
État de la source L’état source autorisé à partir duquel effectuer la transition.
État de la cible L’état cible à définir si l’état est en transition à partir d’un état source autorisé.
Raison de l’état de la cible La raison d’état cible à définir si l’état est en transition à partir d’un état source autorisé.

Le tableau ci-dessous présente un exemple de données dans cette table.

Définition de l’événement commercial État de la source État de la cible Raison de l’état de la cible
Réussite de la vérification du disponible En cours Exécution en cours Réussite de la vérification de stock
Réussite de la vérification du disponible En attente Exécution en cours Réussite de la vérification de stock
Échec de la vérification du disponible En cours En attente Blocage de la commande en souffrance

Scénarios

Aucune transition n’existe pour l’événement commercial

Si aucun enregistrement n’est trouvé dans la table Transition d’état pour l’événement commercial qui est déclenché, la validation réussira automatiquement, mais aucune valeur État ou Raison d’état ne sera définie.

Ajouter un nouvel état et une transition

Pour ajouter un nouvel état et une transition, suivez l’une des étapes suivantes.

  1. Ajoutez une nouvelle définition d’état.

  2. Ajoutez une nouvelle raison de définition d’état, si nécessaire.

  3. Ajoutez une nouvelle transition d’état, puis suivez l’une des étapes suivantes :

    1. Associez la nouvelle transition d’état à un nouvel événement commercial.
    2. Définissez le champ Source sur ce qui est autorisé. Ajoutez une ligne par source autorisée.
    3. Définissez le champ État sur ce que l’état doit être défini quand l’événement commercial est déclenché.
    4. Définissez le champ Raison d’état sur ce que vous voulez comme raison quand l’événement commercial est déclenché.
  4. Ajoutez des propriétés (ReadOnly ou Chronologie) qui sont nécessaires.