1. Wenn Ihr uns das erste Mal besucht, lest euch bitte zuerst die Foren-Regeln durch.
    Information ausblenden

Neu Kann keine Warengruppen als Bedingung anlegen

Dieses Thema im Forum "JTL-Wawi Workflows Verbesserungsvorschläge, Lob und Kritik" wurde erstellt von CSB, 11. April 2018.

  1. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Ich bin grade dabei mir Workflows anzulegen um den Versand zu regeln. Das soll nach Warengruppen als Bedingung gehen. Leider finde ich im TAB "Aufträge" nirgends Warengruppen.
    Auch wird das nicht ausgewertet unter "Erweiterte Eigenschaften": {{ Vorgang.Allgemein.Kategorisierung.Warengruppe.Name }}

    Folgendes habe ich mir unter "Erweiterte Eigenschaften mal angelegt (die Zahlen 10-17 sind nur zum testen, soll dann ne 1 jeweils rein):
    Code:
    {% if Vorgang.Allgemein.Kategorisierung.Warengruppe.Name == Arbeitsspeicher (RAM) and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}10
    {% elsif Vorgang.Allgemein.Kategorisierung.Warengruppe.Name == Controller and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}11
    {% elsif Vorgang.Allgemein.Kategorisierung.Warengruppe.Name == Gehäuselüfter and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}12
    {% elsif Vorgang.Allgemein.Kategorisierung.Warengruppe.Name == Lüftersteuerung and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}13
    {% elsif Vorgang.Allgemein.Kategorisierung.Warengruppe.Name == Prozessor (CPU) and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}14
    {% elsif Vorgang.Allgemein.Kategorisierung.Warengruppe.Name == Soundkarte and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20,00 %}15
    {% elsif Vorgang.Allgemein.Kategorisierung.Warengruppe.Name == TV-Karte and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20,00 %}16
    {% elsif Vorgang.Allgemein.Kategorisierung.Warengruppe.Name == Kabel / Adapter %}17
    {% else %}0
    {% endif %}

    Anmerkung von @Rico Giesler: Warengruppen gibt es bereits unter Aufträge. Allerdings nicht als Warengruppe.Name sondern als IntereWarengruppennummer.
    Aber auch über die erweiterten Eigenschaften kannst du das lösen mit Warengruppen Name.
    Hierzu müsste eine Schleife über alle Positionen gebaut werden. Zu beachten ist hierbei, was passieren soll wenn mehrere Artikel aus verschiedenen Warengruppen enthalten sind.
    Bitte dazu am besten einen separaten Thread aufmachen. Dort könnt ihr euch dann mit der Community darüber austauschen wie es am besten geht.


    @Rico Giesler
    Also über Erweiterte habe ich es versucht siehe oben, wie ist denn da die Syntax? Und Warengruppennummer finde ich nicht wo soll das sein?
     
  2. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    So nun habe ich das probiert, aslo Warengruppe aus Artikel nicht aus Vorgang. Und Bezeichnung der Warengruppe in Anführungszeichen:
    Code:
    {% if Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "Arbeitsspeicher (RAM)" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}10
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "Controller" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}11
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "Gehäuselüfter" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}12
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "Lüftersteuerung" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}13
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "Prozessor (CPU)" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}14
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "Soundkarte" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20,00 %}15
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "TV-Karte" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20,00 %}16
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "Kabel / Adapter" %}17
    {% else %}0
    {% endif %}
    Das wirft mir nur 0 aus.
     
  3. css-umsetzung

    css-umsetzung Offizieller Servicepartner SPBanner

    Registriert seit:
    6. Juli 2011
    Beiträge:
    2.306
    Zustimmungen:
    243
    Punkte für Erfolge:
    63
    Beruf:
    Freiberuflich
    Ort:
    Berlin
    Wir hatten ja darüber gesprochen, also wenn da etwas nach Name abgefragt wird, dann muss der Name gequoted werden.
    Hinzu kommt wo ich das jetzt so anschaue, die Warengruppe bezieht sich doch auf den Artikel, also müssten alle Artikel nach der jeweiligen Warengruppe abgefragt werden.

    Was passiert wenn ich drei Artikel unterschiedlicher Warengruppen kaufe?
     
  4. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Und ohne Anführungszeichen wirft er mir immer die 17 aus:
    Code:
    {% if Artikel.Allgemein.Kategorisierung.Warengruppe.Name == Arbeitsspeicher (RAM) and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}10
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == Controller and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}11
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == Gehäuselüfter and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}12
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == Lüftersteuerung and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}13
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == Prozessor (CPU) and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}14
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == Soundkarte and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20,00 %}15
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == TV-Karte and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20,00 %}16
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == Kabel / Adapter %}17
    {% else %}0
    {% endif %}
    Beide Variablen geben nichts aus:
    {{ Artikel.Allgemein.Kategorisierung.Warengruppe.Name }}
    {{ Vorgang.Allgemein.Kategorisierung.Warengruppe.Name }}
     
  5. css-umsetzung

    css-umsetzung Offizieller Servicepartner SPBanner

    Registriert seit:
    6. Juli 2011
    Beiträge:
    2.306
    Zustimmungen:
    243
    Punkte für Erfolge:
    63
    Beruf:
    Freiberuflich
    Ort:
    Berlin
    Ach nun sieht das ja noch anders aus, wo hast du diese Variablen her, wenn du in den Workflows Aufträge -> Auftrag erstellen bist gibt es die nicht?
     
  6. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Hier habe ich die gefunden:
     

    Anhänge:

  7. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Na toll so funzt es aber nicht in meinem if Gebilde:
     

    Anhänge:

  8. css-umsetzung

    css-umsetzung Offizieller Servicepartner SPBanner

    Registriert seit:
    6. Juli 2011
    Beiträge:
    2.306
    Zustimmungen:
    243
    Punkte für Erfolge:
    63
    Beruf:
    Freiberuflich
    Ort:
    Berlin
    und wo ist da diese Variable Artikel.Allgemein.Kategorisierung.Warengruppe.Name die man abfragen könnte?

    die eigentlichen Variablen die abgefragt werden müssten wären also

    Code:
    {{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Warengruppe.InterneWarengruppennummer }}
    
    oder
    
    {{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Warengruppe.Name }}
    
    was bedeutet, dass du das in einer Schleife abfragen musst denn wie ich schon sagte es kann ja sein das jemand mehr als einen Artikel kauft.

    Achtung, das ist jetzt einfach aus dem Kopf geschrieben, ich habe auch noch nie elsif verwendet, gibt es das wirklich? Sehe das also nur als Hinweis das es eigentlich eine Schleife sein müsste die die einzelnen Artikelgruppen prüft, eine Prüfung per Interner ID wäre aber auch besser da eindeutig:

    Code:
    {% assign maxPreis=0 %}\
    {% for Item in Vorgang.AuftragsPositionen.ArtikelPositionen %}\
    {% assign warenkorbGruppe=Item.Artikel.Warengruppe.Name %}\
    {% if warenkorbGruppe == "Arbeitsspeicher (RAM)" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30 and maxPreis < 10 %} {% assign maxPreis=10 %}\
    {% elsif warenkorbGruppe == "Controller" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30  and maxPreis < 11 %} {% assign maxPreis=11 %}\
    {% elsif warenkorbGruppe == "Gehäuselüfter" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30  and maxPreis < 12 %} {% assign maxPreis=12 %}\
    {% elsif warenkorbGruppe == "Lüftersteuerung" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30  and maxPreis < 13 %} {% assign maxPreis=13 %}\
    {% elsif warenkorbGruppe == "Prozessor (CPU)" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30  and maxPreis < 14 %} {% assign maxPreis=14 %}\
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "Soundkarte" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20  and maxPreis < 15 %} {% assign maxPreis=15 %}\
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "TV-Karte" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20  and maxPreis < 16 %} {% assign maxPreis=16 %}\
    {% elsif Artikel.Allgemein.Kategorisierung.Warengruppe.Name == "Kabel / Adapter"  and maxPreis < 17 %} {% assign maxPreis=17 %}\
    {% endif %}\
    {% endfor %}\
    {{ maxPreis }}
     
    Zuletzt bearbeitet: 11. April 2018
  9. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Erst mal vielen Dank für deine Bemühungen, wird nicht dein Schaden sein. Ich probiere das gleich mal.

    Da ich ja teilweise verschachteln will bzw. "und" "oder" machen will, habe ich ja in den Workflows keine Möglichkeit das darzustellen. Außer die werden ellenlang, hier gibt es Verbbesserungspotential.

    Okay wenn man in den Workflows unter "Erweitere Eigenschaften verwalten" sich einfach eine Variable rein zieht und unter "Vorschau Auftrag" einen Artikel auswählt bekommt man in der Vorschau (Text) den entsprechend Wert angezeigt.
    Das ist aber bei diesen beiden Warengruppenvariablen nicht so:
    Code:
    {{ Artikel.Allgemein.Kategorisierung.Warengruppe.Name }}
    {{ Vorgang.Allgemein.Kategorisierung.Warengruppe.Name }} 
    Komischerweise wird aber im normalen Workflow mit der Variable {{ Artikel.Allgemein.Kategorisierung.Warengruppe.Name }} beim Workflow Test gesagt er hat ihn ausgeführt. Habe da aber noch nicht alle Möglichkeiten durch getestet.

    Dein Quoten habe ich ausprobiert aber dann wird z.B. das "and" nicht mehr ausgeführt was ohne Quoten funzt.
     
  10. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Ach so die "elsif" und "and" funzen wunderbar. Das ist auch das was ich ein bisschen kann. Nur wie gesagt die beiden Variablen liefern keinen Wert zurück.
     
  11. css-umsetzung

    css-umsetzung Offizieller Servicepartner SPBanner

    Registriert seit:
    6. Juli 2011
    Beiträge:
    2.306
    Zustimmungen:
    243
    Punkte für Erfolge:
    63
    Beruf:
    Freiberuflich
    Ort:
    Berlin
    können Sie in einem Auftrag ja auch nicht weil die in einem Array von Vorgang.AuftragsPositionen.ArtikelPositionen sind, daher brauchst du eine Schleife.
    {% for Item in Vorgang.AuftragsPositionen.ArtikelPositionen %}
    {% endfor %}

    und in Item ist dann das Objekt also die Daten der einen Position = Item.Artikel.Warengruppe.Name

    Es sind nur die Variablen vorhanden, die du auf der rechten Seite auch auswählen kannst, immer wenn du da was von ErstesObjekt siehst dann musst du die Daten in einer Schleife abfragen.

     
  12. css-umsetzung

    css-umsetzung Offizieller Servicepartner SPBanner

    Registriert seit:
    6. Juli 2011
    Beiträge:
    2.306
    Zustimmungen:
    243
    Punkte für Erfolge:
    63
    Beruf:
    Freiberuflich
    Ort:
    Berlin
    Ich sehe gerade das Leerzeichen zwischen den Klammern muss da auch jeweils raus %} {% assign maxPreis
     
  13. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Okay verstanden da sehr wahrscheinlich der Wert den ich brauche in einer anderen Tabelle ist muss ich die per Schleife einlesen.
    So läuft schon mal der erste Vorgang. JUBEL. Ich melde mich mal nächste Woche bei dir.
    Code:
    {% if Vorgang.Lieferung.Lieferadresse.LandISO =="DE" %}
    
        {% for Item in Vorgang.AuftragsPositionen.ArtikelPositionen %}
            {% if Item.Artikel.Warengruppe.Name == "Arbeitsspeicher (RAM)" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}DE30
                {% elsif Item.Artikel.Warengruppe.Name == "Controller" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}DE30
                {% elsif Item.Artikel.Warengruppe.Name == "Gehäuselüfter" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}DE30
                {% elsif Item.Artikel.Warengruppe.Name == "Lüftersteuerung" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 30,00 %}DE30
                {% elsif Item.Artikel.Warengruppe.Name == "Prozessor (CPU)" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 49,00 %}DE30
                {% elsif Item.Artikel.Warengruppe.Name == "Soundkarte" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20,00 %}DE30
                {% elsif Item.Artikel.Warengruppe.Name == "TV-Karte" and Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart <= 20,00 %}DE30
                {% elsif Item.Artikel.Warengruppe.Name == "Kabel / Adapter" %}DE30
            {% else %}0
            {% endif %}
        {% endfor %}
    
    
    {% else %}Anderes Land
    {% endif %}
     
  14. css-umsetzung

    css-umsetzung Offizieller Servicepartner SPBanner

    Registriert seit:
    6. Juli 2011
    Beiträge:
    2.306
    Zustimmungen:
    243
    Punkte für Erfolge:
    63
    Beruf:
    Freiberuflich
    Ort:
    Berlin
    Du weißt das deine Variante nur bei einem gekauftem Artikel funktioniert oder?
    Hast du mehrere Artikel solltest du auf meine obere Variante zugreifen, da diese dann immer schaut ob ein Artikel dabei ist der höhere Versandkosten hat und dieses dann automatisch anpasst.
     
  15. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Ah okay gut zu wissen, danke dir.
     
  16. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Hmmh muss dat Dingens von dir erstmal verstehen warum das so ist.

    Ich glaube du hast die 10-17 als Preise verstanden, richtig? Das waren nur Zahlen zum prüfen was übergeben wird. Jetzt steht da überall nee 1 bzw. DE30 außer wenn nix zutrifft. Im Workflow sage ich dann wenn nee 1 bzw. DE30 dann ändere die Versandkosten.

    Ich habe für unter 30 Euro 4 Versandarten DE, EU, NON-EU und RU. Das muss ich abbilden. Muss noch rausbekommen wie ich mehrere Aktionen anlegen kann. Also wenn z.B. DE30 übergeben wird dann nimm die Aktion und wenn EU dann die Aktion.
     
    Zuletzt bearbeitet: 12. April 2018
  17. css-umsetzung

    css-umsetzung Offizieller Servicepartner SPBanner

    Registriert seit:
    6. Juli 2011
    Beiträge:
    2.306
    Zustimmungen:
    243
    Punkte für Erfolge:
    63
    Beruf:
    Freiberuflich
    Ort:
    Berlin
    ja habe ich weil es danach aussah aber was am Ende übergeben wird ist egal, es geht ja nur um die Funktionsweise wie ich so etwas angehen würde.
    Das dann noch nach den einzelnen Versandländer aufzudröseln sollte dann ja nicht mehr so schwer sein.

    Es ist immer schwierig etwas als Codebeispiel zu machen, wenn man nicht genau weiß was am Ende wirklich passieren soll. mit dem D30 kann ja auch niemand was anfangen ohne Backgroundwissen.
    Wenn ich genau wüsste was passieren soll, könnte das ganze eventuell in einem 5 Zeiler abgehandelt werden, wer weiß :)
     
  18. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    So hier mal mein erster Versand Workflow mit ifs:
    Code:
    {% if Vorgang.AuftragsPositionen.ArtikelPositionen.Anzahl =="1" %}
        {% for Item in Vorgang.AuftragsPositionen.ArtikelPositionen %}
            {% assign land=Vorgang.Lieferung.Lieferadresse.LandISO %}
            {% assign landEU=Vorgang.Lieferung.Lieferadresse.Land.IstEU %}
            {% assign landNONEU=Vorgang.Lieferung.Lieferadresse.Land.Kontinent %}
            {% assign preis=Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart %}
            {% assign menge=Vorgang.AuftragsPositionen.Positionen.ErstesObjekt.Menge %}
            {% assign waren=Item.Artikel.Warengruppe.Name %}
    
                {% if waren == "Arbeitsspeicher (RAM)" and land =="DE" and menge =="1" and preis <= 30,00 %}Post30
                    {% elsif waren == "Controller" and land =="DE" and menge =="1" and preis <= 30,00 %}Post30
                    {% elsif waren == "Prozessor (CPU)" and land =="DE" and menge =="1" and preis <= 30,00 %}Post30
                    {% elsif waren == "Gehäuselüfter" and land =="DE" and menge =="1" %}Post30
                    {% elsif waren == "Kabel / Adapter" and land =="DE" and menge =="1" %}Post30
                    {% elsif waren == "Lüftersteuerung" and land =="DE" and menge =="1" preis <= 10,00 %}Post30
                    {% elsif waren == "Blende" and landEU =="true" %}Post30
                    {% elsif waren == "Zubehör Sets" and landEU =="true" and menge =="1" %}Post30
                    {% elsif waren == "Retentionmodul" and land =="DE" and menge =="1" %}Post30
                    {% elsif waren == "SLI-Brücke" and land =="DE" and menge =="1" %}Post30
                    {% elsif waren == "Soundkarte" and land =="DE" and menge =="1" and preis <= 20,00 %}Post30
                    {% elsif waren == "TV-Karte" and land =="DE" and menge =="1" and preis <= 20,00 %}Post30
                {% endif %}    
        {% endfor %}
    {% endif %}
    Mit {% elsif landEU !="true" and landNONEU =="true" } kann ich dann die europäischen Länder ohne die EU ansprechen.

    Übergeben denn im Workflow:
     

    Anhänge:

  19. css-umsetzung

    css-umsetzung Offizieller Servicepartner SPBanner

    Registriert seit:
    6. Juli 2011
    Beiträge:
    2.306
    Zustimmungen:
    243
    Punkte für Erfolge:
    63
    Beruf:
    Freiberuflich
    Ort:
    Berlin
    Langsam kommt licht ins Dunkel aber es es kommen neue Fragen auf.

    {% if Vorgang.AuftragsPositionen.ArtikelPositionen.Anzahl =="1" %} -> was machst du wenn einer zwei Artikel kauft, die eins muss auch nicht gequoted werden, es ist ja ein integer Vergleich?
     
  20. CSB

    CSB Mitglied

    Registriert seit:
    18. Januar 2018
    Beiträge:
    166
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Es ist wohl so sobald 2 Artikel gekauft werden wird es sowie Paket das wollte ich denn in den Paket Workflow packen. Erstmal noch vielen Dank für deine Hilfe, melde mich bei dir.
     

Diese Seite empfehlen

Verstanden Weitere Informationen

JTL-Software benutzt Cookies, teilweise von Drittanbietern, um Funktionalitäten auf unseren Webseiten zu ermöglichen.