Zum Hauptinhalt springen

Formel-Beispiele

Preisberechnungen

Der max-Operator wählt aus einer Liste immer den größten Wert aus. Im folgenden Szenario werden die Quadratmeter (berechnet in einer Zwischenberechnung) mit dem Produktpreis multipliziert. Durch den max-Operator wird der Preis niemals kleiner als 49.99.

Profimodus:

{"max":[
49.99,
{"*":[
{"var":"calculations.quadratmeter"},
{"var":"product.price"}
]}
]}

Preis abhängig von Textlänge

Berechnung: 2 Euro pro Buchstabe

{"*": [2, {"length": {"var": "fields.text.value"}}]}

Mindestpreis mit Bedingung

{"max": [
9.90,
{"if": [
{">": [{"length": {"var": "fields.text.value"}}, 5]},
{"*": [{"var": "product.price"}, 2]},
{"var": "product.price"}
]}
]}

Komplexe Staffelpreise

{"if": [
{"<": [{"var": "fields.menge.value"}, 10]}, 5.00,
{"<": [{"var": "fields.menge.value"}, 50]}, 4.50,
{"<": [{"var": "fields.menge.value"}, 100]}, 4.00,
3.50
]}

Flächenberechnungen

hinweis

Annahme: Zwei Felder: Länge (length) und Breite (width).

Eingabe in cm

Länge x Breite

Einfacher Modus:

fields.laenge.value * fields.breite.value

Profimodus:

{"*":[
{"var":"fields.hoehe.value"},
{"var":"fields.breite.value"}
]}

Länge x Breite und Umrechnung in m²

Einfacher Modus:

(fields.laenge.value * fields.breite.value) / 10000

Profimodus:

{"/":[
{"*":[
{"var":"fields.hoehe.value"},
{"var":"fields.breite.value"}
]},
10000
]}

Länge x Breite und Umrechnung in m², Wert darf nicht kleiner sein als 0,5m²

Der max-Operator nimmt den größeren der beiden Werte, in diesem Beispiel entweder 0.5 oder das Ergebnis der Berechnung.

Beispiel I

  • Kundeneingabe Länge (cm): 10, Breite (cm): 10
  • Ergebnis in m²: 0.01 m²
  • Ergebnis der Formel: 0.5, da der max-Operator den größeren Wert auswählt

Beispiel II

  • Kundeneingabe Länge (cm): 100, Breite (cm): 60
  • Ergebnis in m²: 0.6 m²
  • Ergebnis der Formel: 0.6, da der max-Operator den größeren Wert auswählt

Profimodus:

{"max":[
0.5,
{"/":[
{"*":[
{"var":"fields.hoehe.value"},
{"var":"fields.breite.value"}
]},
10000
]}
]}

Länge x Breite und Umrechnung in m², Wert darf nicht größer sein als 0,5m²

Der min-Operator nimmt den kleinsten der beiden Werte, in diesem Beispiel entweder 0.5 oder das Ergebnis der Berechnung.

Beispiel I

  • Kundeneingabe Länge (cm): 10, Breite (cm): 10
  • Ergebnis in m²: 0.01 m²
  • Ergebnis der Formel: 0.01, da der min-Operator den kleinsten Wert auswählt

Beispiel II

  • Kundeneingabe Länge (cm): 100, Breite (cm): 60
  • Ergebnis in m²: 0.6 m²
  • Ergebnis der Formel: 0.5, da der min-Operator den kleinsten Wert auswählt

Profimodus:

{"min":[
0.5,
{"/":[
{"*":[
{"var":"fields.hoehe.value"},
{"var":"fields.breite.value"}
]},
10000
]}
]}

Validierungen / Sichtbarkeitssteuerung

Bei Validierungen / Sichtbarkeitssteuerungen muss immer ein boolescher Wert (wahr / falsch) zurückgeliefert werden.

Prüfung, ob bestimmter Wert eines Mehrfachauswahlfeldes gewählt wurde

Hier wird geprüft, ob "rechts" im Feld mit dem Schlüsselwert "seiten" gewählt wurde

Profimodus:

{"in":[
"rechts",
{"map":[{"var":"fields.seiten.value"}, {"var":"value"}]}
]}

Prüfung, ob einer von zwei Werten eines Mehrfachauswahlfeldes gewählt wurde

Hier wird geprüft, ob "rechts" oder "links" im Feld mit dem Schlüsselwert "seiten" gewählt wurde

Profimodus:

{"or":[
{"in":[
"rechts",
{"map":[{"var":"fields.seiten.value"}, {"var":"value"}]}
]},
{"in":[
"links",
{"map":[{"var":"fields.seiten.value"}, {"var":"value"}]}
]}
]}

Prüfung, ob exakt zwei Werte eines Mehrfachauswahlfeldes gewählt wurden

Hier wird geprüft, ob "rechts" UND "links" im Feld mit dem Schlüsselwert "seiten" gewählt wurde

Profimodus:

{"and":[
{"in":[
"rechts",
{"map":[{"var":"fields.seiten.value"}, {"var":"value"}]}
]},
{"in":[
"links",
{"map":[{"var":"fields.seiten.value"}, {"var":"value"}]}
]}
]}

Validierung mit mehreren Bedingungen

{"and": [
{">": [{"var": "fields.laenge.value"}, 10]},
{"<": [{"var": "fields.laenge.value"}, 500]},
{">": [{"var": "fields.breite.value"}, 5]}
]}
hinweis

Matrix-Operatoren sind besonders nützlich für komplexe Staffelpreise und können beliebig viele Dimensionen abbilden.