Uw klanten worden vaak gevraagd meerdere formulieren in te dienen om een service of een voordeel aan te vragen. Het gaat om het vinden van alle relevante formulieren; en deze afzonderlijk vullen, verzenden en volgen. Bovendien moeten ze veelvoorkomende details meerdere keren invullen in verschillende formulieren. Het hele proces wordt omslachtig en foutgevoelig als het een groot aantal formulieren betreft. De functie Formulierenset van AEM Forms kan de gebruikerservaring in dergelijke scenario's vereenvoudigen.
Een formulierset is een verzameling HTML5-formulieren die zijn gegroepeerd en worden weergegeven als één set formulieren voor eindgebruikers. Eindgebruikers die beginnen met het invullen van een formulierset, worden naadloos van het ene naar het andere formulier overgeschakeld. Uiteindelijk kunnen ze alle formulieren met één klik verzenden.
AEM Forms biedt formulierauteurs een intuïtieve gebruikersinterface voor het maken, configureren en beheren van formuliersets. Als auteur kunt u formulieren bestellen in een bepaalde volgorde die eindgebruikers moeten volgen. Ook kunt u voorwaarden of geschiktheidsexpressies toepassen op afzonderlijke formulieren om de zichtbaarheid ervan te bepalen op basis van de invoer van de gebruiker. U kunt bijvoorbeeld het formulier met de gegevens van de echtgenoot zo configureren dat het alleen wordt weergegeven wanneer de staat van het huwelijk als Gehuwd is opgegeven.
Bovendien kunt u gemeenschappelijke gebieden in verschillende vormen vormen om gemeenschappelijke gegevensbanden te delen. Als de juiste gegevensbindingen zijn ingesteld, moeten eindgebruikers de algemene gegevens slechts eenmaal invullen als deze automatisch worden ingevuld in de volgende formulieren.
Formuliersets worden ook ondersteund in de AEM Forms-app, zodat uw medewerkers in het veld offline een formulierset kunnen maken, klanten kunnen bezoeken, invoergegevens kunnen invoeren en later kunnen synchroniseren met de AEM Forms-server om formuliergegevens naar bedrijfsprocessen te verzenden.
U kunt verschillende XDP's of formuliersjablonen die zijn gemaakt met Designer, koppelen aan een formulierset. Formuliersets kunnen vervolgens selectief worden gebruikt om de XDP's te renderen op basis van waarden die de gebruikers hebben ingevoerd in eerste formulieren en hun profielen.
Gebruik AEM Forms-gebruikersinterface om al uw formulieren, formuliersets en gerelateerde elementen te beheren.
Ga als volgt te werk om een formulierset te maken:
Selecteer Forms > Forms en Documenten.
Selecteer Maken > Formulierset.
Voeg op de pagina Eigenschappen toevoegen de volgende details toe en klik op Volgende.
In het scherm Formulier selecteren worden de beschikbare XDP-formulieren of XDP-bestanden weergegeven. Zoek en selecteer de formulieren die u in de formulierset wilt opnemen en klik vervolgens op Toevoegen aan formulierset. Zoek zo nodig nogmaals naar formulieren die u wilt toevoegen. Nadat u alle formulieren aan de formulierset hebt toegevoegd, klikt u op Volgende.
Zorg ervoor dat de veldnamen in XDP-formulieren niet het puntteken bevatten. Anders kunnen scripts die proberen de velden op te lossen, die punttekens hebben, deze niet oplossen.
Op de pagina Formulier(s) configureren kunt u het volgende doen:
fs.valueOf()<form Identifier="">, <fieldsom expression="">) > <value>
Als de formulierset bijvoorbeeld twee formulieren bevat: voor bedrijfskosten en reiskosten kunt u een JavaScript-fragment toevoegen in het veld Belichtingsexpressie voor beide formulieren om de gebruikersinvoer voor het type kosten in een formulier te controleren. Als de gebruiker BedrijfsKosten kiest, wordt het formulier BedrijfsKosten teruggegeven aan het eind - gebruiker. Of als de gebruiker reiskosten kiest, wordt een ander formulier weergegeven aan de eindgebruiker. Zie Beleenbaarheidsuitdrukking voor meer informatie.
Bovendien kan de auteur ook een formulier uit de formulierset verwijderen met het pictogram Verwijderen in de rechterhoek van elke rij of een andere set formulieren toevoegen met het pictogram '+' op de werkbalk. Dit pictogram '+' stuurt de gebruiker terug naar de vorige stap in de wizard, die werd gebruikt om 'Formulier(s) selecteren'. De bestaande selecties blijven behouden en eventuele extra selecties moeten aan de formulierset worden toegevoegd met het pictogram Toevoegen aan formulierset op die pagina.
Alle formulieren die in een formulierset worden gebruikt, worden beheerd door de gebruikersinterface van AEM Forms.
Nadat een formulierset is gemaakt, kunt u de volgende handelingen op die formulierset uitvoeren:
Ga als volgt te werk om een formulierset te bewerken:
Selecteer Forms > Forms en Documenten.
Zoek de formulierset die u wilt bewerken. Houd de cursor boven de cursor en selecteer Bewerken ( ).
Op de pagina Formulier(s) configureren kunt u het volgende bewerken:
U kunt ook op het betreffende pictogram Verwijderen klikken om het formulier uit de formulierset te verwijderen.
Nadat u een formulierset hebt gemaakt met de gebruikersinterface van AEM Forms Management, kunt u de formulierset in een beginpunt gebruiken of Taakactiviteit toewijzen met Workbench.
Bij het ontwerpen van een proces, onder de sectie van Presentatie & van Gegevens van Assign Taak/Punt, uitgezocht gebruik een CRX element. De browser CRX Asset wordt weergegeven.
Selecteer een formulierset om de formulierset in AEM gegevensopslagruimte (CRX) te filteren.
Hiermee selecteert u een formulierset en klikt u op OK.
Geschiktheidsexpressies in een formulierset worden gebruikt om formulieren die voor een gebruiker worden weergegeven, te definiëren en dynamisch te beheren. Een bepaald formulier bijvoorbeeld alleen weergeven als de gebruiker tot een bepaalde leeftijdsgroep behoort. Een geschiktheidsexpressie opgeven en bewerken met behulp van formulierbeheer.
Een geschiktheidsexpressie kan elke geldige JavaScript-instructie zijn die een Booleaanse waarde retourneert. De laatste instructie in het JavaScript-codefragment wordt behandeld als een Booleaanse waarde die de geschiktheid van het formulier bepaalt op basis van de verwerking in de rest (vorige regels) van het JavaScript-codefragment. Als de waarde van de expressie true is, kan het formulier aan de gebruiker worden weergegeven. Dergelijke formulieren worden in aanmerking komende formulieren genoemd.
De kwalificatieexpressie voor het eerste formulier in een formulierset wordt niet uitgevoerd. Het eerste formulier wordt altijd weergegeven, ongeacht de geschiktheidsexpressie.
Naast de standaard JavaScript-functies stelt de formulierset ook de fs.valueOf API beschikbaar die toegang biedt tot de waarde van een veld in een formulierset. Gebruik deze API om toegang te krijgen tot de waarde van een formulierveld in een formulierset. De API-syntaxis is fs.valueOf (formUid, fieldSOM), waarbij:
Zowel de parameter formUid als de parameter fieldSOM moeten een letterlijke tekenreeks zijn.
Geldig gebruik van de API:
fs.valueOf("form1", "xfa.form.form1.subform1.field1")
Ongeldig gebruik van de API:
var formUid = "form1";
var fieldSOM = “xfa.form.form1.subform1.field1"; fs.valueOf(formUid, fieldSOM);
Formulierset is een verzameling van meerdere HTML5-formulieren met algemene of verschillende schema's. Formulierset ondersteunt het vooraf invullen van formuliervelden met behulp van een XML-bestand. U kunt een XML-bestand aan een formulierset koppelen, zodat bepaalde velden in het formulier worden voorgepoleerd wanneer u een formulier in de formulierset opent.
Het vooraf ingevulde XML-bestand wordt opgegeven met de parameter dataRef van de URL van de formulierset. Met de parameter dataRef geeft u het absolute pad op van het XML-bestand met gegevens dat wordt samengevoegd met de formulierset.
U hebt bijvoorbeeld drie formulieren (form1, form2 en form3) in de formulierset met de volgende structuur:
form1
field
form1field
form2
field
form2field
form3
field
form3field
Elk formulier heeft een algemeen benoemd veld met de naam "field" en een uniek benoemd veld met de naam "form<i>field".
U kunt deze formulierset vooraf invullen met behulp van een XML met de volgende structuur:
<?xml version="1.0" encoding="UTF-8" ?>
<formSetRootTag>
<field>common field value</field>
<form1field>value1</form1field>
<form2field>value2</form2field>
<form3field>value3</form3field>
</formSetRootTag>
De XML-hoofdtag kan elke naam hebben, maar de elementtags die overeenkomen met de velden moeten dezelfde naam hebben als het veld. De hiërarchie van de XML moet de hiërarchie van het formulier nabootsen. Dit houdt in dat de XML overeenkomstige codes moet hebben voor het onderbrengen van subformulieren.
Het bovenstaande XML-fragment toont dat de vooraf ingevulde XML voor de formulierset een samenvoeging is van de vooraf ingevulde XML-fragmenten van de afzonderlijke formulieren. Als de gegevenshiërarchie/het schema van bepaalde velden in de verschillende formulieren op elkaar lijken, worden de velden voorgevuld met dezelfde waarden. In dit voorbeeld worden alle drie formulieren voorgevuld met dezelfde waarde voor het algemene veld, "field". Dit is een eenvoudige manier om gegevens van het ene formulier naar het andere over te brengen. Dit kan ook worden bereikt door de velden te binden aan hetzelfde schema of dezelfde referentie voor gegevens. Als u de gegevens van de formulierset wilt segregeren op basis van het schema van het formulier. Dit kan worden bereikt door tijdens het maken van de formulierset het kenmerk 'gegevensbasiskenmerk' van het formulier op te geven (de standaardwaarde is '/', die wordt toegewezen aan de basiscode van de formulierset).
In het vorige voorbeeld, als u de gegevenswortels specificeert: "/form1", "/form2" en "/form3" voor respectievelijk de drie formulieren moet u een vooraf ingevulde XML-code van de volgende structuur gebruiken:
<?xml version="1.0" encoding="UTF-8" ?>
<formSetRootTag>
<form1>
<field>field value1</field>
<form1field>value1</form1field>
</form1>
<form2>
<field>field value2</field>
<form2field>value2</form2field>
</form2>
<form3>
<field>field value3</field>
<form3field>value3</form3field>
</form3>
</formSetRootTag>
In een formulierset definieert de XML een XML-schema met de volgende syntaxis:
<formset>
<fs_data>
<xdp:xdp xmlns:xdp="https://ns.adobe.com/xdp/">
<xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
<xfa:data>
<rootElement>
... data ....
</rootElement>
</xfa:data>
</xfa:datasets>
</xdp:xdp>
</fs_data>
<fs_draft>
... private data...
</fs_draft>
</formset>
Als er twee formulieren zijn met overlappende gegevenswortels, of de elementenhiërarchie van een formulier overlapt met de gegevenstramienhiërarchie van een ander formulier, worden de waarden van de overlappende elementen in de xml samengevoegd. De verzendende XML heeft een vergelijkbare structuur als de vooraf ingevulde XML, maar bij het verzenden van XML worden meer omvattende tags en aan het einde enkele contextgegevenscodes voor formuliersets toegevoegd.
Syntaxisregels voor het maken van een vooraf ingevuld XML-bestand:
parent elements:
null
cardinality: [0,1]
submitXML: P
prefillXML: O
children: fs_data
Het hoofdelement van de XML-formulierset. Het wordt aangeraden dit woord niet te gebruiken als de naam van het basissubformulier van een formulier in de formulierset.
parent elements:
formset
kardinaliteit: [1]
submitXML: P
prefillXML: O
children: xdp:xdp/rootElement
De substructuur geeft de gegevens van de formulieren in de formulierset aan. Het element is alleen optioneel in vooraf ingevulde XML als het formuliersetelement niet aanwezig is
parent elements: fs_data/null
cardinality: [0,1]
submitXML: O
prefillXML: O
children: xfa:datasets
Dit label geeft het begin van HTML5 Form XML aan. Dit wordt toegevoegd in het verzendende XML als dit in de vooraf ingevulde XML aanwezig is of als er geen vooraf ingevulde XML is. Deze tag kan worden verwijderd uit de vooraf ingevulde XML.
parent elements: xdp:xdp
cardinality: [1]
submitXML: O
prefillXML: O
children: xfa:data
parent elements: xfa:datasets
cardinality: [1]
submitXML: O
prefillXML: O
children: rootElement
parent elements: xfa:datasets/fs_data/null
cardinality: [0,1]
submitXML: P
prefillXML: O
children: controlled by the Forms in Form set
Het name rootElement is slechts een plaatsaanduiding. De werkelijke naam wordt gekozen uit de formulieren die in de formulierset worden gebruikt. De substructuur die begint met rootElement bevat de gegevens van de velden en subformulieren in de Forms in de formulierset. Er zijn veelvoudige factoren die de structuur van rootElement en zijn kinderen bepalen.
In vooraf ingevulde XML is dit label optioneel, maar als het ontbreekt, wordt de volledige XML genegeerd.
NAAM VAN DE TAG BASISELEMENT
Als er een hoofdelement is in de vooraf ingevulde XML, wordt de naam van dat element ook gebruikt in de verzendings-XML. Wanneer er geen prefill-xml is, is de naam van het rootElement de naam van het basissubformulier van het eerste formulier in de formulierset met een eigenschap dataRoot ingesteld op "/". Als er geen dergelijke vorm is, dan is de rootElement naam fs_dummy_root, die een gereserveerd sleutelwoord is.
Met de AEM Forms-app kunnen veldwerkers hun mobiele apparaten synchroniseren met een AEM Forms-server en aan hun taken werken. De toepassing werkt zelfs wanneer het apparaat offline is door gegevens lokaal op het apparaat op te slaan. Met behulp van annotatiefuncties, zoals foto's, kunnen veldwerkers nauwkeurige informatie verschaffen om te integreren in de bedrijfsprocessen.
Zie AEM Forms app voor meer informatie over de AEM Forms-app.
De volgende gegevenspatronen worden niet volledig ondersteund in de formulierset:
Patroon wordt niet volledig ondersteund in formulierset | Voorbeeld |
Invoergrootte en patroongrootte komen niet overeen | When pattern= num{z,zzz} En input= 12,345 of 1 23 |
Figuurpatronen met haakjes "(" ")" | num{(zz,zzz)} |
Meerdere gegevenspatronen | num{zz,zzz} | num{z,zzz,zzz} |
Korte patronen | num.integer{}, num.decimal{}, num.percent{}, of num.currency{} |