Der Feldtyp Berechnung

Der Feldtyp Berechnung

Hinweis: Diese Feature sind Teil der Visforms Subscription und in der freien Visforms Version nicht enthalten.

F├╝r ein besseres Verst├Ąndnis empfehlen wir die Dokumentation vollst├Ąndig durchzulesen und mit dem Abschnitt Einleitung zu beginnen.
Zusammenh├Ąnge, die in fr├╝heren Abschnitten der Dokumentation erkl├Ąrt wurden, werden hier nicht wiederholt.

Felder vom Typ “Berechnung” geben Ihnen die M├Âglichkeit eine Berechnungs-Formel zu erstellen, deren Ergebnis direkt im Formular angezeigt wird. Die Formel wird in der Feldkonfiguration in einer Textarea eingeben. Sehen Sie dazu auch den Screenshot.

Die Formel kann Platzhalter enthalten, die andere Felder im Formular repr├Ąsentieren. Bei der Berechnung des Ergebnisses werden die Platzhalter ersetzt mit den Werten, die der Benutzer f├╝r dieses Formularfeld eingibt. Weiterhin kann die Formel Zahlen, mathematische Operatoren und mathematische Funktionen enthalten.

Einige konkrete Beispiel-Formeln finden Sie im n├Ąchsten Abschnitt: Anleitung Verkaufsformular.

Konfigurationseinstellungen f├╝r den Feldtyp “Berechnung”

Feldtyp Berechnung Konfiguration

Feldtyp Berechnung im Frontend

Feld Berechnung im Formular

Das Ergebnis der Berechnung wird im Formular automatisch aktualisiert und immer als “readonly-Wert"angezeigt. Sobald der Benutzer eine Eingabe in einem Formularfeld ge├Ąndert hat, das in die Berechnung eingeht, wird die Berechnung neu durchgef├╝hrt und das Ergebnis im Formular aktualisiert.

Platzhalter

Alle Felder der folgenden Typen k├Ânnen in einer Berechnung als Platzhalter verwendet werden:

  • “Berechnung”,
  • “Listbox”,
  • “Zahl”,
  • “Text”,
  • “Versteckt”,
  • “Checkbox”,
  • “Radio Button” und
  • “Datum”.

Syntax f├╝r einen Platzhalter

Die Syntax f├╝r einen Platzhalter lautet: Feldname in Gro├čbuchstaben, umschlossen von eckigen Klammern.
Haben Sie in Ihrem Formular beispielsweise ein Feld vom Typ “Zahl” mit dem Namen “anzahl”, so f├╝gen Sie als Platzhalter [ANZAHL] in die Formel ein.

Platzhalter m├╝ssen einen Zahlenwert ergeben

Hinweis: Wenn Sie Benutzereingaben aus einem Feld in einer Berechnung verwenden wollen, dann m├╝ssen Sie sicherstellen, dass dieses Feld immer einen Zahlenwert enth├Ąlt. Ansonsten kann die Berechnung nicht korrekt durchgef├╝hrt werden.

Besonders zu beachten

  • Die Werte aller Optionen, die Sie f├╝r Listboxen anlegen, m├╝ssen numerisch sein (Zahlenwerte).
  • Feste Zahlenwerte m├╝ssen einen Punkt als Dezimaltrenner haben.
  • Feste Zahlenwerte d├╝rfen kein Tausendertrennzeichen verwenden.
  • Hinterlegen Sie f├╝r alle Felder, die in einer Berechnung verwendet werden, in der Option “Fallbackwert f├╝r Berechnung” einen sinnvollen Zahlenwert.
    Standardm├Ą├čig ist hier der Wert 0 gesetzt.

Mathematische Operatoren

Sie k├Ânnen in der Formel im Feld vom Typ “Berechnung” folgende Operatoren verwenden:

  • +
  • -
  • *
  • /

Mathematische Funktionen

Sie k├Ânnen in der Formel im Feld vom Typ “Berechnung” folgende PHP-Funktionen verwenden:

  • Absolutwert: abs()
  • Sinusfunktionen: sin(), asin(), asinh()
  • Cosinusfunktionen: cos(), acos(), acosh()
  • Tangensfunktionen: tan(), atan(), atanh()
  • Rundungsfunktionen: ceil(), floor(), round()
  • Exponential-/Potenzfunktionen: exp(), pow()
  • Logarithmusfunktionen: log(), log10(), log1p()
  • Wurzelfunktion: sqrt()
  • Statistische Funktionen: max(), min()

Funktionen, die hier nicht aufgelistet sind, werden in Feldern vom Typ “Berechnung” nicht unterst├╝tzt und f├╝hren zu einem Fehler in der Berechnung.

Hinweis: Bitte konsultieren Sie eine PHP-Dokumentation, um zu erfahren, was die Funktionen im einzelnen Berechnen und welche Parameter sie erwarten.

Wie funktionieren Felder vom Typ Berechnung

Im Formular

Visforms berechnet beim ersten Anzeigen des Formulars im Frontend automatisch das Ergebnis der Formel und zeigt das Ergebnis als Wert der Formularfeldes an.

Visforms ber├╝cksichtigt dabei

  • die Formel, die Sie in im Feld vom Typ Berechnung eingegeben haben und
  • die Defaultwerte, die Sie f├╝r alle Platzhalterfelder in der Formel festgelegt haben.

Wenn der Benutzer einen Wert in einem Platzhalterfeld ├Ąndert, wird das Ergebnis aller Formeln, die dieses Platzhalterfeld verwenden, neu berechnet. Der Benutzer sieht immer das aktuelle Ergebnis. Dies geschieht mit Hilfe von JavaScript.

Nach dem Absenden des Formulars

Sendet der Benutzer das Formular ab, so wird serverseitig zuerst gepr├╝ft, ob alle ├╝bermittelten Formulardaten valide sind. Anschlie├čend wird serverseitig das Ergebnis aller Felder vom Typ Berechnung unter Verwendung der ├╝bermittelten Benutzereingaben berechnet. Diese zweite serverseitige Berechnung erfolgt in PHP und stimmt mit den clientseitigen Berechnungen in JavaScript durch den Web-Browser ├╝berein. Die Ergebnisse der serverseitigen Berechnung werden in der Datenbank gespeichert, sofern Sie diese Option im Formular aktiviert haben. Die Ergebnisse werden auch in den Ergebnismails verwendet.

Hinweis: Die Trennung zwischen der Berechnung der Ergebnisse im Frontend mittels JavaScript und der hiervon unabh├Ąngigen zweiten Berechnung der Ergebnisse serverseitig mit PHP bietet Ihnen maximalen Schutz bei der Verwendung von Feldern vom Typ Berechnung.

Bein einer umfangreichen komplexen Formel empfehlen wir Ihnen, das Formular gut zu testen. ├ťberpr├╝fen Sie, dass die Berechnung im Frontend als auch die serverseitige Berechnung im Backend die erwarteten gleichen Ergebnisse liefern. Bei eher einfachen Formeln ist das aber nicht unbedingt notwendig.

Das m├╝ssen Sie befolgen

Die Formeln werden manuell in einer Textarea eingeben. Bei der manuellen Eingabe der Formel k├Ânnen Sie theoretisch alles in das Formelfeld schreiben, was Ihnen in den Sinn kommt. Sie k├Ânnen einen Platzhalter mehrfach in einer Formel verwenden. Sie k├Ânnen auch Felder, die selbst vom Typ “Berechnung” sind, in einer anderen Berechnung einbinden.

Hinweis: Deshalb ist es leider auch m├Âglich, dass Sie eine Formel erstellen, die fehlerhaft ist.

Sie m├╝ssen beim Erstellen der Formel folgendes selbst sicherstellen:

  • Alle Platzhalter m├╝ssen immer valide Zahlenwerte enthalten, auch wenn der Benutzer keine Auswahl triff.
    Sie m├╝ssen daher Felder, die als Platzhalter verwendet werden, mit einem sinnvollen Defaultwert belegen, etwa dem Wert 0 oder 1.
    Visforms unterst├╝tzt Sie hierbei, indem es nur die Verwendung bestimmter Feldtypen als Platzhalterfelder zul├Ąsst und die zus├Ątzliche Option “Fallbackwert f├╝r Berechnung” anbietet. Bei Checkboxen ist dies die zus├Ątzliche Option “Unchecked Wert f├╝r Berechnung”. In dieser zus├Ątzlichen Option k├Ânnen Sie einen Defaultwert festlegen, der in der Berechnung verwendet wird, falls das Feld im Formular keinen Wert enth├Ąlt.
  • Es d├╝rfen keine mathematisch ung├╝ltigen Ausdr├╝cke entstehen k├Ânnen, etwa die ber├╝hmte Division durch 0.
  • Es d├╝rfen keine Endlosschleifen erzeugt werden.
    Dies kann leicht passieren, etwa weil Feld A als Platzhalter in Feld B verwendet wird und gleichzeitig Feld B als Platzhalter in Feld A.
  • Es d├╝rfen keine anderweitig invalide Formeln entstehen.

Trennzeichen f├╝r Nachkommastellen und Tausender-Trennzeichen

Alle Zahlen, die im Feld Berechnung verwendet werden, m├╝ssen einen Punkt als Dezimaltrenner enthalten, also nicht wie im deutschen Sprachraum ├╝blich ein Komma.
Alle Werte, die in die Berechnung einflie├čen, sei es aus dem String im Feld Berechnung selbst oder aus Werten, die aus anderen Feldern durch Platzhalter kommen, d├╝rfen kein Tausendertrennzeichen enthalten.

Hinweis: Auch wenn in der Berechnung Punkte als Dezimaltrenner geschrieben werden m├╝ssen, ist es leicht m├Âglich das Formular so einzurichten, dass der Benutzer die Ergebnisse mit einem Komma als Dezimaltrenner sieht.

├ťber die Option “Dezimaltrenner” haben Sie die M├Âglichkeit festzulegen, welcher Dezimaltrenner f├╝r die Darstellung verwendet werden soll.

Die Einstellung der Option “Dezimaltrenner” f├╝r das Ergebnis der Berechnung betrifft:

  • die Darstellung im Formular,
  • das Speichern der Werte in der Datenbank und
  • die Datenanzeige etwa in den verschickten Mails.

Nachkommastellen und Genauigkeit

Mithilfe des Parameter “Genauigkeit” k├Ânnen Sie festlegen, auf wie viele Nachkommastellen das Ergebnis der Berechnung gerundet werden soll. Bei einem W├Ąhrungsbetrag w├╝rden Sie hier beispielsweise “2” eingeben.

Den Parameter “Nachkommastellen fix” k├Ânnen Sie verwenden, um zu erzwingen, dass das Ergebnis bis zur durch den Parameter “Genauigkeit” festgelegten Anzahl Nachkommastellen mit Nullen aufgef├╝llt wird. Setzen Sie diesen Parameter auf “ja”, wenn Sie mit W├Ąhrungsbetr├Ągen arbeiten.

Rechnen mit Datumsfeldern

Da Datumsfelder im engeren Sinn keine Zahlen enthalten, funktioniert das Rechnen mit Datumsfeldern etwas anders. Bitte lesen Sie den folgenden Abschnitt der Dokumentation, wenn Sie dieses Feature verwenden wollen: Rechnen mit Datumsfeldern.

Alle Felder und Formeln f├╝r das Beispielformular

Im folgenden Abschnitt zeigen wir Ihnen konkret, welche Felder und Formeln wir verwendet haben, um das Beispielformular zu erstellen: Anleitung Verkaufsformular.