Configurer un workflow avec des actions, des phases et des étapes

Cette rubrique s'applique à Dynamics 365 Customer Engagement (on-premises). Pour la version Power Apps de cette rubrique, voir : Configurer les phases et les étapes de workflow en temps réel

Lors de la configuration des workflows, vous devez considérer essentiellement quatre points :

  • Quand commencer ?

  • Doivent-ils s’exécuter en tant que workflows en temps réel ou d’arrière-plan ?

  • Quelles actions doivent-ils effectuer ?

  • Dans quelles conditions les actions doivent-elles être effectuées ?

    La rubrique Vue d’ensemble du processus de workflow explique comment rechercher des processus de workflow, quand les démarrer, et s’ils fonctionnent en temps réel ou en arrière-plan. Cette rubrique expose les actions que les workflows peuvent effectuer et les conditions dans lesquelles elles sont effectuées.

Phases et étapes de workflow

Lorsque vous concevez des workflows, vous pouvez inclure la logique que vous souhaitez exécuter dans des phases et des étapes.

Phases
Les phases facilitent la lecture de la logique de workflow et expliquent la logique de workflow. Toutefois, elles n’ont aucune incidence sur la logique ou sur le comportement des workflows. Si un processus inclut des phases, toutes les étapes de ce processus doivent être contenues dans une phase.

Étapes
Les étapes sont une unité de logique métier dans un workflow. Les étapes peuvent inclure des conditions, des actions, d’autres étapes ou une combinaison de ces éléments.

Actions que les processus de workflow peuvent effectuer

Les processus de workflow peuvent effectuer les actions répertoriées dans le tableau suivant.

Pour Description
Créer l’enregistrement Crée un enregistrement pour une entité et attribue les valeurs que vous choisissez aux attributs.
Mettre à jour l’enregistrement Vous pouvez mettre à jour l’enregistrement sur lequel le workflow s’exécute, l’un des enregistrements liés à cet enregistrement par une relation N:1 ou un enregistrement créé lors des étapes précédentes.
Attribuer l’enregistrement Vous pouvez attribuer l’enregistrement sur lequel le workflow s’exécute, l’un des enregistrements liés à cet enregistrement par une relation N:1 ou un enregistrement créé lors des étapes précédentes.
Envoyer un courrier électronique Envoie un message électronique. Vous pouvez décider de créer un nouveau message électronique ou d’utiliser un modèle de courrier configuré pour l’entité de l’enregistrement sur lequel le workflow s’exécute ou pour des entités avec une relation N:1 avec l’entité ou pour l’entité de l’un des enregistrements créés lors des étapes précédentes.
Lancer un workflow enfant Lance un processus de workflow qui a été configuré comme workflow enfant.
Modifier le statut Change le statut de l’enregistrement sur lequel le processus s’exécute, de l’un des enregistrements liés à cet enregistrement par une relation N:1 ou d’un enregistrement créé lors des étapes précédentes.
Arrêter le workflow Permet d’arrêter le workflow actif. Vous pouvez définir un rapport sur Terminé ou Annulé et spécifier un message de statut.

Lorsque les workflows en temps réel sont configurés pour un événement, l’arrêt d’un workflow avec le statut annulé empêche l’action de l’événement de se terminer. Pour plus d’informations, voir Utilisation de workflows en temps réel.
Étape personnalisée Les développeurs peuvent créer des étapes de workflow personnalisées qui définissent des actions. Aucune étape personnalisée n’est disponible par défaut.

Définition des valeurs d’enregistrement

Lorsque vous créez un enregistrement, vous pouvez définir des valeurs pour l’enregistrement. Lorsque vous mettez un enregistrement à jour, vous pouvez définir, ajouter, incrémenter, décrémenter, multiplier ou supprimer les valeurs.

Lorsque vous sélectionnez Définir les propriétés, une boîte de dialogue s’ouvre et vous indique le formulaire par défaut pour l’entité.

Dans le bas de la boîte de dialogue, vous pouvez voir une liste des champs supplémentaires qui ne sont pas présents dans le formulaire.

Pour un champ, vous pouvez définir une valeur statique qui sera définie par le workflow.

Sur le côté droit de la boîte de dialogue, l’Assistant Formulaires vous permet de définir ou d’ajouter des valeurs dynamiques à partir du contexte de l’enregistrement actif. Cela inclut les valeurs des enregistrements associés accessibles à partir des relations N :1 (plusieurs-à-un) pour l’entité.

Les options disponibles dans Assistant Formulaires dépendent du champ sélectionné dans le formulaire. Lorsque vous définissez une valeur dynamique, vous verrez un espace réservé jaune appelé "champ de données dynamiques" qui indique où les données dynamiques seront incluses. Si vous souhaitez supprimer la valeur, sélectionnez simplement le champ de données dynamiques et supprimez-le. Pour les champs de texte, vous pouvez utiliser une combinaison de données statiques et dynamiques.

Avec des valeurs dynamiques, vous ne savez pas avec certitude qu’un champ ou qu’une entité associée a la valeur que vous souhaitez définir. Vous pouvez en fait définir un certain nombre de champs pour essayer de définir la valeur et les trier dans l’ordre en utilisant les flèches vertes. Si le premier champ ne comporte pas de données, le deuxième champ sera analysé, et ainsi de suite. Si aucun des champs ne contient de données, vous pouvez spécifier une valeur par défaut à utiliser.

Définition de conditions pour les actions de workflow

Les actions que vous appliquerez dépendent souvent de conditions. Les processus de workflow fournissent plusieurs moyens de définir des conditions et de créer la logique de branchement pour obtenir les résultats escomptés. Vous pouvez contrôler les valeurs de l’enregistrement sur lequel le processus de workflow s’exécute, celles de l’un des enregistrements liés à cet enregistrement par une relation N:1 ou celles du processus lui-même.

Type de condition Description
Vérifier la condition Instruction logique « if-<condition> then ».

Vous pouvez contrôler les valeurs actuelles de l’enregistrement sur lequel le workflow s’exécute, celles de l’un des enregistrements liés à cet enregistrement par une relation N:1 ou celles d’un enregistrement créé lors des étapes précédentes. Sur la base de ces valeurs, vous pouvez définir des étapes supplémentaires lorsque la condition est vraie.

Dans l’instruction « if-<condition>, vous pouvez utiliser les opérateurs suivants : Est égal à, Est différent de, Contient des données, Ne contient pas de données, Moins de et Pas moins de. Remarque : Moins de et Pas moins de sont des opérateurs hiérarchiques. Ils peuvent uniquement être utilisés sur les entités qui ont une relation hiérarchique définie. Si vous essayez d’utiliser ces opérateurs sur les entités qui n’ont pas de relation hiérarchique définie, vous verrez le message d’erreur : "Vous utilisez un opérateur hiérarchique sur une entité qui n’a pas de relation hiérarchique définie. Rendez l’entité hiérarchique (en marquant une relation comme hiérarchique) ou utilisez un autre opérateur. » Pour plus d’informations sur les relations hiérarchiques, voir Interroger et visualiser les données hiérarchiques. Une capture d’écran qui suit le tableau est un exemple de la définition du processus de workflow qui utilise les opérateurs hiérarchiques Moins de et Pas moins de.
Branche conditionnelle Une instruction logique « else-if-then ». L’éditeur utilise le texte « Otherwise, if <condition> then: »

Sélectionnez une condition de vérification que vous avez déjà définie et ajoutez une branche conditionnelle pour définir des étapes supplémentaires à suivre lorsque la condition renvoie false.
Action par défaut Instruction logique "else". l’éditeur utilise le texte « Sinon : »

Sélectionnez une condition de vérification, une branche conditionnelle, une condition d’attente ou une branche d’attente parallèle que vous avez déjà définie et utilisez éventuellement une action par défaut pour définir les étapes à suivre pour tous les cas qui ne satisfont pas les critères définis dans la condition ou les éléments de branche.
Condition d’attente Permet à un flux de travail en arrière-plan d’être suspendu jusqu’à ce que les critères définis par la condition soient remplis. Le flux de travail redémarre automatiquement lorsque les critères de la condition d’attente sont remplis.

Les flux de travail en temps réel ne peuvent pas utiliser de conditions d’attente.
Attendre la branche parallèle Définit une autre condition d’attente pour un flux de travail en arrière-plan avec un ensemble correspondant d’étapes supplémentaires qui sont effectuées uniquement lorsque le critère initial est satisfait. Vous pouvez utiliser des branches d’attente parallèles pour créer des délais dans votre logique de flux de travail. Elles permettent d’éviter que le workflow n’attende indéfiniment que les critères définis dans une condition d’attente soient satisfaits.
Étape personnalisée Les développeurs peuvent créer des étapes de workflow personnalisées qui définissent des conditions. Aucune étape personnalisée n’est disponible par défaut.

La capture d’écran suivante contient un exemple de la définition du processus de workflow avec les opérateurs hiérarchiques Moins de et Pas moins de. Dans notre exemple, nous appliquons deux remises différentes à deux groupes de comptes. Dans Ajouter une étape, nous avons sélectionné Vérifier la condition pour spécifier la condition if-then contenant l’opérateur Moins de ou Pas moins de. La première condition if-then s’applique à tous les comptes situés sous (Moins de) le compte Alpine Ski House. Ces comptes reçoivent une remise de 10 % sur les marchandises et les services achetés. La deuxième condition if-then s’applique à tous les comptes qui ne sont pas sous (Pas moins de) le compte Alpine Ski House et ils reçoivent une remise de 5 %. Ensuite, nous avons sélectionné Mettre à jour l’enregistrement pour définir l’action à effectuer en fonction de la condition.

Processus de workflow avec opérateurs « sous/pas sous ».

Utilisation de workflows en temps réel

Vous pouvez configurer des workflows en temps réel, mais vous devez les utiliser avec prudence. Les workflows d’arrière-plan sont généralement recommandés, car ils permettent au système de les appliquer comme ressources sur le serveur lorsqu’ils sont disponibles. Cela facilite le travail du serveur et assure les meilleures performances pour tous les utilisateurs du système. L’inconvénient est que les actions définies par des workflows d’arrière-plan ne prennent pas effet immédiatement. Vous ne pouvez pas prévoir quand ils seront appliqués mais, en règle générale, cela prend quelques minutes. Cela convient à la plupart des services d’automatisation des processus d’entreprise, car les utilisateurs du système n’ont pas besoin de savoir que le processus s’exécute.

Utilisez les workflows en temps réel lorsque les résultats d’un processus d’entreprise doivent être connus immédiatement ou si vous souhaitez avoir la possibilité d’annuler une opération. Par exemple, vous pouvez avoir besoin de définir certaines valeurs par défaut pour un enregistrement lors de son premier enregistrement, ou vous pouvez vouloir vous assurer que certains enregistrements ne sont pas supprimés.

Conversion entre les workflows en temps réel et d’arrière-plan

Vous pouvez changer un workflow en temps réel en un workflow d’arrière-plan en choisissant Convertir en workflow d’arrière-plan dans la barre d’outils.

Vous pouvez changer un workflow d’arrière-plan en un workflow en temps réel en choisissant Convertir en workflow en temps réel dans la barre d’outils. Si le workflow d’arrière-plan utilise des conditions d’attente, il n’est plus valide et vous ne pouvez plus l’activer tant que vous n’avez pas supprimé la condition d’attente.

Initialisation de workflows en temps réel avant ou après le changement de statut

Lorsque vous configurez Options des processus automatiques pour les workflows en temps réel, les options Démarrer quand de l’événement de changement de statut permettent de sélectionner Après ou Avant pour le moment du changement du statut. L’option par défaut est Après.

Lorsque vous sélectionnez Avant, vous indiquez que vous souhaitez que la logique de workflow soit appliquée avant l’enregistrement des données qui modifient le statut. Cela vous offre la possibilité de contrôler les valeurs avant l’application d’une autre logique après l’opération, et empêche l’exécution d’autres logiques. Par exemple, une logique supplémentaire dans un plug-in ou une action de workflow personnalisée peut initier des actions sur un autre système. En arrêtant le traitement, vous pouvez éviter les situations où les systèmes externes sont affectés. L’application de workflows en temps réel avant cet événement signifie également que d’autres actions de workflow ou de plug-in qui peuvent avoir enregistré des données ne doivent pas nécessairement être annulées lorsque l’opération est annulée.

Utilisation de l’action Arrêter le workflow avec des workflows en temps réel

Lorsque vous appliquez une action Arrêter le workflow dans un workflow, vous avez la possibilité de spécifier une condition de statut Terminé ou Annulé. Lorsque vous définissez le statut sur Annulé, vous empêchez l’opération. L’utilisateur recevra un message d’erreur contenant le texte du message de statut de l’action d’arrêt avec l’en-tête Erreur du processus d’entreprise.

Voir aussi

Créer une logique métier personnalisée avec des processus
Vue d’ensemble du processus de workflow
Surveillance et gestion des processus de workflow
Conseils pour les processus de workflow