Neu Versandklasse in Workflow abfragen bei mehreren Produkten in Bestellung

silium

Aktives Mitglied
1. März 2015
20
0
Hallo zusammen!

Wir haben eine Frage bezüglich der Versandklasse in einer Bestellung mit mehreren Produkten.
Wenn wir nun über Auftragspositionen.ArtikelPositionen.enthält.Artikel.Allgemein.Stammdaten.Versandklasse.Name enthält "Beispiel" in einem Workflow die Versandklasse eines Auftrags abfragen, der aber mehrere Positionen hat...
Wenn die Versandklasse das Wort "Beispiel" enthält, wollen wir z.B. die Versandart DHL PAKET zuweisen.

Wird DHL PAKET dann als Versandart zugewiesen, wenn einer der Artikel als Versandklasse "Beispiel" hat oder wenn alle Artikel des Auftrags die Versandklasse "Beispiel" haben.

Vielen Dank für die Hilfe!
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.245
1.526
Bei deiner jetzigen Abfrage wird nur geprüft ob ein Artikel diese Versandklasse hat nicht ob ALLE diese haben.
 

silium

Aktives Mitglied
1. März 2015
20
0
Hallo...erstmal Danke für die Antwort...kann ich denn auch abfragen (bzw. wie kann ich abfragen?), ob ALLE Artikel die Versandklasse "xyz" haben?

Vielen Dank für die Hilfe!
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.889
545
Ich kann hier mal einen älteren von uns reinstellen. Hier frage ich zwar die Warengruppe ab, denke aber das du den umbauen kannst. Falls Fragen hast einfach melden.
Kommentare der Blöcke musste ich raus schmeissen da nur 1000 Zeichen erlaubt sind.

Code:
{% for Item in Vorgang.AuftragsPositionen.ArtikelPositionen %}
    {% if Vorgang.Lieferung.Lieferadresse.LandISO == 'DE' %}{% assign landDE = true %}{% endif %}
    {% if Vorgang.Lieferung.Lieferadresse.Land.IstEU == 'true' and Vorgang.Lieferung.Lieferadresse.LandISO != 'DE' %}{% assign landEU = true %}{% endif %}
    {% if Vorgang.Lieferung.Lieferadresse.LandISO == 'RU' or Vorgang.Lieferung.Lieferadresse.Landname == 'Russische Föderation' %}{% assign landRU = true %}{% endif %}
    {% if Vorgang.Lieferung.Lieferadresse.Land.Kontinent == 'Europa' and Vorgang.Lieferung.Lieferadresse.Land.IstEU != 'true' and Vorgang.Lieferung.Lieferadresse.LandISO != 'RU' %}{% assign landNONEU = true %}{% endif %}
    {% if Vorgang.Lieferung.Lieferadresse.Land.Kontinent == 'Europa' and Vorgang.Lieferung.Lieferadresse.LandISO != 'RU' and Vorgang.Lieferung.Lieferadresse.LandISO != 'DE' %}{% assign landEU_NONEU = true %}{% endif %} 
    {% if Vorgang.Lieferung.Lieferadresse.Land.Kontinent == 'Europa' and Vorgang.Lieferung.Lieferadresse.Land.IstEU != 'true' %}{% assign landNONEU_RU = true %}{% endif %}
  
    {% assign preis=Vorgang.Zahlungen.GesamtbruttopreisOhneVersandart %}
    {% assign menge=Vorgang.AuftragsPositionen.Positionen.ErstesObjekt.Menge %}
    {% assign waren=Item.Artikel.Warengruppe.Name %}
    {% assign marke=Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Hersteller %}
    {% assign bezeichnung=Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Bezeichnung %}
  
    {% if bezeichnung contains 'Intel' or Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Hersteller == 'Intel' %}{% assign titel = true %}{% endif %}
           {% if waren == "Arbeitsspeicher (RAM)" and landDE !="true" and menge == 1 and preis <= 30,00 %}ES620
            {% elsif waren == "Arbeitsspeicher (RAM)" and landDE !="true" and menge == 1 and preis >= 30,00 and preis <= 50,00 %}ES620
            {% elsif waren == "Betriebssystem" and landDE !="true" and menge == 1 %}ES620
            {% elsif waren == "Controller" and landDE !="true" and menge == 1 and preis <= 30,00 %}ES620
            {% elsif waren == "Prozessor (CPU)" and landDE !="true" and menge == 1 and preis <= 50,00 %}ES620
            {% elsif waren == "Gehäuselüfter" and landDE !="true" %}ES620
            {% elsif waren == "Lüftersteuerung" and landDE !="true" and menge == 1 %}ES620
            {% elsif waren == "Blende" and landRU =="true" %}ES620
            {% elsif waren == "Zubehör Sets's" and landRU =="true" and menge == 1 %}ES620
            {% elsif waren == "Retentionmodul" and landRU =="true" and menge == 1 %}ES620
            {% elsif waren == "SLI-Brücke" and landRU =="true" and menge == 1 %}ES620
            {% elsif waren == "Software" and landDE !="true" and menge == 1 %}ES620
            {% elsif waren == "Soundkarte" and landDE !="true" and menge == 1 %}ES620
            {% elsif waren == "TV-Karte" and landDE !="true" and menge == 1 %}ES620
      
            {% elsif waren == "Controller" and landDE !="true" and menge == 1 and preis >= 30,00 %}ES950
            {% elsif waren == "CPU-Kühler" and landDE !="true" and menge == 1 %}ES950
            {% elsif waren == "Festplatte" and landDE !="true" and menge == 1 %}ES950
            {% elsif waren == "Laufwerk" and landDE !="true" and menge == 1 %}ES950
      
            {% elsif waren == "Arbeitsspeicher (RAM)" and landDE =="true" and menge == 1 and preis <= 30,00 %}GB145
            {% elsif waren == "Prozessor (CPU)" and titel =="true" and landDE =="true" and menge == 1 and preis <= 30,00 %}GB145
            {% elsif waren == "Zubehör Sets's" and landDE =="true" and menge == 1 %}GB145
      
            {% elsif waren == "Blende" and landDE =="true" %}KB085
      
            {% elsif waren == "Controller" and landDE =="true" and menge == 1 and preis <= 30,00 %}MB260
            {% elsif waren == "Blende" and landEU_NONEU =="true" %}MB260
            {% elsif waren == "Gehäuselüfter" and landDE =="true" and menge == 1 %}MB260
            {% elsif waren == "Kabel / Adapzer" and landDE =="true" and menge == 1 %}MB260
            {% elsif waren == "Lüftersteuerung" and landDE =="true" and menge == 1 and preis <= 30,00 %}MB260
            {% elsif waren == "Prozessor (CPU)" and titel !="true" and landDE =="true" and menge == 1 and preis <= 30,00 %}MB260
            {% elsif waren == "Retentionmodul" and landDE =="true" and menge == 1 %}MB260
            {% elsif waren == "SLI-Brücke" and landDE =="true" and menge == 1 %}MB260
            {% elsif waren == "Soundkarte" and landDE =="true" and menge == 1  and preis <= 30,00 %%}MB260
            {% elsif waren == "TV-Karte" and landDE =="true" and menge == 1  and preis <= 30,00 %%}MB260 
      
            {% elsif waren == "Retentionmodul" and landEU_NONEU =="true" and menge == 1 %}GB370
            {% elsif waren == "SLI-Brücke" and landEU_NONEU =="true" and menge == 1 %}GB370
            {% elsif waren == "Zubehör Sets's" and landEU_NONEU =="true" and menge == 1 %}GB370
            {% elsif waren == "Lüftersteuerung" and landDE =="true" and menge == 1 and preis >= 30,00 %}GB370
      
            {% elsif waren == "Gehäuse" and landDE =="true" %}P1000
            {% elsif waren == "Monitor" and landDE =="true" %}P1000
            {% elsif waren == "Komplett-PC´s" and landDE =="true" %}P1000
            {% elsif waren == "Komplett-PC" and landDE =="true" %}P1000
            {% elsif waren == "Bundle-PC" and landDE =="true" %}P1000
      
            {% elsif waren == "Arbeitsspeicher (RAM)" and landDE =="true" and preis >= 30,00 %}P500
            {% elsif waren == "Bundle" and landDE =="true" %}P500
            {% elsif waren == "Bundle (aus Stückliste)" and landDE =="true" %}P500
            {% elsif waren == "Bundles (aus Stückliste)" and landDE =="true" %}P500
            {% elsif waren == "Betriebssystem" and landDE =="true" %}P500
            {% elsif waren == "Controller" and landDE =="true" and preis >= 30,00 %}P500
            {% elsif waren == "CPU-Kühler" and landDE =="true" %}P500
            {% elsif waren == "Prozessor (CPU)" and landDE =="true" and preis >= 30,00 %}P500
            {% elsif waren == "Festplatte" and landDE =="true" %}P500
            {% elsif waren == "Tastatur / Maus" and landDE =="true" %}P500
            {% elsif waren == "Gehäuselüfter" and landDE =="true" and menge >= 1 %}P500
            {% elsif waren == "Grafikkarte" and landDE =="true" %}P500
            {% elsif waren == "GK (defekt)" and landDE =="true" %}P500
            {% elsif waren == "Sonstige Kühler" and landDE =="true" %}P500
            {% elsif waren == "Laufwerk" and landDE =="true" %}P500
            {% elsif waren == "Mainboard" and landDE =="true" %}P500
            {% elsif waren == "MB (defekt)" and landDE =="true" %}P500
            {% elsif waren == "Netzteil" and landDE =="true" %}P500
            {% elsif waren == "Software" and landDE =="true" %}P500
            {% elsif waren == "Soundkarte" and landDE =="true" and preis >= 30,00 %%}P500
            {% elsif waren == "TV-Karte" and landDE =="true" and preis >= 30,00 %%}P500
            {% elsif waren == "CPU-Wasserkühlung" and landDE =="true" %}P500
          
            {% elsif waren == "Bundle" and landEU_NONEU =="true" %}P1890
            {% elsif waren == "Bundle (aus Stückliste)" and landEU_NONEU =="true" %}P1890
            {% elsif waren == "Bundles (aus Stückliste)" and landEU_NONEU =="true" %}P1890
            {% elsif waren == "Mainboard" and landEU_NONEU =="true" %}P1890
            {% elsif waren == "MB (defekt)" and landEU_NONEU =="true" %}P1890
            {% elsif waren == "Netzteil" and landEU_NONEU =="true" %}P1890
      
            {% elsif waren == "Arbeitsspeicher" and landEU_NONEU =="true" and preis >= 50,00  %}P1290
            {% elsif waren == "Grafikkarte" and landEU_NONEU =="true" %}P1290
            {% elsif waren == "GK (defekt)" and landEU_NONEU =="true" %}P1290
            {% elsif waren == "Prozessor (CPU)" and landEU_NONEU =="true" and preis >= 50,00 %}P1290
            {% elsif waren == "CPU-Wasserkühlung" and landEU_NONEU =="true" %}P1290
      
            {% elsif waren == "Arbeitsspeicher" and landRU =="true" and preis >= 50,00  %}P3000
            {% elsif waren == "Prozessor (CPU)" and landRU =="true" and preis >= 50,00 %}P3000
            {% elsif waren == "Bundle" and landRU =="true" %}P3000
            {% elsif waren == "Bundle (aus Stückliste)" and landRU =="true" %}P3000
            {% elsif waren == "Bundles (aus Stückliste)" and landRU =="true" %}P3000
            {% elsif waren == "Grafikkarte" and landRU =="true" %}P3000
            {% elsif waren == "GK (defekt)" and landRU =="true" %}P3000
            {% elsif waren == "Sonstige Kühler" and landRU =="true" %}P3000
            {% elsif waren == "Mainboard" and landRU =="true" %}P3000
            {% elsif waren == "MB (defekt)" and landRU =="true" %}P3000
            {% elsif waren == "Netzteil" and landRU =="true" %}P3000
            {% elsif waren == "CPU-Wasserkühlung" and landRU =="true" %}P3000
  
       {% else %}NIXALL
       {% endif %}
        
{% endfor %}
 
  • Gefällt mir
Reaktionen: Rico Giesler

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.889
545
Vereinfacht so:
Code:
{% for Item in Vorgang.AuftragsPositionen.ArtikelPositionen %}

{% assign Versand=Deine Lagervariable %}

        {% if Versand == "Beispiel"  %}DHLPaket
           {% elsif Versand == "xyz " %}Internetmarke
          {% elsif Versand == "DPD " %}DPD
          {% else %}Sonstige
        {% endif %}

{% endfor %}

Für Warengruppen sieht die Variable so aus:
Code:
{% assign waren=Item.Artikel.Warengruppe.Name %}
Du kannst natürlich mehrere elsif`s hintereinander bauen oder die wieder rausnehmen.

Der WF sieht dann z.B. so aus:
WF_Versand.jpg
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Rico Giesler

JuergenSaenger

Sehr aktives Mitglied
19. August 2013
462
59
Genthin
Hab das bei uns nun so versucht; scheint zu klappen:

Code:
{% for pos in Vorgang.AuftragsPositionen.ArtikelPositionen %}{{ 'true' if 'Warenpost' in pos.Artikel.VersandklasseName else 'false' }}{% endfor %}
 

JuergenSaenger

Sehr aktives Mitglied
19. August 2013
462
59
Genthin
Hab das bei uns nun so versucht; scheint zu klappen:

{% for pos in Vorgang.AuftragsPositionen.ArtikelPositionen %}{{ 'true' if 'Warenpost' in pos.Artikel.VersandklasseName else 'false' }}{% endfor %}
Okay; der Code funktioniert nicht.

Der klappt 😅 :thumbsup:
Code:
{% if Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.VersandklasseName contains 'Warenpost' %}true{% else %}false{% endif %}
 

Ähnliche Themen