Cover_19-6_gruen_low

Schweizer Fachzeitschrift
für Publishing und Digitaldruck


Heft-Archiv >> 2014 >> Publisher 4-14 >> Publishing >> PDF-Formulare mit Rundungen

PDF-Formulare mit Rundungen

PDF-Formulare können mit Berechnungen sinnvoll ergänzt werden. Wird bei Währungsbeträgen ein Mehrwertsteuersatz errechnet, so stellt sich oft die Frage nach den Rundungsdifferenzen. Lösung: ein JavaScript mit kaufmännischen Rundungen.

Andreas Burkard In der letzten Ausgabe haben wir aufgezeigt, wie man ein Berechnungsformular mit der nötigen Feldlogik für eine Mehrwertsteuerberechnung aufbauen kann. Fixe Beträge kann man dabei über Dropdown-Listen auswählen und diese mit Textfeldern multiplizieren. Weisen die fixen Beträge keine Dezimalbeträge auf, so hat man mit dem momentanen schweizerischen Mehrwertsteuersatz von acht Prozent kaum Probleme mit Rundungen. Doch das Problem der Rundungen drängt sich früher oder später auf. Man möchte schliesslich den Fünfer und das Weggli, Letzteres in Form von gerundeten Zehnern.

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 Script-Sprache und erlaubt die dynamische Veränderung von Inhalten und Interaktion.

Runden ist nicht gleich Runden

Bevor wir uns mit dem Rundungsscript befassen, müssen wir uns kurz mit der Rundungsart auseinandersetzen. Hier unterscheidet man hauptsächlich zwischen den mathematischen Run­dungen und dem kaufmännischen Runden.

Das mathematische Runden rundet ab, wenn nach der letzten beizubehaltenden Zahl eine 0, 1, 2, 3 oder 4 folgt. Folgt der letzten beizubehaltenden Zahl eine 5, 6, 7, 8 oder 9, so wird aufgerundet.

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 Script zur Rundung

Um Rundungsdifferenzen zu beheben, kommt beim Textfeld Brutto ein benutzerdefiniertes Berechnungsscript zum Einsatz. Dazu klickt man auf Bearbeiten und kann im JavaScript-Editor das abgebildete Script eingeben.

Im ersten Teil des Scripts wird die kaufmännische Rundung ange­spro­chen. Die Bezeichnung var meint Variable. Eine Variable kann einen Wert aufnehmen.

Im mittleren Teil des Scripts 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 Script endet mit der Addition der Felder Netto und MwSt.

In JavaScript wird oft die geschweifte Klammer verwendet (Akkolade). Diese Syntax hält Befehle zusammen. Unter Mac OS X öffnet man eine geschweifte Klammer mit Alt-8, Alt-9 schliesst die Klammer. Die Windows-Tastatur be­inhaltet die geschweifte Klammer. Diese Zeichen können mit zusätzlich ge­drückter AltGr-Taste angesprochen werden.

Die Gross- und Kleinschreibung in der Scriptsprache ist unbedingt zu beachten.

Anderswo gehts einfacher

Microsoft Excel benötigt bloss die einfache Formel vor dem Zellbezug = Runden(...*20;0)/20.

Klar, JavaScript ist breiter und leistungsfähiger. Dennoch ist in Acrobat eine Vereinfachung dieser oft benötigten Rundungsdifferenz überfällig. Dies kann in Form einer Auswahl der Rundungsmethode mit den betroffenen Feldbezeichnungen sein. Der Eindruck festigt sich, dass der Hersteller Adobe sich lieber um die gewinnbringende Cloud, Community und die diversen Dienste kümmert als um die offline­fähigen, beliebten und weitverbreiteten PDF-Formulare.

Der Autor

Andreas Burkard arbeitet in der Mediengestaltung und in der Ausbildung. Er macht individuelle Firmentrainings und Beratung rund um das Thema Publishing für Print, Tablets und PDF-Lösungen. Er ist zudem als Trainer und Fachbereichsleiter Publishing bei der Digicomp Academy AG an den Standorten Zürich, Bern, Basel und St. Gallen im Einsatz.

www.BurkardPublishing.ch