Formulär-plugin
Formulär-pluginen är AppStudios motor för datainmatning. Du bygger formulär med fältgrupper och fält, definierar vad användarna ska fylla i, hur svaren ska skyddas och vad som ska hända när de kommer in. Allt från enkla kontaktformulär till komplexa flerstegsenkäter med beroenden bygger du här.
När du ska använda detta
- Du behöver samla in strukturerad data från användarna — anmälningar, rapporter, formulärsvar
- Olika delar av formuläret ska bara visas beroende på tidigare svar
- Vissa användare ska få notiser när nya svar kommer in
- Formulärsvar ska kunna skrivas ut som PDF efter en mall
- Formuläret behöver underformulär — exempelvis en huvudpost med kopplade barn-poster
Hur det fungerar
Ett formulär är uppbyggt i tre nivåer:
- Formulär — den namngivna behållaren med metadata, behörigheter och inställningar.
- Fältgrupper — sektioner i formuläret. Fält tillhör alltid en fältgrupp.
- Fält — de enskilda inmatningarna (text, val, datum, signatur osv).
Ett formulär kan dessutom ha underformulär — ett eller flera barnformulär kopplade till varje formulärsvar. Underformulär kan i sin tur ha egna underformulär utan begränsning på djupet.
För att visa formuläret för användaren använder du widgets som Formulärssvar eller Tablayout.
Aktivera Formulär
- Öppna din applet.
- Gå till Plugin-inställningar.
- Slå på Formulär-pluginen.
- Spara.
Skapa ett formulär
- Aktivera Formulär-pluginen i appleten.
- Öppna pluginens dashboard från sidomenyn.
- Klicka på Skapa formulär.
- Fyll i namn och beskrivning.
- Spara.
När formuläret är skapat öppnas fältredigeraren där du kan lägga till fältgrupper och fält.
Fältgrupper
Fältgrupper är de sektioner som strukturerar formuläret. Ett formulär kan ha en enda grupp för korta formulär eller flera grupper som blir egna sidor i en wizard, kollapsbara sektioner eller en lång sida.
Lägg till en fältgrupp
- Öppna formuläret i fältredigeraren.
- Klicka på +-knappen längst ned på sidan (FAB-knappen).
- Ange ett namn på gruppen.
- Spara.
Sortera fältgrupper
Dra fältgrupperna i listan för att ändra ordning. Ordningen sparas direkt och styr i vilken ordning grupperna visas i widgets som renderar formuläret.
Inställningar per fältgrupp
Du styr hur en grupp visas via widgetens Visningsläge fältgrupper (Standard, Fäll ut/fäll in, Stegvis) — det är widgetinställningar, inte formuläret. Per-widget kan du också välja om en specifik grupp ska visas i widgeten — se exempelvis Formulärssvar.
Villkorlig visning av fältgrupper
Klicka på filter-ikonen på en fältgrupp i fältredigeraren för att lägga till villkor som styr när gruppen ska visas. Gruppen visas bara om villkoren matchar de aktuella svaren i formuläret.
TIPS
Använd villkorlig visning av fältgrupper för flerstegs-formulär där användaren bara ska se relevanta sektioner — exempelvis en grupp om "Hyrobjekt" som bara visas om typ av ärende = Hyresfråga.
Fält
Fält är de enskilda inmatningarna — text, val, datum, signatur. Varje fält tillhör en fältgrupp.
Lägg till ett fält
- Klicka på + Lägg till fält under en fältgrupp.
- Välj fälttyp.
- Fyll i namn och övriga inställningar.
- Spara fältet (panelen stängs).
Sortera fält
Dra fälten inom en grupp för att ändra ordning, eller mellan grupper för att flytta dem. Ordningen sparas direkt.
Villkorlig visning av fält
Öppna ett fälts inställningar och scrolla till Filterinställningar → Visa fält när. Lägg till villkor mot andra fält i formuläret. Fältet visas bara när villkoren uppfylls.
TIPS
Kombinera villkor på fältnivå (för enstaka fält) och gruppnivå (för hela sektioner). Det ger ren formulärlogik utan att behöva kopiera regler.
Fälttyper
| Fälttyp | Beskrivning | Användning |
|---|---|---|
| Text | Enradig text. Min/max teckenantal kan sättas. | Namn, korta svar, koder. |
| Flerradig text | Flerradigt textfält. Min/max teckenantal kan sättas. Kan konverteras till Rik text. | Beskrivningar, kommentarer. |
| Rik text | WYSIWYG-textredigerare med formatering, listor och länkar. Kan konverteras till Flerradig text. | Längre brödtexter med formatering. |
| E-post | Textfält som validerar e-postadresser. | Mottagaradress, kontaktuppgift. |
| URL | Textfält som validerar webbadresser. | Länkar till externa resurser. |
| Numeriskt | Numerisk inmatning. Min/max-värde och tröskelvärden med färger kan sättas. | Belopp, antal, mätvärden. |
| Datum | Datumväljare. Standardvärde kan sättas till ett fast datum eller aktuellt datum. | Födelsedatum, deadline. |
| Datum/tid | Datum med klockslag. Standardvärde kan sättas till en fast tidpunkt eller aktuell tidpunkt. | Bokningstid, händelsestart. |
| Tid | Klockslag (timmar och minuter). | Möteslängder, scheman. |
| Varaktighet | Tidsintervall (timmar, minuter och sekunder). | Tidsregistrering, körtider. |
| Enkelval | En i en lista med fördefinierade alternativ. Kan användas för poängsatta quiz-frågor. | Status, kategori, ja/nej. |
| Flerval | Flera i en lista med fördefinierade alternativ. | Etiketter, intresseområden. |
| Fil | Användaren laddar upp en eller flera filer. | Bilagor, dokument, foton. |
| Signatur | Användaren signerar — handritat eller via BankID. | Avtal, godkännanden. |
| Karta | Plats valt på karta. Kan låsas till enhetens position eller en angiven adress, med valfri pinikon eller pinbild. | Inrapporterad plats, mötespunkt. |
| Bildannotering | Användaren ritar/markerar i en uppladdad bild. | Skadeinspektioner, korrekturmarkeringar. |
| Sidlänk | Länk till en sida i en applet. | Direktlänk till relaterat innehåll. |
| Identifieringsfält | Sammansatt fält som identifierar svaret. Se Identifieringsfält. | Visa formulärsvar med beskrivande namn istället för ID. |
| Användare | Referens till en applet-användare. Kan ge personen behörighet till svaret. | Tilldelat ansvar, ärendeägare. |
| Skapad av | Skrivskyddat — registrerar användaren som skapade svaret. | Spårbarhet. |
| Senast ändrad av | Skrivskyddat — registrerar användaren som senast ändrade svaret. | Spårbarhet. |
| Unikt ID | Skrivskyddat — automatiskt genererat ID för svaret. | Referensnummer. |
| Sekvensnummer | Räknare som ökar med 1 per nytt svar. Startvärde kan sättas. Kan inte ändras efter att svar finns. | Ärendenummer, kvittensnummer. |
| Beräknat | Värde som räknas fram automatiskt utifrån andra fält. | Summor, beräkningar. |
| Bild | Statisk bild som visas i formuläret (inte inmatning). | Illustrationer, instruktionsbilder. |
| Text (info) | Statisk informationstext med formatering (inte inmatning). | Instruktioner, mellanrubriker, hjälptexter. |
Grundinställningar per fält
Alla fält har Namn (krävs) och de flesta har Beskrivning, Standardvärde och en panel med Inställningar:
| Inställning | Beskrivning |
|---|---|
| Obligatoriskt fält | Användaren måste fylla i fältet för att kunna skicka in formuläret. |
| Listfält | Visa fältet i listor över formulärsvar. Inte alla fälttyper kan listas. |
| Sökbart fält | Gör fältet sökbart i listor och sök-widgets. |
| Tillåt redigering | När den är på kan användaren redigera fältet efter att svaret är inskickat. |
| Identifieringsfält | Markerar fältet som identifieringsfält — fältet används för att namnge svaret i listor och brödsmulor. |
Vissa fälttyper har ytterligare inställningar:
- Text och Flerradig text: minsta och högsta teckenantal.
- Numeriskt: min/max-värde, Tröskelvärden med färgkoder och valfritt Dynamiskt tröskelfält som hämtar värden från ett annat fält.
- Enkelval och Flerval: lista över fördefinierade värden som du lägger till, ordnar och kan markera som förvalda.
- Datum och Datum/tid: standardvärde kan sättas till ett fast datum eller växeln Aktuell datum/tid för att alltid använda nuvarande tidpunkt.
- Sekvensnummer: Startvärde för räknaren. Låst när formuläret har fått sitt första svar.
- Användare: koppla mot en specifik användargrupp och slå på Tilldela behörigheter till vald användare så att personen automatiskt får läs- och skrivåtkomst till sitt eget formulärsvar.
- Signatur: välj signeringsmetoder — BankID, Ritad signatur eller båda.
- Karta: slå på Centrera kartan på enhetens position eller ange en fast adress, välj pinikon, ikonfärg och eventuell pinbild.
Underformulär
Ett underformulär är ett formulär kopplat till ett annat formulär. För varje formulärsvar i föräldraformuläret kan användaren skapa ett eller flera svar i underformuläret.
Underformulär kan i sin tur ha egna underformulär. Det finns ingen begränsning på djupet — du kan bygga formulärträd så djupt som ditt scenario kräver.
Skapa ett underformulär
- Öppna föräldraformulärets meny i fältredigeraren.
- Välj Underformulär → Skapa underformulär.
- Ange namn och konfigurera underformuläret som ett vanligt formulär — det får egna fältgrupper, fält, behörigheter, notiser och PDF-mall.
Användningsfall för underformulär
- Inspektion → Brister — varje inspektion kan ha flera registrerade brister.
- Order → Orderrader — en order har flera produktrader.
- Projekt → Aktiviteter → Tidregistreringar — tre nivåer där tidregistreringen tillhör en aktivitet som tillhör ett projekt.
- Patient → Besök → Provsvar — varje besök har flera provsvar.
TIPS
Lägg behörigheter på underformuläret separat. Du kan exempelvis låta alla skriva i föräldraformuläret men begränsa underformuläret till en viss roll.
Formulär-egenskaper
Öppna Egenskaper från formulärets meny.
Grunduppgifter
| Inställning | Beskrivning |
|---|---|
| Namn | Formulärets namn. Krävs. |
| Beskrivning | Intern beskrivning. |
| Skapad | Datum då formuläret skapades. Skrivskyddat. |
Bekräftelse
Texterna som visas efter att användaren skickat in svaret.
| Inställning | Beskrivning |
|---|---|
| Bekräftelserubrik | Rubrik på bekräftelseytan. Krävs. |
| Bekräftelsetext | Brödtext på bekräftelseytan. |
Tom-läge
Visas i listor när det ännu inte finns några svar.
| Inställning | Beskrivning |
|---|---|
| Rubrik | Rubrik som visas när listan är tom. |
| Text | Brödtext under rubriken. |
| Knappetikett | Etikett på knappen som leder till att skapa ett nytt svar. |
Stil
| Inställning | Beskrivning |
|---|---|
| Ikon | Ikon som representerar formuläret i listor och widgets. |
Avancerat
| Inställning | Beskrivning |
|---|---|
| Spegla med | Koppla detta formulär mot ett referensformulär så att strukturen ärvs. Se Spegla formulär. |
| Referensformulär | Markerar formuläret som en mall som andra formulär kan spegla. Se Spegla formulär. |
| Hoppa över behörighetskontroll vid exakt sökning på id | Tillåter sök efter ett specifikt formulärsvar via id även utan läsbehörighet på resten. |
| Anonymt formulär | När den är på sparas inga svar kopplade till användaren. Kan inte ändras efter att formuläret fått svar. |
| Tillåt bara ett formulärsvar per applet-användare | Begränsar formuläret så att varje användare bara kan svara en gång. |
VARNING
Anonymt formulär och Tillåt bara ett formulärsvar per applet-användare är låsta så fort formuläret har fått sitt första svar. Bestäm dem före publicering.
Behörigheter
Formulärbehörigheter styr vem som ser, skriver och tar bort svar — på formulärnivå och per fältgrupp.
Se Behörigheter på formulär för fullständiga inställningar.
Notisregler
Notisregler skickar e-post (och appnotis) till en mottagare när ett formulärsvar skapas eller uppdateras. Du kan kombinera flera regler och begränsa varje med villkor.
Se Notisregler för formulär för mottagartyper, villkor och exempel.
PDF-utskriftsmall
Varje formulär kan ha en mall som genererar en PDF av varje formulärsvar — med fast layout och dynamiska platshållare som ersätts med fältvärden vid rendering.
Se PDF-utskriftsmall för formulär för editorn, alla platshållare och exempel.
Spegla formulär
Du kan bygga strukturen en gång i ett referensformulär och låta andra formulär spegla det. Speglade formulär ärver fältuppsättningen automatiskt och uppdateras när referensen ändras.
Se Spegla formulär med referensformulär för hur det fungerar och vanliga användningsfall.
Exempel
Scenario: Du bygger en inspektionsapp där varje inspektion har flera registrerade brister, en signatur från ansvarig och genererar en PDF som mejlas till driftchef.
- Skapa formuläret Inspektion med fältgrupperna Allmänt (datum, plats, inspektör), Resultat (Enkelval
Godkänd/Anmärkning) och Signatur (signaturfält med BankID). - Markera Plats som Identifieringsfält så att inspektioner får beskrivande namn i listor.
- Skapa underformuläret Brister med fälten Beskrivning (flerradig text), Allvarlighet (Enkelval) och Foto (filuppladdning).
- Lägg till en notisregel: Användargrupp =
Driftchefer. Lägg till villkorResultat = Anmärkningså driftcheferna bara får notis när det finns något att åtgärda. - Öppna Utskriftsmall och lägg in formulärets fält och
{subform:N}för bristlistan. - Sätt Behörigheter: alla anställda får skriva, men bara
Driftchefer-gruppen får ta bort.
Resultat: en inspektör fyller i formuläret, lägger till bristerna som underformulär, signerar — och om det fanns anmärkningar går en notis ut till driftcheferna med en PDF-bilaga.
Tips
TIPS
Sätt Identifieringsfält på minst ett fält tidigt — annars visas svaren som anonyma ID i listor och brödsmulor.
TIPS
För återkommande strukturer — använd Spegla med mot ett Referensformulär. Då uppdateras alla speglade formulär automatiskt när du justerar referensen.
TIPS
Underformulär är kraftfulla men kan göra formuläret tungt. Använd dem när det verkligen finns en 1-till-många-relation; för en handfull fasta värden räcker det med fler fältgrupper i samma formulär.
Vanliga misstag
VARNING
Anonymt formulär och Tillåt bara ett formulärsvar per applet-användare är låsta efter första svaret. Bestäm dem före publicering.
VARNING
Skapa-användarfält ger inte automatiskt behörigheter — slå på Tilldela behörigheter till vald användare i fältets inställningar om du vill att den valda personen ska kunna se sitt eget svar.
VARNING
PDF-mallens platshållare är skiftlägeskänsliga och måste matcha exakta gruppnamn och fältnamn. Byter du namn på en grupp eller ett fält måste du uppdatera mallen — använd alltid infogningsmenyn istället för att skriva platshållare för hand.
VARNING
Notisregler utan villkor skickar för varje sparat svar. För högfrekventa formulär — lägg på villkor så att bara relevanta händelser triggar notiser.