Kalkulering - Trigger

Kalkulering - Trigger

English

Fra og med versjon 8.7.3 av Compose Enterprise kan du nå bruke ny trigger for automatiske kalkuleringer i skjema! Kalkulasjonstriggeren gjør det utrolig enkelt å sette opp kalkulering i skjema for å lage budsjetter, automatisere beregninger osv. Du finner kalkulasjonstriggeren i skjemabyggeren under Bygger-fanen i elementets panel med Egenskaper. Ved å trykke på Trigger åpnes Trigger-menyen hvor det nå befinner seg ett nytt alternativ Kalkulasjon.

Mer veiledning av hoved trigger-menyen finner du her: https://composetogo.atlassian.net/wiki/spaces/DNO/pages/1586987093

 

Kalkulasjon som ett trigger alternativ

 

Sette opp kalkuleringstrigger i skjema

I skjemabyggeren legger man til spørsmålselementene som skal brukes i kalkuleringen. Kalkuleringstriggeren plasseres der resultatet av beregningen skal vises. Dermed må også svarfeltet legges til i skjema.

Beregninger kan gjøres på tvers av sider, grupper og tabeller.

I eksempel skjema under har vi lagt til tekstfelt, radioknapper og nedtrekksliste.

Tekstfelt, Radioknapper og Nedtrekkslister er elementene som kan brukes i Kalkulasjonstriggeren.

Altså ikke tekstbokser eller sjekklister.

 

Det er viktig at valideringen for disse elementene blir satt til enten Heltall eller Desimal. Ellers vil ikke kalkuleringstriggeren fungere.

Dette settes for hvert element under Egenskaper i Bygger-fanen.

Kalkulasjonstriggeren bruker Svarverdien når den gjør beregninger. Ved bruk av radioknapper og nedtrekkslister må derfor Svarverdien ha den riktige tall verdien som skal benyttet i beregningen. I dette tilfelle vil svarverdien være er lik som tekstverdien.

Når du har lagt til alle elementene som skal være med i kalkulasjonene og satt valideringen til enten Heltall eller Desimal er du klar for å legge til kalkulasjonstriggeren.

Kalkulasjonstriggeren plasseres der svaret på kalkuleringen skal vises. Det er derfor mest hensiktsmessig å plassere kalkulasjonstriggeren i et tekstfelt. Å plassere triggeren i andre skjemaelementer slik som radioknapper, nedtrekkslister eller sjekkbokser fungerer ikke og vil ikke ha noe for seg.

Velg feltet du vil at kalkuleringssummen skal være i og åpne Trigger-menyen under Bygger-fanen i Egenskaper-panelet.

Ved å velge Kalkulasjon får vi tilgang til input feltet hvor vi definerer og setter sammen regnestykket som skal trigges. Dette gjøres ved å skrive direkte i input feltet, ta i bruk nedtrekkslisten og/eller bruke operatorknappene.

Tegnene som er tillatt i input feltet er:

  • Nummer: 1 2 3 4 5 6 7 8 9 0

  • Operatorer: + - * /

  • Andre tegn slik som: ( ) . % Q

Ved bruk av radioknapper og nedtrekkslister, må kalkuleringen trigges Under Utfylling for å fungere.

 

Marker input feltet ved å trykke på det og legg til spørsmålselementer fra nedtrekkslisten. Listen vil vise en oversikt over det som er tilgjengelig av tekstfelt, radioknapper og nedtrekkslister i skjemaet.

Deretter kan vi legge til + - x ÷ ved bruk av knappene. Du kan også skrive operatorene direkte inn med tastaturet.

Vi kan også skrive inn spørmålselementene direkte ved å skrive inn Q etterfulgt av spørsmål id-verdien. Dette er uavhengig av om det er tekstfelt, radioknapp eller nedtrekkslister.

Denne måten er annerledes til måten vi referer til spørsmålselementer i Groovy-skript.

https://composetogo.atlassian.net/wiki/spaces/DNO/pages/1288372240

I kalkulatortriggeren tilsvarer f.eks. Q1 til Q1.answer hvis spørsmålet er et tekstfelt. Hvis Q1 er Radioknapp- eller Nedtrekksliste-spørsmål, så tilsvarer Q1 = Q1.answer.value.

Når triggeren er lagt til svarfeltet, vil den få et grønt fargeikon som forteller at elementet inneholder konfigurasjon av en trigger.

Trykk Lagre kladd og Forhåndsvisning for å teste ut kalkulasjonen. Når alle felt er fylt ut vil svarfeltet umiddelbart vise resultatet av beregningen.

Kalkulasjonstrigger i dupliserbare grupper

Det er fult mulig å bruke kalkulasjonstriggeren til å gjøre beregninger med dupliserbare grupper. På denne måten kan man gi skjemautfyller mulighet for å legge til flere linjer som for eksempel flere utgiftsposter i et budsjett. Metoden for å opprette dupliserbare grupper er beskrevet her: https://composetogo.atlassian.net/wiki/spaces/DNO/pages/1301119229

Svarfeltet med kalkulasjonstriggeren for en dupliserbar gruppe kan ligge både inni eller utenfor den dupliserbare gruppen.

Selve regnestykket i triggeren kan kun referere/hente spørsmålselementer som ligger inni den dupliserbare gruppen. Beregningen vil feile hvis man kombinerer spørsmålselementer som ligger utenfor og inni en dupliserbar gruppe.

Oppførselen til svarfeltet vil være forskjellig avhengig om det ligger inni eller utenfor en dupliserbar gruppe.

Når et svarfelt ligger inni en spørsmålsgruppe og den dupliseres, vil hele spørsmålsgruppen kopieres nedover.

Når svarfeltet ligger utenfor en dupliserbar gruppe, vil kalkuleringen gjøres over alle spørsmålsgruppene som blir lagt til. Altså vil svarverdien av hver gruppe kalkuleres og totalsummen vil vises i svarfeltet som ligger utenfor. Kalkulasjonen i eksempelet under er lagt på Svarfelt og er Spørsmål 1 + Spørsmål 2:

Når alle felt i en gruppe skal ganges med hverandre blir svaret 0 fram til alle feltene er fylt ut.

Versjon 1 av kalkulatortriggeren

I versjon 8.7.3 av Compose er versjon 1 av kalkulatortriggeren publisert. Det er ikke alle kombinasjoner av grupper, tabeller, spørsmålstyper og regnestykker som støttes enda, men dette er på vei i neste versjon av Compose (estimert til å ankomme desember 2023). Her er en hendig oversikt over det som er mulig og ikke mulig:

Versjon 1 støtter

  • Kalkulering med svar fra tekstfelter, radioknapper og nedtrekkslister

    • Kalkuleringstriggeren kan kun settes på tekstfelt-spørsmål.

  • Kalkulasjon oppdateres etter endring av hver spørsmålskomponent i regnestykke

  • Kalkulasjon oppdateres etter å ha trykket på Legg til og Fjern-knapper i dupliserbare grupper

  • Kalkulering med spørsmål innenfor samme dupliserbare spørsmålsgruppe (både grupper og tabeller)

Versjon 2 vil støtte (desember 2023)

  • Kalkulering på tvers av flere dupliserbare spørsmålsgrupper (både grupper og tabeller)

  • Kalkulering med spørsmål som ligger innenfor og utenfor en dupliserbar gruppe

    • Ønsker man allikevel å gjøre slike beregninger, kan man plassere svarfeltet for en dupliserbar gruppe utenfor. Dette svarfeltet vil da være tilgjengelig til å brukes videre og referes til når det skal gjøres andre kalkulasjons beregninger utenfor denne spesifikke dupliserbare gruppen.