Documentation ERPNext

ERPNext

Workflows

Un workflow décrit qui peut faire passer un document d'un état à l'autre. Il remplace le circuit Enregistrer puis Valider s'il est appliqué.

3 min de lectureMis à jour le Source : docs.frappe.io

À quoi sert un workflow

Avec les workflows, on réécrit la façon dont un processus est approuvé dans ERPNext. Plusieurs niveaux d'approbation sont possibles. Pour que plusieurs personnes soumettent plusieurs demandes, approuvées par plusieurs utilisateurs, il faut remplir les conditions du workflow. ERPNext suit les permissions avant la validation.

Exemple de la page : un devis demande plusieurs accords. Un commercial (rôle Sales User) crée le devis. Un responsable commercial (Sales Manager) l'approuve ou le rejette. S'il est approuvé, un responsable régional (Regional Manager) l'approuve ou le rejette à son tour.

On crée le workflow et les règles de transition dans Accueil > Paramètres > Workflow. Une fois créé, les actions se prennent dans les actions de workflow.

Avant de créer

La page conseille de préparer d'abord :

Créer le workflow

  1. Ouvrez la liste et créez un workflow.
  2. Saisissez un nom et le DocType concerné.
  3. Saisissez les états. Pour chacun : statut du document (Doc Status), champ à mettre à jour, et valeur écrite. Les états peuvent avoir une couleur, par exemple le vert pour un succès. Statuts : enregistré = 0, validé = 1, annulé = 2.
  4. Saisissez les règles de transition.

Points d'attention

Créer un workflow remplace le circuit habituel Enregistrer puis Valider. Le document suit le workflow, pas le circuit prévu dans le code. Le bouton Valider peut donc être absent si le workflow ne le prévoit pas.

Sans workflow, un document validable a les états par défaut Brouillon, Validé, Annulé. Si l'on applique un workflow à un document validable, ces états par défaut doivent être pris en charge dans le workflow.

Un document ne s'annule que s'il a été validé. Pour offrir l'annulation, il faut une transition qui part de l'état validé vers l'annulation.

Si les champs de la colonne Mettre à jour ne sont pas renseignés, un champ personnalisé est créé avec le nom indiqué dans le champ d'état du workflow (Workflow State Field).

Autres options :

  1. Est actif. Les autres workflows du même DocType deviennent inactifs.
  2. Ne pas remplacer le statut. Le statut de ce workflow ne remplace pas celui du document, par exemple le devis, dans la vue liste.
  3. Envoyer des alertes e-mail. Les e-mails partent vers l'utilisateur, avec les prochaines actions possibles.

État facultatif

Depuis la version 12, un état facultatif dans la table des états n'a pas à faire partie de l'approbation finale. Annulé ou Rejeté peuvent être facultatifs.

À retenir

Aucune action de workflow n'est créée pour un état facultatif.

Conditions

Une condition peut limiter une transition. Exemple : si un commercial crée un devis dont le total général atteint 100 000 ou plus, un rôle précis doit approuver. Sur la transition :

code
doc.grand_total <= 100000

grand_total est le nom du champ Total général du devis. Le nom de champ se lit dans Menu > Personnaliser. La condition peut porter sur n'importe quelle propriété du document.

Depuis la version 13, les expressions peuvent utiliser la date, la session, get_value et get_list. Fonctions autorisées :

  • frappe.db.get_value
  • frappe.db.get_list
  • frappe.session
  • frappe.utils.now_datetime
  • frappe.utils.get_datetime
  • frappe.utils.add_to_date
  • frappe.utils.now

Exemple :

code
doc.creation > frappe.utils.add_to_date(frappe.utils.now_datetime(), days=-5, as_string=True, as_datetime=True)

Exemple d'approbation de devis

Quand le commercial enregistre le devis, le statut passe à Brouillon. Au clic sur valider, il passe à « Approval Pending By Sales Manager ».

Le responsable commercial, une fois connecté, approuve ou rejette. S'il approuve, le statut devient « Approval Pending By Regional Manager ».

Le responsable régional ouvre le devis et peut enfin l'approuver ou le rejeter.

Pages du chapitre

La page d'origine renvoie aussi à la règle d'assignation.

Dans ce chapitre

  1. 01WorkflowLa page d'introduction décrit le workflow comme une suite d'étapes sur un document, puis renvoie aux états, aux actions et aux transitions.
  2. 02État de workflowUn état de workflow est un statut du document pendant son circuit. La couleur dépend du style associé à l'étape.
  3. 03Actions de workflowLes actions de workflow rassemblent ce qu'il reste à approuver ou à rejeter. L'e-mail n'est envoyé que si l'alerte du workflow est active.
  4. 04Tâches de transition de workflowUne tâche de transition s'exécute pendant le changement d'état. En synchrone, un échec annule la transition. En asynchrone, elle part après.
  5. 05Règle d'autorisationLa règle d'autorisation bloque la validation d'un rôle en dessous d'un seuil, et laisse un rôle approbateur passer au-dessus.
  6. 06Articles d'aideSommaire du chapitre « Articles d'aide » : liste des pages de la documentation ERPNext sur ce sujet, dans l’ordre d’origine.