# Variabler

## Hva er variabler?

Variabler fungerer som plassholdere for dynamisk informasjon, det vil si data som endres automatisk avhengig av konteksten, som for eksempel kunde, prosjekt eller dokumenttype. Når dokumentet eller malen lastes opp i systemet, byttes variabelen ut med riktig informasjon fra systemet og setter den inn på rett sted.

En variabel kan beskrives som et midlertidig felt som senere vil bli erstattet med korrekt informasjon. For eksempel vil {kunde.navn} automatisk bli byttet ut med kundens faktiske navn. I én faktura kan dette være Olsen Elektro AS, mens i en annen faktura laget med samme mal kan det være Hansen Bygg AS.

***

## Variabler i Dibbel

I Dibbel brukes variabler for enkelt å lage maler med det oppsettet og den strukturen man ønsker. På den måten kan du gjenbruke samme oppsett til for eksempel flere tilbud, fakturaer eller rapporter. Dibbel har egne forhåndsdefinerte variabler du kan bruke, men du kan også lage dine egne. Variablene er knyttet til bestemte felt, slik at riktig informasjon settes inn automatisk. De brukes også i kalkulasjonsfelt i kalkulasjonsblokker, der de henter inn verdier og gjør beregninger automatisk.

### Hvorfor bruke variabler i Dibbel?

Ved å bruke variabler i en mal slipper du å fylle inn opplysninger manuelt. Det sparer tid, reduserer risikoen for skrivefeil og sørger for at informasjonen alltid er korrekt og oppdatert. Samtidig bidrar det til en tydelig og konsistent struktur i oppsettet du lager og sender ut, og malen kan enkelt gjenbrukes og tilpasses ved behov.

***

## Oppsett og skrivespråk for variabler

Når du arbeider med variabler, er det noen grunnleggende regler du må følge. De handler i hovedsak om hvordan variabelen skrives inn for at den skal fungere. Nedenfor finner du en kort oversikt over de viktigste tegnene og skrivereglene å huske på.

<details>

<summary><strong>Bruk av krøllparentes <code>{}</code></strong></summary>

Bruk av krøllparentes er essensielt når man skriver inn variabler. Bruker du ikke dette, vil ikke variablene fungere. Sørg derfor alltid for at variablene står inni krøllparentes[^1].&#x20;

</details>

<details>

<summary><strong>Bruk av mellomrom</strong></summary>

For at en variabel skal fungere, må den "henge sammen". Det vil si at man ikke kan bruke mellomrom i en variabel. Bruker man mellomrom, vil systemet oppfatte det som to forskjellige variabler. For at en variabel med bruk av flere ord skal fungere, vil systemet benytte seg av bindetegn som eksempelvis understreker `_` mellom hvert ord. Se eksempel her: <img src="/files/OXXw9hwS47LC9WAfioqS" alt="" data-size="line">

</details>

<details>

<summary><strong>Punktum</strong></summary>

Punktum i en variabel markerer undertema i forhold til hovedtema. Dette gjør det mulig å lage dynamiske variabler, der delen etter punktum kan variere uten å miste koblingen til hovedtemaet. For eksempel kan **"kunde"** være hovedvariabelen og **"navn"** undertemaet: `{kunde.navn}`.

</details>

<details>

<summary><strong>Iterator</strong></summary>

En iterator kan sees som en videreføring av punktum i variabler. Mens punktum binder et undertema til et hovedtema (f.eks. `kunde.navn`), gir iteratoren mulighet til å jobbe med lister av variabler. Du kan bruke den til å filtrere, sortere eller begrense hva som vises. For eksempel kan du velge å bare hente variabler som er over en viss sum, og vise dem i stigende rekkefølge. Iteratorer beskrives nærmere i <a href="/pages/dVjXOTIuRkNcAV1G3K5j" class="button primary">Iteratorer</a>

</details>

<details>

<summary><strong>Bruk av små og store bokstaver</strong></summary>

Som hovedregel brukes små bokstaver i variabler for å unngå feil og misforståelser. I Dibbel genereres både standardvariabler og variabler laget fra titler automatisk med små bokstaver, og de er klare til bruk i Word-dokumenter.

</details>

<details>

<summary><strong>Spørsmålstegn</strong> <i class="fa-question">:question:</i></summary>

I Dibbel henter du variabler fra variabellisten, der alle tilgjengelige variabler for skjemaet er samlet. De fleste variabler kan kopieres direkte fra listen og brukes i Word-maler.

Noen variabler har imidlertid et spørsmålstegn bak navnet. Dette betyr at variabelen enten:

* består av flere underfelter (en gruppering), eller
* har flere måter å vises eller formateres på

Klikker du på spørsmålstegnet, får du enten en oversikt over hvilke underfelter variabelen inneholder, eller valg for hvordan verdien skal vises (for eksempel som valuta, dato eller tekst).

I begge tilfeller må du velge riktig alternativ før variabelen kan brukes i Word-malen.

Les mer om spørsmålstegn i variabellisten her: <a href="/pages/tHjO2SyEYIAUyxlhmQl1" class="button primary">Variabelliste: underkategorier og spørsmålstegn</a>

</details>

***

### Testvisning

Før du tar en mal i bruk, bør du alltid teste at variablene fungerer som de skal. Det betyr å kontrollere at riktig informasjon hentes inn, og at dokumentet får det oppsettet du ønsker.

**Forhåndsvisning av malen**

Allerede før malen publiseres kan du forhåndsvise den.

* Forhåndsvisningen viser oppsettet: tekst, bilder og plassering av variabler.
* Selve innholdet bak variablene vil ikke vises her, men forhåndsvisningen gir en god indikasjon på hvordan malen vil se ut visuelt og strukturelt.

**Last opp word-mal**

* For å kunne forhåndsvise malen, må du ha fylt inn variablene i et word-dokument og lastet dokumentet opp i skjemabyggeren.

<div align="left"><figure><img src="/files/4d8mbLR5LIXGR5ZggmjK" alt="" width="375"><figcaption></figcaption></figure></div>

* Klikk på **"Forhåndsvis"** for å se før du publiserer.

<div align="left"><figure><img src="/files/JVi0h7PKOq2kJv1jtDRu" alt="" width="375"><figcaption></figcaption></figure></div>

**Gjør endringer ved behov**

* Fjern det opplastede Word-dokumentet fra malen hvis noe må endres.
* Last opp en oppdatert versjon og trykk **“Oppdater”** (v.1, v.2, v.3 osv.).
* Endringene blir umiddelbart synlige, uten at du trenger å opprette et nytt tilbud.&#x20;

Får du opp en feilmelding? Se informasjon om feilsøking her: <a href="https://app.gitbook.com/o/xFSIDtp7N1yvEwTsdByn/s/6aWzMnk8Uk6WDJJWUE46/~/edit/~/changes/213/brukerveiledninger/for-nettsiden/funksjoner/ressursmaler/rapportmal/feilsoking" class="button primary">Feilsøking</a>

***

[^1]: **Slik skriver du krøllparentes på tastaturet**\
    **På** **Mac**:&#x20;

    * Venstre krøllparentes `{`: Trykk **Option (⌥) + Shift + 8**
    * Høyre krøllparentes `}`: Trykk **Option (⌥) + Shift + 9**

    **På Windows:**&#x20;

    * Venstre krøllparentes `{`: Trykk **Alt Gr + 7**
    * Høyre krøllparentes `}`: Trykk **Alt Gr + 0**&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dibbel.no/brukerveiledninger/for-nettsiden/funksjoner/ressursmaler/rapportmal/variabler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
