Triggere / Kalkulator

Triggere / Kalkulator

Designet til Compose har blitt oppdatert. Siden kan inneholde skjermbilder av det gamle designet, men informasjonen er oppdatert. Vi takker for din tålmodighet mens vi oppdaterer bildene!

English

Innhold

  1. Trigger-alternativer

  2. Hendelse – Kjør skript

  3. Hendelse – Kall CNG-integrasjon

  4. Hendelse – Integrasjonskall

En av de mest praktiske funksjonene i Compose er muligheten til å trigge handlinger. I Bygger-menyen i Skjemabyggeren, i Egenskaper-panelet mot bunnen av Bygger-fanen for spørsmål- og knapp-elementer, finner du en grønn knapp med tittelen Trigger. Ved å trykke på den tas du til Trigger-menyen hvor du kan spesifisere triggere som trigger hendelser basert på hvilke svar som oppgis i skjemaet. Du kan for eksempel trigge utfylling av skjemasvar fra eksterne registre, transformere skjemasvar eller bruke svarene til å automatisk besvare andre spørsmål.

Trigger-alternativer

I Når?-kolonnen i Trigger-menyen velger du når hendelsen trigges. For de fleste spørsmålselementer har du to valg. Hendelsen kan trigges Etter utfylling av skjemasvaret eller Under utfylling av skjemasvaret. Hendelsen vil for Etter utfylling forekomme etter at fokuset er fjernet fra svarfeltet som utfylles.

Når du har valgt når hendelsen trigges, kan du velge mellom tre hendelser; Kjør skript, Kall CNG-integrasjon og Integrasjonskall.

Hendelse – Kjør Skript

I dette eksemplet demonstrerer vi hendelsen Kjør skript. Vi skal bruke skriptet til å kalkulere svaret til et tallfelt basert på tallene avgitt i to andre tallfelt. Sjekk ut brukerveiledningen Trigger-skript med kartkoordinater hvis du vil se enda et brukereksempel med trigger-skript. Start med å legge til tre tekstfeltelementer på lerretet. Spørsmålene i eksempelet har spørsmåls-ID Q1, Q2 and Q3.

Siden vi ønsker å gjennomføre kalkuleringen med heltall, så må valideringen for alle tre felter settes til Heltall.

Vi skal multiplisere svarene fra de to første spørsmålene og vise den kalkulerte verdien i det siste feltet. Vi ønsker at kalkuleringen skal gjennomføres hver gang sluttbrukeren oppdaterer en a de to feltene. For å få til dette må vi legge triggere på begge spørsmålene. For å legge til en Trigger, velg det første spørsmålet og trykk Trigger-knappen i Bygger-fanen i Egenskaper-panelet.

I Trigger-menyen, trykk på Ny trigger-knappen.

Fra nedtrekkslistene, velg hendelsen Kjør skript og triggeren Etter utfylling siden vi ikke har noe interesse i å se kalkuleringen før svarene er ferdig utfylt.

Legg deretter til følgende skript i skript-vinduet til høyre. Koden oversatt setter Kostnad for arbeidskraft til 0 inntil både Arbeidstimer og Timelønn er besvart. Da multipliseres svarene og produktet oppdateres i Kostnad for arbeidskraft.

Q3.answer = 0 if (Q1.answer != null && Q2.answer != null) {  Q3.answer = (Q1.answer * Q2.answer) }

Trykk OK. Siden vi også ønsker at skriptet skal kjøre etter at sluttbrukeren entrer et svar i neste felt, legger vi til den samme triggeren der. Velg Timelønn-spørsmålet og trykk Trigger-knappen.

Velg Etter utfylling og Kjør skript, og legg inn det samme skriptet som før.

Når triggerne er ferdig satt opp, husk å Lagre kladden for å forhåndsvise kalkuleringen. Husk å versjonere skjemaet med de nye endringene for å kunne bruke skjemaet i en prosess.

Slutt-tjeneste med kun ett felt utfylt

Slutt-tjeneste med begge felter utfylt

Tilgjengelige funksjoner

Under er et utvalg av tilgjengelige funksjoner for skript. Disse funksjonene lar brukeren endre svar og svarverdier til spørsmål.

Spørsmål med tekst-input – Tekstreng-validering

Spørsmål med tekst-input er spørsmålselementer med tekst-baserte inndata-felter slik som tekstfelt-, tekstboks-, dato- og passord-elementer.

Uttrykk

Beskrivelse

Q1.answer = "tekst-input"

Setter svaret til den gitte verdien.

Q1.answer vil alltid returnere enten en Tekststreng eller null.

Spørsmål med tekst-input – Heltall- og desimal-validering

I denne tabellen har spørsmål Q2 heltall-validering og Q3 har desimal-validering.

Uttrykk

Beskrivelse

Q2.answer = 101

Setter svaret til den gitte verdien.

Q2.answer = "101"

Setter svaret og konverterer verdien til et BigInteger-Objekt. Unntak trigges dersom konverteringen feiler.

Q3.answer = 201.34

Setter svaret til den gitte verdien.

Q3.answer = "201.34"

Setter svaret og konverterer verdien til et BigDecimal-Objekt. Unntak trigges dersom konverteringen feiler.

Q2.answer vil alltid returnere enten et BigInteger-Objekt eller null. Q3.answer vil alltid returnere enten et BigDecimal-Objekt eller null.

Spørsmål med tekst-input – Dato-validering

Uttrykk

Beskrivelse

Q4.answer = "2014-11-23"

Setter svaret til den gitte verdien. Konverterer Tekststreng-verdien til et dato-Objekt. Unntak trigges dersom konverteringen feiler. Formatet må følge ÅÅÅÅ-MM-DD.

Q4.answer = Util.currentDate()

Setter svaret til dagens dato.

Q4.answer = Util.newDate('2014-11-23', 'Y-MM-DD')

Setter svaret til den gitte verdien. Format kan spesifiseres i argument nr. 2. Unntak trigges dersom konverteringen feiler.

Q4.answer = Util.newDate('2014-11-23')

Setter svaret til den gitte verdien. Bruker formatet ÅÅÅÅ-MM-DD.

Q4.answer vil alltid returnere enten et Objekt som representerer en dato eller null.

Spørsmål med enkeltvalg

Spørsmål med enkeltvalg er spørsmålselementer med svaralternativer hvor du kun kan velge ett alternativ slik som radioknapp- og nedtrekksliste-elementer.

Uttrykk

Beskrivelse

Q5.setAsAnswerValue('svar-verdi')

Setter svaret til alternativet med den spesifiserte svarverdien (ikke til forveksling med alternativteksten). 

Q5.answer = Q6.answer

Gyldig kun dersom Q5 og Q6 er spørsmål med enkeltvalg.

I alle gyldige uttrykk konverteres verdien med korrekt validering. Unntak trigges dersom konverteringen feiler.

Spørsmål med flervalg

Spørsmål med flervalg er spørsmålselementer med svaralternativer hvor du kun kan velge flere alternativ slik som avkrysningsspørsmål.

Uttrykk

Beskrivelse

Q7.setAsAnswerValues('svar-verdi1','svar-verdi2')

Setter svarene til alternativene med de spesifiserte svarverdiene (ikke til forveksling med alternativtekstene). 

Q7.setAsAnswerValues(internSvarVerdiListe)

internSvarVerdiListe er en variabel av typen java.util.List. Setter svarene til alternativene med disse svarverdiene.

Q7.answers = Q8.answers

Gyldig kun dersom Q7 og Q8 er spørsmål med flervalg.

I alle gyldige uttrykk konverteres verdiene med korrekte valideringer. Unntak trigges dersom konverteringen feiler.

Handling – Kall CNG-integrasjon

Denne hendelsen brukes nesten ikke siden Integrasjonskall-hendelsen tilbyr de samme mulighetene og mer til enn CNG-integrasjoner.

Handling – Integrasjonskall

Lær hvordan du kobler integrasjoner til skjema med triggere i Integrasjonskall-avsnittet i Integrasjoner (automatisk utfylling av skjema og prosesser).