Tips & Tricks

Berekeningen van PDF-formuliervelden valideren voordat het formulier wordt gedistribueerd

Een PDF Forms invulbaar document met berekeningsvelden bespaart de gebruiker handmatig rekenwerk. Het bestelformulier telt de regelitems automatisch op. In de onkostendeclaratie worden de categorieën bij elkaar opgeteld. De urenstaat berekent de gewerkte uren vanaf de begin- en eindtijd. Deze berekeningen werken alleen correct als elke formule, veldverwijzing en regel voor voorwaardelijke logica correct zijn ingesteld in de formulierontwerper en zijn getest met een reeks invoerwaarden voordat het formulier onder de gebruikers werd gedistribueerd.

Een rekenfout die ontdekt wordt nadat een formulier in omloop is, zorgt voor een vertrouwensprobleem. Gebruikers die de fout opmerken, kunnen stoppen met het gebruik van het formulier. Gebruikers die dit niet merken, dienen onjuiste gegevens in die zich verspreiden naar downstream-systemen. Door formulierveldberekeningen vóór distributie te valideren, worden formulefouten, veldverwijzingsfouten en edge-case fouten opgespoord die anders onopgemerkt zouden blijven totdat echte gebruikersgegevens deze aan het licht brengen.

De Fillable PDF-tools van WukongPDF omvatten het instellen van rekenvelden en validatiefuncties.

How to Validate PDF Form Field Calculations Before Distributing the Form

Hoe PDF-formulierberekeningen werken

Berekeningen in PDF-formulieren gebruiken een vereenvoudigde JavaScript-syntaxis die is ingebed in de veldeigenschappen. Elk berekend veld heeft een formule die op naam naar andere velden verwijst. De formule kan basisberekeningen uitvoeren, voorwaardelijke logica toepassen met if-else-instructies en het resultaat opmaken als een getal, valuta, percentage of datum. Wanneer een gebruiker een veld wijzigt waarnaar de formule verwijst, berekent de PDF-lezer de afhankelijke velden automatisch opnieuw.

De berekeningsvolgorde is van belang voor formules die uit meerdere stappen bestaan. Als Veld C afhankelijk is van Veld B en Veld B afhankelijk is van Veld A, moet de berekening eerst A verwerken, dan B, en dan C. De PDF-lezer bepaalt de berekeningsvolgorde automatisch op basis van veldafhankelijkheden, maar kringverwijzingen waarbij Veld A afhankelijk is van Veld B en Veld B afhankelijk is van Veld A produceren een fout of een oneindige lus. Voordat het formulier wordt verspreid, moet de berekeningsvolgorde worden geverifieerd om er zeker van te zijn dat alle afhankelijkheden correct worden opgelost.

WukongPDF

Probeer PDF bewerken

Geen installatie nodig. Werkt rechtstreeks in uw browser.

Nu beginnen →

Methodisch testen van elk berekend veld

Maak een testplan waarin elk berekend veld in het formulier wordt vermeld, samen met de verwachte uitvoer voor specifieke invoerwaarden. Voor een eenvoudig bestelformulier met de velden Hoeveelheid, Eenheidsprijs en Regeltotaal specificeert het testplan: Aantal=5, Eenheidsprijs=10,00, verwacht regeltotaal=50,00. Test elke rij van het plan en registreer of de daadwerkelijke output overeenkomt met de verwachte output.

Test een reeks invoerwaarden, niet slechts een enkele set. Voor numerieke velden test u met nul, met een typische waarde, met een zeer grote waarde en met een negatieve waarde als het veld negatieve waarden accepteert. Een formule die correct werkt met invoer van één cijfer kan overlopen of onverwachte resultaten opleveren bij invoer van zes cijfers. Een formule die deelt door een veldwaarde moet het geval afhandelen waarin dat veld nul is.

Voorwaardelijke logica in formuliervelden valideren

Veel formulieren bevatten voorwaardelijke logica die velden weergeeft, verbergt of wijzigt op basis van gebruikersselecties. Op een verzendformulier kunnen binnenlandse verzendopties worden weergegeven als het landveld Verenigde Staten is, en anders internationale opties. Elk conditiepad moet onafhankelijk worden getest. Voor een formulier met drie voorwaardelijke velden, elk met twee mogelijke toestanden, zijn dat acht combinaties om te testen.

Test de grens tussen omstandigheden. Wat gebeurt er als een gebruiker de laatste optie in een vervolgkeuzelijst selecteert die een voorwaarde activeert? Wat gebeurt er als ze de eerste optie selecteren? Wat gebeurt er als ze een veld leegmaken nadat ze een selectie hebben gemaakt? De overgang tussen staten is waar bugs zich het vaakst verbergen. Een veld dat correct wordt weergegeven wanneer aan een voorwaarde wordt voldaan, verdwijnt mogelijk niet wanneer de voorwaarde vervolgens wordt gewist.

Integriteit van veldreferenties controleren

Berekende velden verwijzen naar andere velden via hun interne veldnamen, die kunnen verschillen van de labels die zichtbaar zijn voor gebruikers. Een veld met de naam E-mailadres op het formulier kan de interne naam E-mailadres of e-mail1 hebben. Als een berekend veld verwijst naar EmailAddress, maar de werkelijke veldnaam Email_Address is, wordt de berekening stil afgebroken. Het formulier geeft geen fout weer. Het berekende veld toont eenvoudigweg nul of blanco.

Open de veldeigenschappen voor elk berekend veld en verifieer elke veldverwijzing met de daadwerkelijke veldnamen in het venster Velden. Eén typefout in een veldverwijzing, zoals Aantal versus Aantal, verbreekt de berekening voor dat hele veld. Gebruik de veldenlijst in de tool Formulier voorbereiden om alle veldnamen in één weergave te zien en deze te vergelijken met de berekeningsformules.

BerekeningstypeVoorbeeldValidatiemethode
Som van veldenSubtotaal + Belasting = TotaalControleer voorbeeldberekeningen handmatig
Voorwaardelijke logicaAls selectievakje A is ingeschakeld, schakel dan veld B inTest elk voorwaardepad
Datum berekeningenEinddatum = Startdatum + 30 dagenTestranddata inclusief schrikkeljaren

Het formulier testen in meerdere PDF-lezers

Berekeningen in PDF-formulieren zijn afhankelijk van de uitvoering van JavaScript in de PDF-lezer. Verschillende lezers implementeren de Acrobat JavaScript API met verschillende mate van volledigheid. Een berekening die werkt in Adobe Acrobat Reader wordt mogelijk niet uitgevoerd in een browsergebaseerde PDF-viewer, in Voorvertoning op Mac of in een mobiele PDF-app. Het formulier moet een notitie bevatten waarin wordt aangegeven welke PDF-lezers de berekeningen ondersteunen.

Test het formulier in ten minste drie lezers: Adobe Acrobat Reader, een browsergebaseerde viewer zoals Chrome of Edge, en Preview op Mac. Vul voor elke lezer de testwaarden in en bevestig dat de berekeningen correct worden uitgevoerd. Als berekeningen niet werken in een bepaalde reader, beslis dan of u een compatibiliteitsnotitie wilt toevoegen waarin gebruikers worden geïnstrueerd het formulier in Acrobat Reader te openen, of dat u de berekeningen wilt aanpassen om breder ondersteunde JavaScript-functies te gebruiken.

Een validatiechecklist maken voor formulierdistributie

Voordat u een berekend formulier verspreidt, moet u een laatste validatiechecklist doorlopen. Controleer of elk berekend veld de juiste uitvoer oplevert voor ten minste drie invoercombinaties. Bevestig dat alle veldverwijzingen in formules overeenkomen met de werkelijke veldnamen. Test alle voorwaardelijke logische paden. Controleer berekeningen in meerdere PDF-lezers. Controleer of de tabvolgorde in een logische volgorde door de velden beweegt.

Documenteer de validatieresultaten, inclusief welke testwaarden zijn gebruikt, welke lezers zijn getest en eventuele gevonden en opgeloste problemen. Het validatierecord dient als documentatie voor toekomstige formulierupdates en voor nalevingsvereisten waarbij de nauwkeurigheid van het formulier moet worden aangetoond. Een formulier dat de validatie heeft doorstaan met gedocumenteerde resultaten wekt meer vertrouwen dan een formulier waarvan eenvoudigweg werd aangenomen dat het correct werkte.

Bij het valideren van PDF-formulierberekeningen voordat deze worden verspreid, worden fouten ontdekt die anders stilletjes onjuiste gegevens zouden produceren van gebruikers die erop vertrouwen dat het formulier accuraat is. Het validatieproces kost minder tijd dan het corrigeren van gegevensfouten nadat een formulier al weken in omloop is.

Omgaan met drijvende-kommaprecisie in formulierberekeningen

Berekeningen in PDF-formulieren maken gebruik van het JavaScript-nummertype, dat drijvende komma is. Het optellen van 0,1 en 0,2 kan 0,30000000000000004 opleveren in plaats van 0,3. Voor financiële berekeningen gebruikt u toFixed() om de resultaten af te ronden: event.value = (field1 + field2).toFixed(2). Dit wordt afgerond op twee decimalen en voorkomt precisieverrassingen.

Testberekeningen met waarden waarvan bekend is dat ze nauwkeurige randgevallen opleveren. Voeg 0,1 en 0,2 toe en verifieer na afronding 0,3. Vermenigvuldig 0,1 met 3 en verifieer 0,3. Neem deze precisietests op in het validatietestplan, naast de standaard rekenkundige tests.

Documenteren van rekenlogica voor toekomstige formulierbeheerders

In de praktijk moet de persoon die een complex PDF-formulier erft de berekeningslogica begrijpen. Documenteer elk berekend veld met zijn formule en afhankelijkheden. Een eenvoudige spreadsheet met veldnamen, formules en afhankelijkheden dient als berekeningskaart voor het oplossen van problemen of het wijzigen van het formulier.

Voeg documentatie toe als verborgen pagina in de PDF of als begeleidend bestand. Wanneer wijziging nodig is, raadpleegt de beheerder de documentatie in plaats van formules uit veldeigenschappen te reverse-engineeren. Deze investering betaalt zich terug zodra iemand anders dan de oorspronkelijke maker het formulier voor de eerste keer bijwerkt.

Validatie van formulierberekeningen is kwaliteitsborging voor het verzamelen van gegevens. De tijd die wordt besteed aan het testen voordat deze worden verspreid, voorkomt de grotere tijdskosten die gepaard gaan met het corrigeren van slechte gegevens nadat honderden gebruikers formulieren met rekenfouten hebben ingediend. Een gevalideerd formulier wekt het vertrouwen van de gebruiker en beschermt de gegevensintegriteit in de gehele workflow die afhankelijk is van nauwkeurige formulierinzendingen.

In de praktijk zijn de hier beschreven validatietechnieken van toepassing op elk PDF-formulier met berekeningen, ongeacht de tool waarmee het formulier is gemaakt. De principes van systematisch testen, dekking van randgevallen, verificatie van veldreferenties en testen met meerdere lezers zijn universeel. Bouw ze in het formulierontwikkelingsproces in en elk formulier dat wordt verzonden, wordt correct berekend.

Het validatieproces moet gedocumenteerd en herhaalbaar zijn. Een formulier dat vandaag de validatie doorstaat, moet morgen dezelfde validatie doorstaan. Dankzij het gedocumenteerde testplan kan elk teamlid het formulier valideren, niet alleen de persoon die het heeft gemaakt.

Formulierberekeningsfouten die gebruikers bereiken, veroorzaken problemen met de gegevenskwaliteit die door de downstream-systemen heen rimpelen. Een totaal dat in een ingediend formulier niet correct optelt, wordt een boekhoudkundige discrepantie. Voorkomen door validatie is veel goedkoper dan correctie na indiening.

Bij de meeste tools is de tijd die wordt geïnvesteerd in formuliervalidatie een fractie van de tijd die nodig is om slechte gegevens uit honderden ingediende formulieren te corrigeren. Een grondige validatie vóór distributie is een van de kwaliteitsborgingsactiviteiten met het hoogste rendement bij het voorbereiden van documenten.

Gevalideerde PDF-formulieren wekken het vertrouwen van de gebruiker. Wanneer gebruikers zien dat berekeningen correct en consistent werken, vertrouwen ze het formulier en dienen ze nauwkeurige gegevens in. Als dat vertrouwen eenmaal is gevestigd, strekt het zich uit tot de organisatie die het formulier heeft gepubliceerd.

WukongPDF

Probeer PDF bewerken

Geen installatie nodig. Werkt rechtstreeks in uw browser.

Nu beginnen →