Preislisten-Logikcode verwenden
Diese Referenz richtet sich an Administratoren, die Verkaufspreise mit eigenem Code berechnen. Nach der Einrichtung liefert die Preisliste einen numerischen Preis aus Expr-, Lua- oder Tengo-Code. Verwenden Sie Keine, wenn der gespeicherte Basispreis unverändert gelten soll.
Strategie wählen
| Strategie | Verwendung | Minimales Beispiel |
|---|---|---|
Keine | Keine zusätzliche Berechnung. | Logikcode leer lassen. |
Ausdruck | Kurze Berechnung ohne Anweisungsblock. | price * 1.5 |
Lua | Mehrstufige Logik mit Lua-Syntax. | return price * 2 |
Tengo | Mehrstufige Logik mit Tengo-Syntax. | result = price * 3 |
Eingabewerte
Der Code kann folgende Werte lesen:
| Wert | Bedeutung |
|---|---|
price | Berechneter Basispreis pro angefragter Menge. |
quantity | Angefragte Menge. |
product | Produktattribute als Objekt. |
customer | Kundenattribute als Objekt. |
currency | Währung der Preisliste. |
unit | Preiseinheit. |
Greifen Sie nur auf Produkt- oder Kundenattribute zu, die im jeweiligen Preiskontext vorhanden sind. Behandeln Sie fehlende Attribute ausdrücklich.
Der Editor schlägt beim Tippen die verfügbaren Variablen samt Beschreibung vor. Die Vorschlagsliste lässt sich außerdem mit der üblichen Code-Completion-Tastenkombination des Browsers öffnen.
Ergebnis zurückgeben
Geben Sie eines der folgenden Ergebnisse zurück:
- eine Zahl,
- einen numerischen String,
- ein Objekt mit
price, - ein Objekt mit
amount.
Lua kann den Wert mit return zurückgeben oder in result beziehungsweise price ablegen. Tengo muss den berechneten Wert result zuweisen. Ein Ausdruck liefert seinen Wert direkt.
Laufzeit und Fehler
Workspace kompiliert und verarbeitet den Code serverseitig. Die Standardlaufzeit ist auf 50 Millisekunden begrenzt. Der konfigurierte Preis-Engine-Modus bestimmt das Fehlerverhalten:
| Modus | Verhalten bei Compile-, Laufzeit- oder Ergebnisfehlern |
|---|---|
| Strict | Die Preisauflösung bricht mit einem Fehler ab. |
| Fallback | Workspace verwendet den Basispreis und meldet eine Warnung. |
Der Code erhält keinen Browser- oder Datenbankzugriff. Tengo stellt nur die freigegebenen Standardmodule math, text und times bereit.
Ergebnis prüfen
Die Konfiguration ist abgeschlossen, wenn die gewählte Strategie zum Code passt und eine Preisauflösung den erwarteten numerischen Betrag liefert. Prüfen Sie mindestens normale Menge, Grenzmenge, fehlende Attribute und einen absichtlich ungültigen Wert in einer Testumgebung.