User Tools

Site Tools


en:lenscatalog:version070000:usage:orderoptions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:lenscatalog:version070000:usage:orderoptions [2017/07/17 09:49] dkrollen:lenscatalog:version070000:usage:orderoptions [2017/07/20 08:31] (current) dkroll
Line 1: Line 1:
 +[[en:lenscatalog:version070000:usage|Overview usage]]
 +
 +[[de:lenscatalog:version07developement:orderoptions|Sonderfälle, die beachtet werden müssen.]]
 +
 +[[en:lenscatalog:version070000:usage:orderoptions:deprecatedversion|Deprecated version (11.07.2017)]]
 +
 +====== Usage of orderoptions ======
 +
 +NEEDTRANS
 +
 +
 +
 +===== OrderOptionGroups =====
 +
 +OrderOptions werden im Element B2BCatalogorderOptionGroup (3) zu einer Gruppe zusammen gefasst und mit einer ID (2) belegt. Es können mehrere Gruppen (1) definiert werden. Diese Gruppen können über die ID Gläsern und/oder Zuschlägen zugewiesen werden.
 +
 +{{:en:lenscatalog:version070000:usage:orderoptions:orderoptiongroups1.jpg?nolink|}}
 +
 +
 +==== B2BCatalogOrderOptionGroup/orderOptionSet ====
 +
 +Im ComplexType B2BCatalogorderOptionGroup (3) werden die orderOptions mit folgender Logik angeordnet:
 +
 +  * In jeder OrderOptionGroup (3) können eine oder mehrere orderOptionSet (4) angelegt werden.
 +  * In jedem orderOptionSet können eine oder mehrere orderOptions (6) hinterlegt werden.
 +  * Im Attribut "Use" (5) wird angegeben, ob die orderOptions (6) bei einer Bestellung übertragen werden können, oder übertragen werden müssen.
 +  * Sind in einem orderOptionSet mehrere orderOptions (6) hinterlegt, kann frei gewählt werden, welche dieser orderOptions bei einer Bestellung verwendet wird ("oder"-Funktion).
 +
 +{{:en:lenscatalog:version070000:usage:orderoptions:orderoptiongroups2.jpg?nolink|}}
 +
 +=== Beispiel ===
 +
 +Im unten stehenden Beispiel wurden drei Gruppen angelegt. Gruppe 1 besteht aus drei orderOptionSets, Gruppe 2 und 3 bestehen jeweils aus nur einem orderOptionSet.
 +{{:en:lenscatalog:version070000:usage:orderoptions:orderoptiongroupsexample1.jpg?nolink|}}
 +
 +
 +Diese Gruppen können einem Glas oder einem Zuschlag zugewiesen werden. Wenn diese zugewiesen werden, dann gilt für das Glas/Zuschlag folgende Bedingung:
 +
 +id 1: Für dieses Beispiel gilt folgendes:
 +  * MONOCUOLAR_CENTRATION_DISTANCE_FAR muss übertragen werden (orderOptionSet 1)
 +  * SHAPE_EXPLICIT "oder" SHAPE_TRACERDATA muss übertragen werden (orderOptionSet 2 mit "oder"-Funktion)
 +  * LAST_NAME kann übertragen werden (orderOptionSet 3)
 +
 +id 2: Für dieses Beispiel gilt folgendes:
 +  * WAVEFRONTOPTIMISATION muss übertragen werden (orderOptionSet 4)
 +
 +id 3: Für dieses Beispiel gilt folgendes:
 +  * SHAPE_TRACERDATA muss übertragen werden (orderOptionSet 5) 
 +
 +==== orderOption von Glas und Zuschlag kombinieren ====
 +
 +Wenn einem Glas die Id 1 zugewiesen ist und einem Zuschlag die Id 2 zugewiesen ist, dann werden bei einer Bestellung dieses Glases mit diesem Zuschlag, die orderOptions von Id1 und Id2 vereint. Für diese Bestellung gilt folgendes
 +  * MONOCUOLAR_CENTRATION_DISTANCE_FAR muss übertragen werden.
 +  * SHAPE_EXPLICIT "oder" SHAPE_TRACERDATA muss übertragen werden.
 +  * LAST_NAME kann übertragen werden.
 +  * WAVEFRONTOPTIMISATION muss übertragen werden
 +
 +==== Konflikte bei der Kombination von orderoptions ====
 +
 +Wenn einem Glas die Id 1 zugewiesen ist und einem Zuschlag die Id 3 zugewiesen ist, dann werden bei einer Bestellung dieses Glases mit diesem Zuschlag, die orderOptions von Id1 und Id3 vereint. Für diese Bestellung gilt folgendes
 +  * MONOCUOLAR_CENTRATION_DISTANCE_FAR muss übertragen werden.
 +  * SHAPE_EXPLICIT "oder" SHAPE_TRACERDATA muss übertragen werden.
 +  * LAST_NAME kann übertragen werden.
 +  * SHAPE_TRACERDATA muss übertragen werden
 +
 +In diesem Fall gibt es einen Konflikt zwischen folgenden Einträgen:
 +  * SHAPE_EXPLICIT "oder" SHAPE_TRACERDATA muss übertragen werden.
 +  * SHAPE_TRACERDATA muss übertragen werden
 +
 +Um diesen Konflikt zu umgehen, können Regeln festgelegt werden, wie mit diesen Konflikten umzugehen ist. Diese Regeln werden im folgenden Abschnitt beschrieben.
 +
 +===== orderOptionRules =====
 +
 +
 +==== Konflikte beseitigen mit orderOptionRules ====
 +
 +Im Zweig orderOptionRules wird festgelegt, wie Konflikte behandelt werden. 
 +
 +Pro Regel wird eine orderOptionRule (1) angelegt. Jede Rule verfügt über das Element matching (2). OrderOptions die im Element matching (2) hinterlegt sind, werden mit den orderOptions ersetzt, die im Element replacement (3) hinterlegt sind.
 +
 +{{:en:lenscatalog:version070000:usage:orderoptions:orderoptionrules1.jpg?nolink|}}
 +
 +Hier noch einmal genauer erklärt: Die Elemente matching (2) und replacement (3) beinhalten eine Auflistung der Elemente orderOptionSet (5/6). Wenn alle orderOptionSet (5) aus dem Element matching (2) in der Liste der orderOptionSet aus der Glas/Zuschlag-Kombination vorhanden sind, dann werden diese orderOptionSet mit denen ersetzt, die in replacement (3) aufgelistet sind.
 +
 +{{:en:lenscatalog:version070000:usage:orderoptions:orderoptionrules2.jpg?nolink|}}
 +
 +=== Beispiel ===
 +
 +Um den oben beschriebenen Konflikt aufzuheben, wird eine rule erfasst, in der im matching (2) die OrdeOptionSets 2 und 5 eingetragen werden, also
 +  * SHAPE_EXPLICIT "oder" SHAPE_TRACERDATA muss übertragen werden.
 +  * SHAPE_TRACERDATA muss übertragen werden 
 +In replacement (3) wird nur das OrdeOptionSet 5 eingetragen, also
 +  * SHAPE_TRACERDATA muss übertragen werden 
 +
 +Ergibt sich also eine Kombination aus "SHAPE_EXPLICIT "oder" SHAPE_TRACERDATA muss übertragen werden" mit "SHAPE_TRACERDATA muss übertragen werden", so werden diese Einträge durch den alleinigen Eintrag "SHAPE_TRACERDATA muss übertragen werden" ersetzt. Somit ist der Konflikt behoben.
 +
 +
 +
 +
 +==== Wann werden orderOptionRules angewendet? ====
 +
 +Es gibt drei Bereiche, in denen orderOptionRules mit Hilfe einer Id hinterlegt werden können. 
 + 
 +1) Im Zweig orderOptionsGlobalRules, werden alle orderOptionRules mit der entsprechenden ID hinterlegt, die bei jeder Glas/Zuschlag-Kombination Anwendung finden.
 +
 +2) Wenn bestimmte Rules nur bei bestimmten Gläsern angewendet werden sollen, dann werden diese unter lenses->orderOption->orderoptionRuleIds hinterlegt.
 +
 +3) Wenn bestimmte Rules nur bei bestimmten Zuschlägen anwendung finden, dann werden diese unter options->orderOption->orderoptionRuleIds hinterlegt.
 +
 +==== Prioritäten bei der Anwendung von orderOptionRules ====
 +
 +Bei der Zuweisung einer Id für die orderOptionRule kann das Attribut "prio" angegeben werden. Es werden alle verfügbaren Rules aus den orderOptionsGlobalRules, aus den lenses und aus den Options gleichzeitig ausgewertet und zwar nach der Angabe der Prio in aufsteigender Reihenfolge. Wenn das Attribut Prio nicht angegeben wurde, dann wird per Default der Prio-Wert 99999 verwendet. Rules mit gleicher Prio können in beliebiger Reihenfolge ausgewertet werden.
 +
 +
 +===== Zusammenfassung =====
 +
 +  * Jedem Glas und jedem Zuschlag werden über das Element orderOptions->orderOptionGroupIds vorgegebene Gruppen von OrderOptions zugewiesen.
 +  * Diese Gruppen werden im Bereich orderOptionGroups festgelegt.
 +  * Wenn es zu Konflikten zwischen orderOptions kommt, können diese über Rules beseitigt werden.
 +  * Die Rules werden im Bereich orderOptionRules definiert.
 +  * Die Rules können über eine Id als Globale Rule verwendet werden, oder Gläsern und Zuschlägen einzeln zugewiesen werden.