Configurer les phases et les étapes de flux de travail en temps réel

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

Phases
Les phases facilient la lecture et justifient la logique de workflow en temps réel. 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 en temps réel peuvent effectuer

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

Pour Description
Créer une ligne Crée une ligne pour une table et attribue les valeurs que vous choisissez aux attributs.
Mettre à jour la ligne Vous pouvez mettre à jour la ligne sur laquelle le workflow en temps réel s’exécute, l’une des lignes liés à cette ligne par une relation N:1 ou des lignes créées lors des étapes précédentes.
Attribuer une ligne Vous pouvez attribuer la ligne sur laquelle le workflow en temps réel s’exécute, l’une des lignes liés à cette ligne par une relation N:1 ou des lignes créées lors des étapes précédentes.
Envoyer un message électronique Envoie un e-mail. Vous pouvez décider de créer un message électronique ou d’utiliser un modèle de courrier configuré pour la table de la ligne sur laquelle le workflow en temps réel s’exécute ou pour des tables avec une relation N:1 avec la table ou pour la table de l’une des lignes créées lors des étapes précédentes.
Lancer un workflow enfant Lance un processus de workflow en temps réel qui a été configuré comme workflow enfant.
Modifier le statut Change le statut de la ligne sur lequel le processus s’exécute, de l’une des lignes liées à cette ligne par une relation N:1 ou d’une ligne créée lors des étapes précédentes.
Arrêter le workflow Permet d’arrêter le workflow actif. Vous pouvez définir le statut 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 en temps réel avec le statut annulé empêche l’action de l’événement de se terminer. Accédez à Utilisation de workflows en temps réel.
Étape personnalisée Les développeurs peuvent créer des étapes de workflow en temps réel personnalisées qui définissent des actions. Aucune étape personnalisée n’est disponible par défaut.

Définition des valeurs de ligne

Lorsque vous créez une ligne, vous pouvez définir des valeurs pour la ligne. Lorsque vous mettez une ligne à jour, vous pouvez définir, ajouter, incrémenter, décrémenter, multiplier ou supprimer ses 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 la table.

Au bas de la boîte de dialogue, vous pouvez voir une liste de colonnes supplémentaires non présents dans le formulaire.

Pour une colonne, 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 la ligne active. Cela inclut les valeurs des lignes associées accessibles à partir des relations N :1 (plusieurs-à-un) pour la table.

Les options disponibles dans Assistant Formulaires dépendent de la colonne sélectionnée 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 colonnes de texte, vous pouvez utiliser une combinaison de données statiques et dynamiques.

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

Définition de conditions pour les actions de workflow en temps réel

Les actions que vous appliquerez dépendent souvent de conditions. Les processus de workflow en temps réel fournissent plusieurs moyens de définir des conditions et de créer une logique de branchement pour obtenir les résultats escomptés. Vous pouvez contrôler les valeurs de la ligne sur laquelle le processus de workflow en temps réel s’exécute, celles de l’une des lignes liées à 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 la ligne sur laquelle le workflow s’exécute, celles de l’une des lignes liées à cette ligne par une relation N:1 ou celles d’une ligne créée 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> then », 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 ne peuvent être utilisés que sur les tables ayant une relation hiérarchique définie. Si vous essayez d’utiliser ces opérateurs sur les tables 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 table qui n’a pas de relation hiérarchique définie. Soit rendre la table hiérarchique (en marquant une relation comme hiérarchique), soit utiliser un opérateur différent ».

Pour plus d’informations sur les relations hiérarchiques, accédez à Définir et interroger des données hiérarchiques. Une capture d’écran qui suit le tableau est un exemple de la définition du processus de workflow en temps réel qui utilise les opérateurs hiérarchiques Inférieur et Pas inférieur.
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 Les flux de travail en temps réel ne peuvent pas utiliser de conditions d’attente. Cependant, les conditions d’attente peuvent être utilisées avec les workflows d’arrière-plan. En savoir plus : Définition de conditions pour les actions de workflow en arrière-plan
Attendre la branche parallèle Définit une autre condition d’attente pour un flux de travail en temps réel avec un ensemble correspondant d’étapes supplémentaires qui sont effectuées uniquement lorsque le critère initial est rempli. Vous pouvez utiliser des branches d’attente parallèles pour créer des délais dans votre logique de workflow en temps réel. Elles permettent d’éviter que le workflow en temps réel n’attende indéfiniment que les critères définis dans une condition d’attente soient remplis.
Étape personnalisée Les développeurs peuvent créer des étapes de workflow en temps réel 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 la ligne pour définir l’action à effectuer en fonction de la condition.

Processus de workflow avec les opérateurs Under/ Not Under.

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 en temps réel 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 en temps réel 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 en temps réel 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.

Pour Démarrer quand Explication
La ligne est créé Après Seul Après est disponible. La ligne n’aura pas d’Identificateur unique avant la phase interne de MainOperation et ne peut donc pas se produire avant la création de la ligne.
Modifications du statut de la ligne Avant le
Après
Correspond à une opération de mise à jour qui offre la possibilité d’appliquer une logique de workflow en temps réel avant ou après les changements d’état. Avant correspond à la phase de préopération. Après correspond à la phase de postopération.
La ligne est attribuée Avant le
Après
Correspond à une opération de mise à jour qui offre la possibilité d’appliquer une logique de workflow en temps réel avant ou après les changements d’état. Avant correspond à la phase de préopération. Après correspond à la phase de postopération.
Changement des colonnes de ligne Avant le
Après
Correspond à une opération de mise à jour qui offre la possibilité d’appliquer une logique de workflow en temps réel avant ou après les changements d’état. Avant correspond à la phase de préopération. Après correspond à la phase de postopération.
La ligne est supprimée Avant le Seul Avant est disponible. La suppression de ligne correspond à l’étape PreOperation. Une fois la MainOperation effectuée, la ligne est supprimée et aucun autre changement de statut ne peut se produire.

Pour plus d’informations sur les phases de préopération, d’opération principale et de postopération, voir Pipeline d’exécution d’événements.

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 quand des ressources sur le serveur 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 souhaiterez peut-être définir certaines valeurs par défaut pour une ligne la première fois qu’il est enregistré, ou vous voulez vous assurer que certaines lignes ne sont pas supprimées.

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 une condition 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 en temps réel 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 en temps réel 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 en temps réel 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 en temps réel, vous avez la possibilité de spécifier une condition d’état qui peut être Réussie ou Annulée. 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.

Étapes suivantes

Superviser et gérer les processus de workflow en temps réel
Meilleures pratiques pour les processus de workflow en temps réel

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).