Möchte man grundete Zahlen im Bruttobetrag, so muss mit JavaScript nachgeholfen werden. Es muss dabei Klarheit über Feldbezeichnungen herrschen. Die vom JavaScript betroffenen Felder lauten in diesem Beispiel Netto, MwSt und Brutto.

Berechnung des Textfeldes «Brutto» mit Eingabe des benutzerdefinierten Berechnungsskripts.

Die kaufmännische Rundung gewährleistet, dass der 5-Rappen-Betrag als kleinste Währungseinheit in Erscheinung tritt.

Rundungsdifferenzen

 

Weisen  fixe Beträge keine Dezimalbeträge auf, so hat man mit dem momentanen schweizerischen Mehrwertsteuersatz von 8 Prozent kaum Probleme mit Rundungen. Doch das Problem der Rundungen drängt sich früher, oder halt ein bisschen später, garantiert auf. Ein JavaScript bringt Hilfe …

Klare Feldbezeichnungen

Ein mit JavaScript erweitertes PDF-Formular sollte stets über klare Feldbezeichnungen verfügen. Vermeiden Sie in den Feldnamen lange Namen, Wortzwischenräume sowie Umlaute. PDF-Formulare können dann mit der leistungsfähigen Programmiersprache JavaScript erweitert werden. JavaScript ist eine objektorientierte Skript-Sprache und erlaubt die dynamische Veränderung von Inhalten und Int

Runden ist aber nicht gleich Runden

Bevor wir uns mir dem Rundungsskipt befassen, müssen wir uns kurz mit der Rundungsart auseinandersetzen. Hier unterscheidet man hautsächlich zwischen den mathematischen Rundungen und dem kaufmännischen Runden.

Vereinfacht ausgedrückt rundet das kaufmännische Runden die 1 und 2 auf Null ab, rundet die 3 und 4 auf 5 auf, rundet wiederum die 6 und 7 auf 5 ab und rundet letztlich die  8 und 9 an der ersten wegfallenden Dezimalstelle auf. Das kaufmännische Runden ist für Rundungsdifferenzen bei Währungsbeträgen die ideale Wahl.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Das Skript zur Rundung

Für Rundungsdifferenzen zu beheben, kommt beim Textfeld Brutto ein benutzerdefinierte Berechnungsskript zum Einsatz. Dazu klickt man auf Bearbeiten und kann im JavaScript-Editor das abgebildete Script eingeben.

Im ersten Teil des Skriptes wird die kaufmännische Rundung angesprochen. Die Bezeichnung var meint Variable. Eine Variable kann einen Wert aufnehmen.

Im mittleren Teil des Skripts wird eine Übersetzung der Feldbezeichnungen vorgenommen. Das kleine f vor den Feldbezeichnungen steht für New Function, das Ansprechen von Erweiterungen der Script-Sprache. Der Teil this.getField bezeichnet erst das aktuelle PDF-Dokument und gibt anschliessend einen Verweis auf ein Formularfeld, welches in Klammer steht, zurück. Das Skript endet mit der Addierung der Felder Netto und MwSt.

In JavaScript wird oft die geschweifte Klammer verwendet (Akkolade). Diese Syntax hält Befehle zusammen. Auf dem MacOS öffnet man eine geschweifte Klammer mit Alt-8, Alt-9 schliesst die Klammer. Die Windows-Tastatur beinhaltet die geschweifte Klammer. Diese Zeichen können mit zusätzlich gedrückter AltGR-Taste angesprochen werden.

Ferner ist der Gross- und Kleinschreibung in der Script-Sprache grosse Bedeutung beizumessen.

Im benutzerdefinierten Berechnungsskript kann man die Rundungsberechnung erstellen. Die Bezeichnungen innerhalb des Skriptes sind den jeweiligen Feldbezeichnungen eines PDF-Formulares anzupassen.