# Optionen
Optionen sind die möglichen Einstellungen eines Konfigurators, die vom Kunden konfiguriert werden können.
Wichtig
Jede Option besitzt einen der folgenden Options-Typen:
Eine Option vom Typ Liste hat zum Beispiel andere Einstellungsmöglichkeiten als eine Option vom Typ Zahl.
Bevor man eine neue Option erstellt, muss man sich kurz überlegen, welcher Options-Typ sich am Besten eignet.
# Liste
Mit dem Liste-Optionstyp können im Konfigurator vordefinierte Auswahlfehler angezeigt werden.
# Zahl
Mit dem Zahl-Optionstyp können im Konfigurator Eingabefelder für numerische Werte angezeigt werden.
# Text
Mit dem Text-Optionstyp können im Konfigurator Freitext-Eingabefelder angezeigt werden.
Text wird häufig verwendet für Eingabefelder wie Kommentar und Kommission.
# RAL-Farbe
Mit dem RAL-Farbe-Optionstyp können im Konfiguration Eingabefelder für RAL-Werte angezeigt werden.
Der eingegebene RAL-Wert wird anhand der hinterlegten RAL-Farben geprüft und es wird eine Farbvorschau angezeigt.
# Preisformeln
Mit Preisformeln ist es möglich, komplexere Preisberechnungen durchzuführen. Von der Schreibweise haben sie eine starke Ähnlichkeit mit Excel-Formeln.
Im folgendem Beispiel wird der Preis pro laufender Meter anhand des Schnittmaßes berechnet:
(schnittmass / 1000) * __preis__
// Schnittmaß zuerst von Millimeter in Meter umrechnen und dann
// mit dem ermittelten Preis aus der Preistabelle multiplizieren.
# Variablen
Die internen Optionsnamen können innerhalb von Preisformeln als Variablen verwendet werden. So hat man Zugriff auf die konfigurierten Werte des Kunden.
Im Beispiel oben ist schnittmass der interne Optionsname.
__preis__ Variable
__preis__ ist eine feste Variable, die den Preis der aktuellen Option vor Anwendung der Preisformel zurückgibt.
# Funktionen
Es stehen Funktionen zur Verfügung, die u. a. hilfreich sein können, um Zahlen zu runden.
| Funktion | Beschreibung |
|---|---|
ceil() | Auf nächste ganze Zahl aufrunden. |
ceil(x.xx, y) | Auf y Nachkommastellen aufrunden. |
floor() | Auf nächste ganze Zahl abrunden. |
floor(x.xx, y) | Auf y Nachkommastellen abrunden. |
Alle verfügbaren Funktionen (opens new window)
# Beispiele
// Aufrunden
ceil(6.9) // 7
ceil(4.2) // 5
// Aufrunden auf z.B. 2 Nachkommastellen
ceil(6.1278, 2) // 6,13
ceil(4.1234, 2) // 4,13
// Abrunden
floor(6.9) // 6
floor(4.2) // 4
// Abrunden auf z.B. 3 Nachkommastellen
floor(6.1278, 3) // 6,127
floor(4,1234, 3) // 4,123