Comment visualiser CSV en tant que flux de travail

Un flux de travail est un processus comportant des retouches. Comment écrire une ligne arrière à référencer dans un fichier CSV, limiter les nouvelles tentatives afin que les révisions ne puissent pas cycler indéfiniment et identifier…

Un fichier CSV devient un flux de travail plutôt qu'une liste dès qu'une ligne à cellule contient un numéro de ligne inférieur au sien : cette référence en arrière est la boucle de retravail de chaque processus d'approbation et presque toutes les exportations sont laissées de côté.

En bref

  • Une ligne vers un numéro inférieur à sa propre ligne est une boucle en arrière. Rien d'autre ne le marque.
  • Les lignes de boucle sont des lignes multi-cibles, leurs cellules contiennent donc des virgules et doivent être citées au format CSV.
  • Limiter la nouvelle tentative : une décision qui compte la tentative est ce qui arrête définitivement une boucle.
  • Les lignes retravaillées peuvent se trouver n'importe où dans le fichier : la boucle est le bord, pas la position.
  • Une référence en arrière dans une ligne qui ne refait aucun travail est une faute de frappe, pas une boucle.

Où se cachent les boucles dans un fichier exporté

Les exportations CSV d'un processus proviennent de systèmes qui enregistrent ce qui s'est passé : un journal d'approbation, une exportation de ticket, la table d'audit derrière un moteur de workflow. Ils sont plats, une ligne par événement, généralement classés par horodatage, et ils sont complets sur le passé et silencieux sur la forme. En lire un comme un workflow, c'est répondre à une question que le dossier ne contient pas : lorsque cette étape est rejetée, où retourne le travail ?

Dans QueryChart, la réponse est un nombre. La colonne Ligne vers contient les numéros de ligne de base 1 auxquels une ligne se connecte, et rien n'exige que ce nombre soit plus grand que la ligne sur laquelle il se trouve. Le rang 16 pointant vers le rang 3 est une boucle : l'ouvrage revient au rang 3 et avance à nouveau. C'est tout le mécanisme. Il n'y a pas de forme de boucle, pas de marqueur de répétition et pas de colonne de retour séparée : un flux de travail diffère d'un processus en ligne droite par un nombre plus petit que prévu.

CSV rend ce chiffre plus difficile à obtenir qu'une feuille de calcul, pour une raison spécifique au format. Les lignes qui bouclent sont les lignes avec plus d'une destination, donc leur ligne vers la cellule lit 3,17 et leur cellule de texte Ligne lit Première révision, Deuxième révision. Les deux contiennent des virgules, et une virgule dans un fichier délimité par des virgules doit être citée, sinon la ligne gagne silencieusement des colonnes et glisse hors de l'alignement avec l'en-tête. /fr/guides/comment-definir-des-connexions-d-organigramme-en-csv couvre les règles d'appariement ; cette page explique ce que signifient ces cellules une fois analysées.

L'exemple ci-dessous est un workflow d'approbation de remise, le même graphique que /fr/templates/modele-de-workflow-d-approbation-csv-approbation-de-remise-par-marge. Il comporte trois références arrière sur vingt-quatre lignes : une révision qui renvoie au calcul de la marge, une escalade qui renvoie au résumé du directeur et une contre-offre client qui renvoie à la révision. Ouvrez le panneau de la feuille de calcul et lisez la colonne Ligne vers par rapport aux numéros de ligne.

Comment cela fonctionne

  1. Réordonner l'export dans l'ordre de process

    Les exportations du système sont présentées dans l'ordre d'horodatage ou de ticket, c'est-à-dire dans l'ordre dans lequel les choses se sont produites, et non dans l'ordre dans lequel le processus s'exécute. Triez les lignes dans la séquence parcourue par un seul cas avant d'écrire une seule ligne dans la valeur, car ces valeurs sont des positions de ligne et le nouveau tri du fichier invalide ensuite chacune d'entre elles.

  2. Vérifiez que la ligne d'en-tête a survécu à l'exportation

    Les colonnes correspondent au nom de l'en-tête, la ligne d'en-tête est donc la seule partie du fichier qui doit être exactement exacte. Confirmez qu'il lit Forme, Texte de la zone, Ligne vers, Texte de la ligne. Une marque d'ordre d'octet provenant d'une exportation UTF-8 s'attache au premier nom d'en-tête, et une exportation délimitée par des points-virgules depuis un système européen place la ligne entière dans une seule cellule : dans les deux cas, la colonne n'est pas reconnue et est effectuée comme un extra inutilisé plutôt que d'échouer bruyamment.

  3. Écrivez d'abord le chemin d'accès

    Remplissez Ligne vers pour le cas direct uniquement, où chaque nombre est plus grand que la ligne sur laquelle il se trouve. Exécutez le flux de travail de bout en bout sans aucune retouche. Les boucles ajoutées à un chemin que vous n'avez pas encore vérifié sont presque impossibles à relire, car vous ne pouvez pas distinguer un arc de retour d'un mauvais nombre lorsque les deux pointent sur une ligne dont vous n'êtes pas sûr.

  4. Ajoutez une ligne de retouche et pointez le bord de retour dessus

    Attribuez à la révision sa propre ligne (« Réviser la remise, le prix ou les conditions ») et envoyez chaque décision de rejet sur cette ligne plutôt que de dupliquer une étape de retouche sous chaque approbateur. Ensuite, écrivez le bord de retour hors du bloc de retouche, en pointant vers la ligne où l'entrée modifiée est réévaluée. Dans l'exemple de la ligne 3, le calcul de la marge, pas de la ligne 1.

  5. Limitez la nouvelle tentative

    Une boucle non plafonnée est un flux de travail qui peut s’exécuter indéfiniment, ce qui n’est pas le cas dans un processus réel. Ajoutez une décision après la ligne de retouche qui demande combien de fois cela est revenu (ligne 16, « Deuxième fois de retour du même approbateur ? ») avec la ligne 3,17 : arrondissez la boucle une fois, escaladez lors du deuxième passage. Citez cette cellule pour que la virgule reste à l'intérieur.

  6. Déposez le fichier et lisez les flèches vers l'arrière

    Faites glisser le fichier .csv sur la zone de feuille de calcul d'un nouveau graphique ou collez le texte directement dedans, et le diagramme s'affichera. Ensuite, lisez chaque flèche qui va à l’envers. Chacun doit être un cas que vous pouvez nommer à haute voix : une révision, une escalade, une contre-offre. Une flèche que vous ne pouvez pas nommer est un numéro de ligne transposé, et c'est la seule vue dans laquelle cela est évident.

Erreurs à éviter

  • La virgule à l'intérieur de la ligne vers la cellule

    Une rangée avec deux destinations contient 3,17 et une rangée avec trois contient 19,15,22. Non citées dans un fichier délimité par des virgules, celles-ci deviennent trois et quatre colonnes, chaque colonne suivante se décale vers la gauche et le désalignement atterrit exactement sur les lignes qui contiennent les boucles. Les feuilles de calcul citent ces cellules par défaut lors de l'exportation ; Ce n’est souvent pas le cas des fichiers écrits à la main et générés par script.

  • Trier le fichier après l'avoir numéroté

    Les valeurs de ligne vers sont des positions de ligne, pas des identifiants, donc une sorte de feuille renumérote chaque ligne et laisse chaque référence pointant vers ce qui occupe maintenant cette position. Le graphique s'affiche toujours et est totalement faux. Réglez d'abord la commande (voir /fr/guides/comment-structurer-un-fichier-csv-pour-les-organigrammes) puis le numéro.

  • Une boucle qui rentre trop tôt

    Pointer le bord de retour sur la ligne 1 redémarre l'admission, ce qui prétend que le client a soumis une deuxième demande. Envoyez-le à la première ligne dont le résultat change réellement en raison de la refonte. Dans l'exemple, la révision revient au calcul de la marge, car le prix a changé et la marge découle du prix.

  • Pas de sortie de boucle

    Un bord arrière sans compteur à côté crée un flux de travail qui ne se termine jamais et cache le cas que tout le monde redoute : l'accord qui revient trois fois et meurt de toute façon. Le plafond est une décision avec une deuxième branche : la ligne 16 va à 17, et 17 soit est transmise au directeur, soit se termine par "Accord abandonné pour des raisons de marge".

Questions fréquentes

Une ligne vers la valeur peut-elle pointer vers une ligne antérieure ?

Oui, et c'est tout le mécanisme de refonte. La ligne vers prend la position de base 1 de la ligne cible et rien ne l'oblige à être plus grande que la ligne sur laquelle elle se trouve, donc une cellule de 3 dans la ligne 16 dessine une flèche de 16 vers 3. Le moteur de rendu l'achemine autour des cases ; vous ne le placez pas. Puisqu'il n'y a pas de marqueur de boucle séparé, lire un CSV pour ses boucles signifie rechercher des nombres plus petits que leur propre ligne : c'est le seul signal dans le fichier.

Comment puis-je empêcher une boucle de retouche de rouler pour toujours ?

Mettez une Décision sur le chemin de retour qui compte les tentatives. Dans l'exemple, la ligne 16 demande « Deuxième retour du même approbateur ? et porte la ligne jusqu'à 3,17 avec le texte de ligne Première révision, Deuxième révision, de sorte que le premier passage fait le tour et le second quitte la boucle pour la ligne 17, "Conserver la remise ou s'en aller ?". Le décompte n’est stocké nulle part : le diagramme documente la règle, et la règle est ce que les gens suivent. Ce qui compte, c'est que la boucle ait une sortie étiquetée sur le graphique plutôt qu'une sortie implicite dans la tête de quelqu'un.

Comment distinguer une véritable boucle d'un mauvais numéro de ligne dans le fichier de quelqu'un d'autre ?

Trois épreuves. La ligne cible refait-elle le travail que la refonte a réellement modifié ? Une boucle qui revient à une étape dont le résultat ne peut pas différer cette fois est une erreur. Le bord arrière laisse-t-il une décision ? Une ligne de processus dont la seule ligne pointe vers l'arrière, sans sortie vers l'avant, rend le reste du fichier inaccessible et constitue presque toujours une transposition. Et la succursale est-elle étiquetée ? Les vraies boucles portent un texte de ligne nommant le cas ; les fautes de frappe ne le font jamais, car personne ne marque un bord qu'il n'avait pas l'intention de dessiner.

Mon exportation comporte une ligne par événement d'approbation, et non une par étape. Que dois-je faire?

Réduisez-le. Un tableau d'audit répète la même étape une fois par occurrence, de sorte qu'un accord qui a été révisé deux fois apparaît sous la forme de deux lignes « retourné au demandeur », et son importation produit directement un diagramme d'un cas plutôt qu'une définition du processus. Retirez les étapes distinctes, conservez une ligne chacune et laissez la référence arrière effectuer la répétition : cette substitution est le point de la boucle. /csv-workflow-generator en a la version plus courte si vous souhaitez simplement voir le fichier rendu en premier.

Le schéma reste-t-il lisible lorsque les boucles traversent les voies ?

Le routage est calculé plutôt que dessiné, de sorte qu'un bord de retour de la colonne Retravailler vers la colonne Devis est acheminé autour des boîtes sans que vous ne déplaciez quoi que ce soit. Ce qui rend un workflow en boucle illisible, ce ne sont pas les flèches mais l'ordre des lignes : gardez les lignes de retravail ensemble, comme le sont les lignes 15 à 17 dans l'exemple, au lieu de disperser une étape de révision sous chaque approbateur. Trois approbateurs avec une ligne de retouche produisent chacun trois boucles qui n'en font en réalité qu'une.

Plus dans Guides de cartographie des processus