Iteratorer

Lær hvordan du bruker iteratorer i Dibbel-variabler for å telle, filtrere og organisere lister med data på en effektiv måte.

Hvordan iteratorer fungerer i praksis

Iteratorer kan brukes når du vil vise flere elementer av samme type, for eksempel en liste. Dette er nyttig i tilfeller der du vil hente frem alle linjer i et datasett, som produkter i et tilbud eller punkter i en sjekkliste.

Tidligere så vi at punktum i en variabel brukes til å binde et undertema til et hovedtema, for eksempel {kunde.navn}. Iteratoren bygger videre på dette prinsippet, men i stedet for å koble én verdi, henter den flere elementer i en liste samtidig.

For å bruke iteratorer starter du med en variabel som peker på datasettet du vil iterere over. For å markere selve starten legger du til en hashtag foran variabelen, for eksempel: {#billing.billingLines}. Her fungerer hashtaggen som et signal til systemet om at det nå skal gå gjennom hele listen med data, i dette tilfellet tilbudslinjene.

Til slutt må iteratoren lukkes med {/}, slik at systemet vet hvor listen slutter. Hele iteratoren blir dermed en pakke som starter, henter inn de feltene du har valgt, og avsluttes riktig. Resultatet er at alle elementene i listen vises automatisk i tabellen, uten at du trenger å legge inn hver variabel manuelt.


Eksempel: Bruk av iteratorer i en tilbudsmal

1

Finn frem til linjer

  • Klikk på variabellisten til tilbud

  • Klikk deg videre inn på linjer

2

Velg riktige linjer

  • Velg iteratorer fra listen under "Linjer" (Listen er ikke uttømmende)

3

Splitt opp iteratoren

  • I en tilbudsmal vil du ofte vise produkter med antall, pris og sum. Dette settes vanligvis inn i en tabell.

  • Del opp iteratoren for å vise flere felt i tabellen:

  • Husk alltid å lukke iteratoren med {/} .

4

Resultat

  • Slik kan et resultat se ut når malen benyttes for et tilbud med fire linjer:

circle-info

Tabellen utvides automatisk for å samsvare med antall linjer i tilbudet.

chevron-rightTelle (count)hashtag

Når du vil telle noe i en iterator, bruker du funksjonen count. Etter at du har startet iteratoren med {#submissions}, legger du til | count:. Dette forteller systemet at du vil telle antall elementer i listen. Deretter må du legge inn en betingelse som sier hva som skal telles.

For eksempel, hvis du vil telle antall innsendelser hvor typen er "slukker", skriver du: 'type=== "slukker"

Når man setter sammen hele variabelen, blir den seende slik ut:

{submissions | count:'type=== "slukker"'}.

For å bryte ned variabelen vil dette si

Bruke iterator = {#submissions}

{submissions | count:'type==="slukker"'}
chevron-rightFiltrere (where)hashtag

Når du vil filtrere i en iterator, bruker du funksjonen where. Her følger du samme prinsipp som når du skal telle, men med kodeord "where". For eksempel om du ønsker å kun vise innsendelser som har en signatur, da kan du gjøre slik:

{#submissions | where:'signatur'}{/}

{#submissions | where:'signatur'}{/}

Eller hvis du ønsker å iterere over alle som er av en viss type, kan du gjøre slik:

{#submissions | where:'type==="slukker"'}{/}

Du må alltid avslutte en variabel med {/} for å "lukke" den. Dette markerer slutten og gjør at systemet forstår betingelsen riktig.

Sist oppdatert