Dynamikk
Slik setter du opp dynamikk i skjemaer i Altinn Studio.
Med dynamikk kan du for eksempel skjule et felt eller gjøre det skrivebeskyttet ut fra det brukeren har fylt ut. Du setter det opp med uttrykk i Valg for dynamikk.
Med uttrykk kan du gi egenskaper verdier som endrer seg ut fra data i skjemaet. Se hva du kan bruke uttrykk til, og hvordan syntaksen fungerer.
Terminologi
I Altinn Studio heter konseptet logikk, og et uttrykk heter logikkregel.
Bygge uttrykk i Altinn Studio
Før du starter, må du
- være inne på siden Utforming for appen
- ha åpnet en side i skjemaet og valgt komponenten du vil sette opp dynamikk for
- ha åpnet Valg for dynamikk i panelet til høyre

Eksempelet nedenfor bruker dette skjemaet. Det bruker feltet Alder fra datamodellen, så oppgaven må ha en datamodell. Hvis kortet for oppgaven under Oversikt viser «Datamodell:» uten navn, er listen over datamodellfelt tom.

Oppgaven:
Skjemaet skal bare la brukeren sende inn hvis feltet Alder er fylt ut og verdien er 18 eller mer. Ellers skal knappen Send inn være skjult.
Grunnleggende uttrykk
Klikk på Lag en ny logikkregel og velg hva som skal skje med komponenten. For en knapp er det eneste alternativet Skjul felt dersom.

Lag ny logikkregel og velg hva som skal skje med komponenten Når knappen ikke har flere egenskaper du kan sette regler på, blir Lag en ny logikkregel grå med teksten «Komponenten har ikke flere egenskaper som Studio kan sette regler på.»
Klikk på Legg til underuttrykk for å begynne å bygge opp uttrykket.
Studio legger til et nytt underuttrykk. Det starter som «0 er lik 0», og du endrer det i neste steg.
Klikk på Endre for å redigere underuttrykket.
Sett opp at verdien i Alder skal være mindre enn 18:
- Øverst velger du Datamodell i Type og feltet for alder i Datamodellfelt.
- I Operator velger du er mindre enn.
- Nederst velger du Tall i Type og skriver
18i Verdi.
Klikk på Lagre og lukk for å lagre underuttrykket.
Sett opp et underuttrykk som sjekker om Alder er tomt:
- Klikk på Legg til underuttrykk.
- Sjekk at Operator øverst i regelen står på Eller (da må minst ett være oppfylt).
- Gjenta stegene i punkt 4, men med disse endringene:
- I Operator: Velg er lik i stedet for er mindre enn.
- Nederst: Velg Ikke satt i Type. Ikke sett opp noe mer.
Test dynamikken i forhåndsvisningen:
- Knappen Send inn er skjult når feltet Alder er tomt.
- Hvis du skriver inn for eksempel 20 i feltet Alder, ser du knappen Send inn.
- Hvis du skriver inn for eksempel 12 i feltet Alder, forsvinner knappen Send inn.
Redigere uttrykket manuelt
Hver regel har fanene Forenklet og Manuell. I Forenklet bygger du uttrykket med valgene over. I Manuell kan du skrive uttrykket selv, i samme format som appen bruker.
Hvis Studio ikke kan vise et uttrykk i Forenklet, for eksempel et nøstet uttrykk, kan du bare redigere det i Manuell.
Begrensninger i Altinn Studio
Altinn Studio har noen begrensninger når du lager uttrykk.
Tilgjengelige komponentfelter
Studio kan bare bygge uttrykk for noen av komponentfeltene. Vi jobber med å få støtte for uttrykk knyttet til
- tekstressursbindinger på komponenter
- prosess
Nøsting
Studio kan bare bygge uttrykk med ett nøstenivå. En verdi i et underuttrykk kan bare være en direkte eller indirekte verdi, ikke et nytt underuttrykk. Hvis verdien er et underuttrykk, kan du bare redigere uttrykket i fanen Manuell.
Egenskaper som allerede har en verdi
Hvis en egenskap på komponenten allerede har verdien true eller false, viser Studio den som en egen regel med valgene Sann og Usann. Klikk på Gjør om til logisk uttrykk hvis du vil bygge et uttrykk for egenskapen i stedet.
Lagre et uttrykk
Klikk på Lagre og lukk for å lagre et underuttrykk. Hvis uttrykket er ugyldig, lagrer ikke Studio det, men viser en liste over feilene du må rette.



