Profimodus
Bei der Preis- und Gewichtsberechnung muss das Ergebnis einer Formel immer ein numerischer Wert sein. Bei der Validierung muss das Ergebnis immer ein Wahrheitswert / boolescher Wert sein
Aufbau / Syntax
Die Formel im Profimodus ist ein JSON-Objekt, d.h. jegliche Operatoren werden als JSON-Objekt definiert.
Operatoren
Im einfachen Modus stehen die Logikoperatoren und boolesche Operatoren und arithmetische Operatoren zur Verfügung
Arithmetische Operatoren
Multiplizieren
Didivdieren
Addieren
Subtrahieren
Quadratwurzel ziehen
Potenzieren
Alle Operatoren können durch die Angabe weiterer Argumente erweitert werden. Die Anzahl ist also nicht auf 2 beschränkt, z.B. {"*":[1,2,3,4]} = 1 * 2 * 3 * 4 = 24
Vergleichsoperatoren
if / else
if /else if / if
Ergibt: Falls Länge < 100: 20 Sonst falls Länge < 200: 30, sonst 10
Gleich
Ungleich
Größer gleich / Größer
Kleiner gleich / Kleiner
Nach dem < Zeichen immer ein Leerzeichen lassen!
Rundungen
Vor allem in der Preisberechnung können Rundungen sinnvoll sein.
Runden
Rundet den Wert aus dem Feld auf 2 Nachkommastellen
Aufrunden
Ergebnis: 8
Abrunden
Ergebnis: 7
Bruttopreise / Nettopreise - steuersensitive Angaben je nach Kundengruppe
Preis als Brutto-Preis markieren
Sowohl brutto als auch gross werden als Operator-Name unterstützt:
Preis als Netto-Preis markieren
Sowohl net als auch netto werden als Operator-Name unterstützt:
Sonstiges
Matrix-Operator für Staffelpreise / Preistabellen
Kleinster Wert
Größter Wert
Textlänge
Texte verknüpfen
--> Anzahl Felder: 3
Text ersetzen
Text kann ersetzt werden. In diesem Beispiel werden die mm entfernt, damit z.B. weiter mit der Zahl gerechnet werden kann, aus 29.7 mm wird 29.7
Beispiele
Formelbeispiel: Preis richtet sich nach der Anzahl der eingegebenen Buchstaben
Formelbeispiel Validierung
Falls im Feld "Dicke" ein Wert kleiner als 6 eingetragen / gewählt wurde, ist der maximal gültige Wert 1400, sonst 2000.
Formelbeispiel Preis abhängig von Textlänge
2 Euro pro Buchstabe siehe Beispiel im Demoshop: Storefront Admin (demo demo)
Formelbeispiel: Mindestpreis
Durch den min-Operator wird der jeweils kleinste Wert ausgewählt. Wenn die Berechnung im Ergebnis kleiner als 9,90 ist, wird 9,90 ausgegeben.
Auch mehrere Werte sind möglich, der größte Preis wird gewählt, durch die Angabe von 9.90 wird der Mindestpreis auf 9.90 Euro festgelegt.
Formelbeispiel Preisstaffel mit dem Matrix-Operator
Mit dem Matrix-Operator lassen sich Preisstaffeln / Staffelpreise einfach umsetzen. Statt mit verschachtelten if-gleich-Blöcken zu arbeiten, kann hier die Eingabe ganz einfach Zeile für Zeile erfolgen. In der ersten Zeile wird der zu prüfende Wert eingetragen, in den Folgezeilen die Abstufungen. Im folgenden Beispiel wird bei Auflage >= 100 und < 200 der Wert 10 gewählt, bei >=200 und < 300 der Wert 8.90 etc. Dieses Ergebnis lässt sich wieder mit anderen Operatoren weiterverarbeiten und kombinieren.
Auch weitere Dimensionen sind möglich:
Dieses Beispiel würde in tabellarischer Form so aussehen:
Breite ↓ Länge ->
100
200
300
10
9,90
18,90
27,70
20
11,90
21,90
31,70
30
41,90
54,90
45,70
Das funktioniert auch mit Auswahlfeldern:
Es sind beliebig viele Dimensionen damit abbildbar
Last updated