Sådan visualiserer du en CSV som et workflow

Et workflow er en proces med omarbejdning i. Sådan skriver du en henvisning bagud i Linje til i en CSV, sætter loft på gentagelsen, så tilretninger ikke kan køre i ring for evigt, og skelner en rigtig sløjfe fra et forkert rækkenummer.

En CSV-fil bliver til et workflow frem for en liste i samme øjeblik, én celle i Linje til rummer et rækkenummer, der er mindre end dens eget: den henvisning bagud er den omarbejdningssløjfe, enhver godkendelsesproces har, og som næsten enhver eksport udelader.

Kort fortalt

  • Et tal i Linje til, der er mindre end rækkens eget, er en sløjfe tilbage. Intet andet markerer en.
  • Sløjferækker er rækker med flere mål, så deres celler rummer kommaer og skal stå i anførselstegn i CSV.
  • Sæt loft på gentagelsen: en beslutning, der tæller forsøget, er det, der stopper en sløjfe fra at køre i ring for evigt.
  • Omarbejdningsrækkerne kan stå hvor som helst i filen: sløjfen er kanten, ikke placeringen.
  • En henvisning bagud til en række, der ikke laver noget om, er en tastefejl, ikke en sløjfe.

Hvor sløjferne gemmer sig i en eksporteret fil

CSV-eksporter af en proces kommer ud af systemer, der registrerer, hvad der skete: en godkendelseslog, en sagseksport, sporingstabellen bag en workflow-motor. De er flade, én række pr. hændelse, som regel sorteret efter tidsstempel, og de er fuldstændige om fortiden og tavse om formen. At læse en af dem som et workflow vil sige at besvare et spørgsmål, filen ikke indeholder: når dette trin bliver afvist, hvor går arbejdet så tilbage til?

I QueryChart er svaret et tal. Kolonnen Linje til rummer de rækkenumre, en række forbinder til, hvor den første datarække tælles som 1, og intet kræver, at det tal er større end den række, det står på. Række 16, der peger på række 3, er en sløjfe: arbejdet vender tilbage til række 3 og kommer frem igen. Det er hele mekanismen. Der er ingen sløjfefigur, intet gentagelsesmærke og ingen særskilt returkolonne: et workflow adskiller sig fra en lineær proces ved, at ét tal er mindre end forventet.

CSV gør det ene tal sværere at få rigtigt, end et regneark gør, af en grund, der er specifik for formatet. De rækker, der har sløjfer, er de rækker, der har mere end ét mål, så deres celle i Linje til lyder 3,17 og deres celle i Linjetekst lyder Første tilretning,Anden tilretning. Begge indeholder kommaer, og et komma i en kommaadskilt fil skal stå i anførselstegn, ellers får rækken i stilhed flere kolonner og glider ud af flugt med overskriften. /da/guides/definer-flowchart-forbindelser-i-csv dækker reglerne for parringen; denne side handler om, hvad de celler betyder, når de først kan læses.

Eksemplet herunder er et workflow for rabatgodkendelse, det samme diagram som /da/templates/csv-til-godkendelsesworkflow. Det har tre henvisninger bagud i fireogtyve rækker: en tilretning, der vender tilbage til marginberegningen, en eskalering, der vender tilbage til direktørens resumé, og et modbud fra kunden, der vender tilbage til tilretningen. Åbn regnearkspanelet, og læs kolonnen Linje til op mod rækkenumrene.

Tre henvisninger bagud i fireogtyve rækker

Et workflow for rabatgodkendelse i fire faser af færdighed. Regnearkspanelet under lærredet viser, hvilke kolonner der er udfyldt: hold øje med tal i Linje til, der er mindre end den række, de står på.

  1. Figurer, ingen forbindelser

    Række 1 til 6 med kolonnen Figur udfyldt og intet andet: et Start til "Modtag en rabatanmodning fra kunden", tre procesrækker, beslutningen "Margin på 40 % eller derover?" og godkendelsen på sælgerniveau. Intet peger nogen steder hen endnu. Det er nogenlunde det, en rå eksport giver dig: en liste med en typekolonne skruet på, hvilket er en tabel, ikke et workflow.

  2. Vejen fremad

    Linje til udfyldes, og godkendelsesstigen dukker op: række 5 deler sig til 6 eller 7, række 7 til 8 eller 10, række 10 til 11 eller 13, og hvert trin rækker margininterval videre til en mere senior godkender. Hvert eneste tal i denne begyndelse er større end den række, det står på, så alle pilene løber fremad, og filen kunne stadig læses oppefra og ned som en liste.

  3. Tallet, der peger bagud

    Række 15 til 17 tilføjer omarbejdningsblokken, og række 16 er der, hvor filen holder op med at være en liste. "Anden gang retur fra den samme godkender?" bærer Linje til 3,17 med Linjetekst Første tilretning,Anden tilretning: 3-tallet er mindre end 16, så en første tilretning vender tilbage til "Beregn bruttomarginen efter rabat": en ændret pris er en ændret margin og kan lande i et andet interval. Den anden tilretning går til 17 i stedet, og det er loftet.

  4. Hele workflowet med baner

    Alle fireogtyve rækker, med Tilbud, Marginkontrol, Godkendelse, Tilretning og Udsendelse hen over toppen og Sælger, Salgschef, Økonomi og Kommerciel direktør ned ad siden. Kolonnen Tilretning samler nu synligt række 15 til 17, og det er grunden til, at sløjfen er læsbar på lærredet og usynlig i eksporten. Den sidste henvisning bagud sidder på række 20, hvor "Beder om større rabat" sender kundens modbud tilbage til række 15 frem for til et nyt tilbud.

Sådan fungerer det

  1. Sortér eksporten om til procesrækkefølge

    Systemeksporter kommer ud i tidsstempel- eller sagsrækkefølge, hvilket er den rækkefølge, tingene skete i, ikke den rækkefølge, processen kører i. Sortér rækkerne ind i den sekvens, en enkelt sag rejser gennem, før du skriver en eneste værdi i Linje til, for de værdier er rækkeplaceringer, og en ny sortering af filen bagefter ugyldiggør hver eneste af dem.

  2. Kontrollér, at overskriftsrækken overlevede eksporten

    Kolonner matches på overskriftsnavn, så overskriftsrækken er den eneste del af filen, der skal være helt præcis. Bekræft, at der står Figur, Bokstekst, Linje til, Linjetekst. Et byte order mark fra en UTF-8-eksport sætter sig fast på det første overskriftsnavn, og en semikolonadskilt eksport fra et europæisk system lægger hele linjen i én celle, i begge tilfælde bliver kolonnen ikke genkendt og tages med som en ubenyttet ekstra frem for at fejle højlydt.

  3. Skriv vejen fremad først

    Udfyld Linje til for det lineære tilfælde alene, hvor hvert tal er større end den række, det står på. Få workflowet til at køre fra ende til anden helt uden omarbejdning. Sløjfer lagt oven på en vej, du endnu ikke har efterprøvet, er næsten umulige at læse tilbage, for du kan ikke skelne en returkant fra et forkert tal, når begge peger på en række, du er usikker på.

  4. Tilføj én omarbejdningsrække, og peg returkanten på den

    Giv tilretningen sin egen række ("Ret rabatten, prisen eller vilkårene") og send hver afvisende beslutning til netop den række frem for at gentage et omarbejdningstrin under hver godkender. Skriv derefter returkanten ud af omarbejdningsblokken, så den peger på den række, hvor det ændrede grundlag vurderes igen. I eksemplet er det række 3, marginberegningen, ikke række 1.

  5. Sæt loft på gentagelsen

    En sløjfe uden loft er et workflow, der kan køre for evigt, og i en virkelig proces gør det ikke det. Tilføj en beslutning efter omarbejdningsrækken, der spørger, hvor mange gange dette er kommet retur (række 16, "Anden gang retur fra den samme godkender?") med Linje til 3,17: én tur rundt i sløjfen, eskalering ved anden gennemgang. Sæt anførselstegn om den celle, så kommaet bliver inde i den.

  6. Træk filen ind, og læs pilene bagud

    Træk .csv-filen over på et nyt diagrams regnearksområde, eller indsæt teksten direkte i det, så tegnes diagrammet. Læs derefter hver pil, der løber bagud. Hver af dem skal være et tilfælde, du kan sige højt: en tilretning, en eskalering, et modbud. En pil, du ikke kan navngive, er et ombyttet rækkenummer, og det er den eneste visning, hvor det er indlysende.

Faldgruber du skal undgå

  • Kommaet inde i cellen i Linje til

    En række med to mål rummer 3,17, og en med tre rummer 19,15,22. Uden anførselstegn i en kommaadskilt fil bliver de til tre og fire kolonner, hver senere kolonne rykker til venstre, og forskydningen rammer præcis de rækker, der bærer sløjferne. Regneark sætter som regel selv anførselstegn om den slags celler ved eksport; håndskrevne og scriptgenererede filer gør det ofte ikke.

  • At sortere filen, efter du har nummereret den

    Værdier i Linje til er rækkeplaceringer, ikke id'er, så én sortering af arket nummererer hver række om og efterlader hver henvisning pegende på det, der nu ligger på den placering. Diagrammet tegnes stadig og er fuldstændig forkert. Fastlæg rækkefølgen først (se /da/guides/strukturer-csv-til-flowcharts) og nummerér bagefter.

  • En sløjfe, der går ind igen for tidligt

    At pege returkanten på række 1 genstarter modtagelsen, hvilket påstår, at kunden indsendte en ny anmodning. Send den til den første række, hvis resultat reelt ændrer sig på grund af omarbejdningen. I eksemplet vender tilretningen tilbage til marginberegningen, fordi prisen blev ændret, og marginen følger af prisen.

  • Ingen udgang fra sløjfen

    En kant bagud uden en tæller ved siden af sig giver et workflow, der aldrig afsluttes, og skjuler det tilfælde, alle frygter: handlen, der kører rundt tre gange og alligevel dør. Loftet er en beslutning med en gren mere ud: række 16 går til 17, og 17 eskalerer enten til direktøren eller ender ved "Handel opgivet af marginhensyn".

Åbn eksemplet med godkendelsesworkflowet

Åbn eksemplet som dit eget diagram, erstat derefter rækkerne med din egen fil, og kontrollér, at hvert tal bagud lander der, hvor arbejdet reelt laves om.

Åbn eksemplet med godkendelsesworkflowet

Relaterede guides

Ofte stillede spørgsmål

Kan en værdi i Linje til pege på en tidligere række?

Ja, og det er hele mekanismen bag omarbejdning. Linje til tager målrækkens placering, hvor den første datarække tælles som 1, og intet begrænser den til at være større end den række, den står på, så et 3-tal i celle 16 tegner en pil fra 16 tilbage op til 3. Ruteføringen fører den uden om kasserne; du placerer den ikke. Fordi der ikke findes et særskilt sløjfemærke, betyder det at læse en CSV for dens sløjfer, at man scanner efter tal, der er mindre end deres egen række, det er det eneste signal i filen.

Hvordan forhindrer jeg en omarbejdningssløjfe i at køre i ring for evigt?

Læg en beslutning på returvejen, der tæller forsøget. I eksemplet spørger række 16 "Anden gang retur fra den samme godkender?" og bærer Linje til 3,17 med Linjetekst Første tilretning,Anden tilretning, så den første tur går rundt, og den anden forlader sløjfen mod række 17, "Fastholde rabatten eller gå fra handlen?". Tællingen gemmes ingen steder: diagrammet dokumenterer reglen, og reglen er det, folk følger. Det afgørende er, at sløjfen har en navngiven vej ud på diagrammet frem for en underforstået i nogens hoved.

Hvordan skelner jeg en ægte sløjfe fra et forkert rækkenummer i en andens fil?

Tre prøver. Laver målrækken arbejde om, som omarbejdningen faktisk ændrede? En sløjfe, der vender tilbage til et trin, hvis resultat ikke kan blive anderledes denne gang, er en fejl. Forlader kanten bagud en beslutning? En procesrække, hvis eneste værdi i Linje til peger bagud uden en udgang fremad, gør resten af filen uopnåelig og er næsten altid en ombytning. Og har grenen en etiket? Rigtige sløjfer bærer en Linjetekst, der navngiver tilfældet; tastefejl gør aldrig, for ingen sætter navn på en kant, de ikke mente at tegne.

Min eksport har én række pr. godkendelseshændelse, ikke én pr. trin. Hvad gør jeg?

Klap den sammen. En sporingstabel gentager det samme trin én gang pr. forekomst, så en handel, der blev tilrettet to gange, optræder som to rækker med retur til anmoderen, og at importere den direkte giver et diagram over én sag frem for en definition af processen. Træk de særskilte trin ud, behold én række af hver, og lad henvisningen bagud bære gentagelsen: den udskiftning er hele pointen med sløjfen.

Forbliver diagrammet læsbart, når sløjferne krydser banerne?

Ruteføringen beregnes frem for at blive tegnet, så en returkant fra kolonnen Tilretning tilbage til kolonnen Tilbud føres uden om kasserne, uden at du flytter noget. Det, der gør et workflow med sløjfer ulæseligt, er ikke pilene, men rækkefølgen: hold omarbejdningsrækkerne samlet, som række 15 til 17 er det i eksemplet, frem for at sprede et tilretningstrin ud under hver godkender. Tre godkendere med hver sin omarbejdningsrække producerer tre sløjfer, der i virkeligheden er én.

Skabelonen bag denne guide

CSV til godkendelsesworkflow: skabelon (rabatgodkendelse) — Et rabatgodkendelsesworkflow, du kan indsætte som CSV: tre marginintervaller, fire godkenderbaner og tilretningssløjfer, hvis værdier i Linje til peger bagud op gennem filen til et rækkenummer lavere end den række, de står på.