Gelöst Workflow Höhe Abgleich funktioniert nicht

iks

Mitglied
15. Januar 2019
9
0
Hallo zusammen,

kurz zur Erklärung meines Problems. Es geht um die automatische Versandartzuweisung die über Regelnd definiert wird wie Preis und höhe etc.
Wenn ich nun die Artikel prüfen will ob diese kleiner oder größer als 5cm hoch sind klappt dies leider nicht.

Problem

Der Artikel hat eine Höhe von 7,1cm und zusätzlich wurde von eBay das hinterlegte Versandobjekt als Freitext mit übernommen.
Die Regel sagt wenn der Artikel größer als 5cm hoch ist trifft die Bedingung nicht zu. Es werden jedoch beide Positionen geprüft. Der Artikel sowie das Versadprodukt. Es ist ja gut das es alle Positionen prüft jedoch wird der Workflow ausgeführt obwohl eine Bedingung nicht erfüllt ist.

Wenn ich das Versandprodukt entferne wird nur der Artikel geprüft wo die Bedingung nicht zutrifft und der Workflow nicht durchgeführt wird. Ich habe die Vermutung das nur der letzte Status herenommen wird und der erste Artikel wo die Bedingung nicht zutrifft sozusagen übersprungen wird?

Hat einer noch eine Idee oder weiß wie ich das Problem lösen kann da ich sonst die Versandzuordnung nicht richtig machen kann :/

JTL-Wawi Version: 1.5.21.1
a.JPGb.JPGc.JPG
Danke
 
Zuletzt bearbeitet:

iks

Mitglied
15. Januar 2019
9
0
Ok.

Das problem an der bereits vorhanden Variable Höhe ist das diese den Wert aller Positionen eines Auftrags zurück gibt. Also einmal die des Artikels und dann die des Versandobjekts was 0 ist weshalb dann noch wegen einem Fehler trotz das alle Bedingungen erfüllt sein müssen die Workflow abbricht.

Um die Summe der höhen aller Positionen zu erhalten folgende Formel benutzen:

{% assign GesamtRabattBrutto = 0.0 -%}
{% for AuftragsPosition in Vorgang.AuftragsPositionen.Positionen -%}
{% assign GesamtRabattBrutto = GesamtRabattBrutto | Plus: AuftragsPosition.Artikel.Höhe -%}
{% endfor -%}
{{ GesamtRabattBrutto | FormatNumber: 'N2','de-DE' }}


Wenn man die Artikel einzeln Prüfen will ob nur eines höher oder kleiner als X ist muss man folgenden Code benutzen. Ich habe es auf 6 Artikel Gegrenzt da bereis schon nach dem dritten Artikel eine andere Regel greift:

Artikel 1:

{% capture query -%}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.Positionen limit:1 offset:0 -%}
{{ Artikelbeschreibungen.Artikel.Höhe -}}
{% endfor -%}
{% endcapture -%}
{% assign query = query | Plus: 0.0 -%}
{{ query -}}


Artikel 2:

{% capture query -%}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.Positionen limit:1 offset:1 -%}
{{ Artikelbeschreibungen.Artikel.Höhe -}}
{% endfor -%}
{% endcapture -%}
{% assign query = query | Plus: 0.0 -%}
{{ query -}}


Artikel 3:

{% capture query -%}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.Positionen limit:1 offset:2 -%}
{{ Artikelbeschreibungen.Artikel.Höhe -}}
{% endfor -%}
{% endcapture -%}
{% assign query = query | Plus: 0.0 -%}
{{ query -}}


usw...

so kann man einzeln die Artikel prüfen ob einer z.B. größer oder kleiner als 5cm ist.