Neu Ich gebe fast alles, wenn .........

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.848
530
Folgendes habe ich in einem Workflow unter Erweiterten Eigenschaften:
Code:
{% for Item in Vorgang.AuftragsPositionen.ArtikelPositionen %}\
{% if Vorgang.AuftragsPositionen.Anzahl == 1 and Vorgang.AuftragsPositionen.Positionen.ErstesObjekt.Menge >= 1 %}
    {% else Vorgang.AuftragsPositionen.Anzahl > 2 %}
    {% assign pos = true %}
{% endif %}\
{% assign preis=Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart %}\
{% assign waren=Item.Artikel.Warengruppe.InterneWarengruppennummer %}\
{% if waren == "1" %}DHL
    {% elsif waren == "2" %}DHL
    {% elsif waren == "3" and pos == "true"%}GB
        {% elsif waren == "3" and pos != "true"%}DHL
    {% elsif waren == "4" and pos == "true"%}GB
        {% elsif waren == "4" and pos != "true"%}DHL
    {% elsif waren == "5" and pos == "true"%}MB
        {% elsif waren == "5" and pos != "true"%}DHL
    {% elsif waren == "6" and pos == "true"%}MB
        {% elsif waren == "6" and pos != "true"%}DHL
    {% elsif waren == "7" and pos == "true"%}MB
        {% elsif waren == "7" and pos != "true"%}DHL
    {% elsif waren == "8" %}DHL
    {% elsif waren == "9" %}DHL
    {% elsif waren == "13" %}DHL
{% endif %}
{% endfor %}
Mit dieser Anweisung kann ich aus dem Artikelstamm mir die Warengruppe ziehen:
Code:
{% for Item in Vorgang.AuftragsPositionen.ArtikelPositionen %}\
{% assign waren=Item.Artikel.Warengruppe.InterneWarengruppennummer %}\
{% if waren == "1" %}DHL
{% endif %}
{% endfor %}

1. Was ich nicht hinbekomme ist die Versandklasse aus dem Artikelstamm zu holen.
2. Was mir nicht klar ist wie es ist wenn mehrere Artikel in einem Auftrag sind, welche Warengruppe z.B. nimmt er dann?

Auch ein Ziel ist es wenn es im Auftrag eine Versandklasse (Artikelstamm) gibt die z.B. DHL heißt dann soll er die Versandart auf DHL Paket setzen.
Ich tüftle an diesem Prob seit geraumer Zeit rum wäre echt klasse wenn mir da jemand helfen kann.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.848
530
Hiermit würde ich ja weiterkommen, wenn ich die Versandklasse abrufen könnte:
Code:
{% comment %}Prüft jede Artikelposition auf ihre Maße, sortiert sie (Höhe immer höchster Wert, dann Breite, Länge kleinster Wert). Gibt TRUE aus, wenn keine Position die Maximalwerte übersteigt{% endcomment %}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.Positionen -%}
{% assign Artikel = Artikelbeschreibungen.Artikel %}
{% assign Maße = Artikel.Höhe | Concat: Artikel.Breite | Concat: Artikel.Länge | Sort  %}
{% if Maße[2] > 35.1 or Maße[1] > 24 or Maße[0] > 4.9 %}
{% assign ZuGross = true %}
{% endif %}
{% endfor %}
{% if ZuGross == true %}
FALSE
{% else %}
TRUE
{% endif %}

Wenn ich das richtig verstehe geht das ja als Schleife über alle Artikel des Auftrags und holt dazu Werte aus dem Artikelstamm.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
747
265
Hiermit würde ich ja weiterkommen, wenn ich die Versandklasse abrufen könnte:
Code:
{% comment %}Prüft jede Artikelposition auf ihre Maße, sortiert sie (Höhe immer höchster Wert, dann Breite, Länge kleinster Wert). Gibt TRUE aus, wenn keine Position die Maximalwerte übersteigt{% endcomment %}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.Positionen -%}
{% assign Artikel = Artikelbeschreibungen.Artikel %}
{% assign Maße = Artikel.Höhe | Concat: Artikel.Breite | Concat: Artikel.Länge | Sort  %}
{% if Maße[2] > 35.1 or Maße[1] > 24 or Maße[0] > 4.9 %}
{% assign ZuGross = true %}
{% endif %}
{% endfor %}
{% if ZuGross == true %}
FALSE
{% else %}
TRUE
{% endif %}

Wenn ich das richtig verstehe geht das ja als Schleife über alle Artikel des Auftrags und holt dazu Werte aus dem Artikelstamm.
Code:
{% for ArtikelPos in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
Versandklasename={{ArtikelPos.Artikel.VersandklasseName }}
{% endfor -%}
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.848
530
Juhuu es klappt. Hiermit kann ich jetzt die Versandklasse auslesen als Schleife über alle Positionen des Auftrags
Code:
{% for ArtikelPos in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
{% assign Versand={{ArtikelPos.Artikel.VersandklasseName }} %}
{% if Versand contains 'DHL' %}Paket{% endif %}
{% endfor -%}
@mvh Tausend Dank!!! Was kann ich dir gutes tun?

P.S. Was wir noch ein Rätsel ist woher du weißt wie das Kürzel heißt (ArtikelPos.Artikel.VersandklasseName) ich habe da so viele Schreibweisen ausprobiert, nix hat geklappt.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.848
530
Falls es jemanden interessiert, da ist bis jetzt draus geworden:

Code:
{% for ArtikelPos in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
{% if ArtikelPos.Artikel.VersandklasseName contains 'DHL' %}{% assign klasse = true %}{% endif %}\
{% if ArtikelPos.Artikel.Warengruppe.InterneWarengruppennummer | Matches: '^(3|4)' %}{% assign versandGB = true %}{% endif %}\
{% if ArtikelPos.Artikel.Warengruppe.InterneWarengruppennummer | Matches: '^(5|6|7)' %}{% assign versandMB = true %}{% endif %}\
{% assign menge=ArtikelPos.Menge %}\
{% endfor -%}
{% if klasse == "true" %}Paket
    {% elsif versandGB == "true" and menge < 2 %}GB
        {% elsif versandGB == "true" and menge > 2 %}Paket
    {% elsif versandMB == "true" and menge < 2 %}MB
        {% elsif versandMB == "true" and menge > 2 %}Paket
{% endif %}

1. Als erstes weise ich "klasse" zu die schaut ob ein Artikel im Auftrag die Versandgruppe DHL hat.
2. Ich matche die Warengruppen ID`s. Also alle Warengruppen die z.B. GB (Großbrief) haben.
3. Ich weise "menge" den Artikelmengen zu.

Meine erste Abfrage schaut ob in irgendeinen Artikel des Auftrags DHL steht und gibt dann "Paket" aus.
Dann frage ich die Warengruppe per ID ab und gebe der GB (Großbrief) wenn die Menge kleiner 2 ist.
Als nächstes weise ich zu wenn die Menge der Warengruppe GB (Großbrief) größer 2 ist dann Paket.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Wie kann ich über eigene Felder eine Mehrfachauswahl erstellen? User helfen Usern - Fragen zu JTL-Wawi 4
Neu neue Tarife mit Shop verstehe ich da was falsch? Allgemeine Fragen zu JTL-Shop 3
Neu Warum kann ich bei Druckvorlagen die Seitengröße nicht anpassen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 6
Neu Kunde zahlt bar bei Anlieferung, wie löse ich das? Arbeitsabläufe in JTL-Wawi 15
Neu Ab dem 01.09.2024 neue Lizenzschlüssel, muss ich was machen? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Umtauschartikel und Reparaturdienstleistung, habe ich was falsch eingestellt? User helfen Usern - Fragen zu JTL-Wawi 1
Neu REST-API nur noch für Premium Kunden - oder wie verhindere ich Nutzung moderner Schnittstellen... Schnittstellen Import / Export 37
Neu Wie kann ich verhindern, dass ein Auftrag den verfügbaren Lagerbestand beeinflusst? JTL-Wawi - Ideen, Lob und Kritik 1
Neu Kann ich das alte EVO-Template löschen? Templates für JTL-Shop 2
Neu Wie binde ich GooglePay über PayPal Checkout an? Plugins für JTL-Shop 4
Neu Tabelle Tbestseller verschwunden - wie bekomme ich die wieder? Gelöste Themen in diesem Bereich 3
Neu Farbe setzen funktioniert nach dem Updaten anders als früher. Was kann ich dagegen tun? Arbeitsabläufe in JTL-Wawi 0
Neu E-Mail Bestellung versandt wird nur verschickt, wenn ich Zahlung bestätige (keine Vorkasse) JTL-Shop - Fehler und Bugs 0
Beantwortet Brauch ich pro Belegtyp 2 Druckvorlagen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0

Ähnliche Themen