Gelöst Prüfung Warenpost

Eike

Aktives Mitglied
23. Juli 2021
3
0
Hallo zusammen,

ich würde gerne einen Workflow nutzen, der die Versandart automatisch anhand der Auftragspositionen anpasst.

Es müssen die Maße und Gewichte von Warenpost berücksichtigt werden. Es darf maximal ein Artikel im Auftrag sein.
Und die Versandart darf nur geändert werden, wenn der Fulfiller der Verkäufer ist und es kein Prime durch Verkäufer ist.

Hat hier jemand schon einmal einen Workflow dafür genutzt? Welche Lösung gäbe als alternativ?

Vielen Dank
 

Simone_die_Echte

Sehr aktives Mitglied
10. April 2014
1.294
365
Wir haben hierfür im Artikel ein eigenes Feld (Checkbox) angelegt. Alle Artikel die für Warenpost geeignet sind haben die Checkbox aktiviert.
Damit lässt sich dann ein entsprechender WF bauen.
 
  • Gefällt mir
Reaktionen: Pinkman

OPUS

Gut bekanntes Mitglied
11. Juni 2019
120
13
Servus,
wir haben das über die Maße geregelt, Höhe, Länge oder Breite max. 5 cm bzw. Gesamtgewicht max 0,999 kg - dann Versand per Warenpost.
Läuft zu 95% richtig, die paar die nicht passen werden dann eben manuell geändert.
ciao
 

Dennis030

Aktives Mitglied
9. Februar 2022
31
5
Servus,
wir haben das über die Maße geregelt, Höhe, Länge oder Breite max. 5 cm bzw. Gesamtgewicht max 0,999 kg - dann Versand per Warenpost.
Läuft zu 95% richtig, die paar die nicht passen werden dann eben manuell geändert.
ciao
Hey! Ich würde mich sehr über einen einfachen Screen der Umsetzung freuen, bzw. welche du Variablen du verwendet hast
 
Zuletzt bearbeitet:

Petko

Aktives Mitglied
13. Oktober 2017
89
13
Servus,
wir haben das über die Maße geregelt, Höhe, Länge oder Breite max. 5 cm bzw. Gesamtgewicht max 0,999 kg - dann Versand per Warenpost.
Läuft zu 95% richtig, die paar die nicht passen werden dann eben manuell geändert.
ciao
Wir habt ihr das den gelöst, wenn der Auftrag mehrere Artikel enthält? Der Workflow (warum auch immer) hört ja nach dem ersten Artikel der passt schon auf.
 

Simone_die_Echte

Sehr aktives Mitglied
10. April 2014
1.294
365
Also unser WF hört nicht nach dem ersten Artikel auf. Wir haben eingeschränkt auf Lieferland, Gesamtgewicht und das eigene Feld muss gefüllt sein.
 

Dennis030

Aktives Mitglied
9. Februar 2022
31
5
Bei uns läuft es jetzt mit dieser erweiterten Bedingung:

JavaScript:
{% 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 %}
 

Anhänge

  • Screenshot 2023-02-20 122824.png
    Screenshot 2023-02-20 122824.png
    173,2 KB · Aufrufe: 42

Petko

Aktives Mitglied
13. Oktober 2017
89
13
Bei uns läuft es jetzt mit dieser erweiterten Bedingung:

JavaScript:
{% 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 %}
Oh Klasse, sowas hab ich gesucht. Würde es einfach abändern auf kleiner Breite 5cm , mehr brauche ich nicht.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.823
525
Bei uns läuft es jetzt mit dieser erweiterten Bedingung:

JavaScript:
{% 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 %}

Moin. Woher weißt du die Variable für die for Schleife? Ich suche sowas für die Versandklassen.
Grund ist, bei einem Auftrag mit mehreren Position möchte ich wissen ob die Versandklasse "DHL" z.B. dabei ist. Dann kann ich dem gleich die Versandart DHL geben.
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
5.922
568
Wir haben jedem Artikel seit einigen Jahren bei uns mehrere Felder verpasst:
- Versandart
- Verpackungsmaterial
- Versicherung ab X €

Mit Hilfe dieser Felder + Gewicht, können wir so zu 95% sagen, welcher Versand es werden muss und mit welchem Material.
Alles wird dann auf Waage gegengeprüft ob alles passt.
 
  • Gefällt mir
Reaktionen: Pifan

Dennis030

Aktives Mitglied
9. Februar 2022
31
5
Moin. Woher weißt du die Variable für die for Schleife? Ich suche sowas für die Versandklassen.
Grund ist, bei einem Auftrag mit mehreren Position möchte ich wissen ob die Versandklasse "DHL" z.B. dabei ist. Dann kann ich dem gleich die Versandart DHL geben.
Code:
{% for Pos in Vorgang.AuftragsPositionen.OffenePositionen -%}
  {% if Pos.Artikel.VersandklasseName == 'DHL' -%}
    Gefällt mir
  {% endif -%}
{% endfor -%}
 

Anhänge

  • Screenshot 2023-03-01 093802.png
    Screenshot 2023-03-01 093802.png
    54,3 KB · Aufrufe: 28
  • Gefällt mir
Reaktionen: gnarx

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.823
525
Ahh danke dir da habe ich noch gar nicht gestöbert. Werde ich mich mal beschäftigen. Nochmals recht herzlichen Dank.
 
  • Gefällt mir
Reaktionen: Dennis030

JuergenSaenger

Sehr aktives Mitglied
19. August 2013
462
59
Genthin
Wir haben uns, für einen manuellen WF mit dem ich Artikel nachträglich bearbeiten möchte (bei uns läuft es über die Versandklasse), den folgenden Code gebaut:

Python:
{% comment %}
Dieser Code überprüft, ob die Maße des Artikels innerhalb der maximalen Warenpost-Maße liegen.
Ist das der Fall, gibt "{{WP}}" 'Warenpost' aus. Liegen die Maße außerhalb, gibt er '0' aus.
Der Code berücksichtigt vertauschte Länge/Höhe Angaben!
 
Die offiziellen maximalen Warenpost-Maße sind:
Länge: 35,3 cm
Breite: 25,0 cm
Höhe: 5,0 cm
 
>> https://www.dhl.de/de/geschaeftskunden/paket/leistungen-und-services/dhl-warenpost.html
 
[Stand: 18.04.2023]
 
- - -
 
Zur Sicherheit nutzen wir aber:
Länge: 35,2 cm
Breite: 24,9 cm
Höhe: 4,9 cm
{% endcomment %}
 
 
{% assign L = Vorgang.Allgemein.Maße_Gewicht.Länge -%}
{% assign B = Vorgang.Allgemein.Maße_Gewicht.Breite -%}
{% assign H = Vorgang.Allgemein.Maße_Gewicht.Höhe -%}
 
{% assign IVAZ-L = 35,2 -%}
{% assign IVAZ-B = 24,9 -%}
{% assign IVAZ-H = 4,9 -%}
 
 
{% if L <= IVAZ-L and B <= IVAZ-B and H <= IVAZ-H -%}
{% assign WP = 'Warenpost' -%}
 
{% elsif H <= IVAZ-L and B <= IVAZ-B and L <= IVAZ-H -%}
{% assign WP = 'Warenpost' -%}
 
{% elsif L > IVAZ-L and B <= IVAZ-B and H > IVAZ-H -%}
{% assign WP = 0 -%}
 
{% elsif H > IVAZ-L and B <= IVAZ-B and L > IVAZ-H -%}
{% assign WP = 0 -%}
 
{% elsif L <= IVAZ-L and B <= IVAZ-B and H > IVAZ-H -%}
{% assign WP = 0 -%}
 
{% elsif L > IVAZ-L and B <= IVAZ-B and H <= IVAZ-H -%}
{% assign WP = 0 -%}
 
{% elsif L <= IVAZ-L and B > IVAZ-B and H <= IVAZ-H -%}
{% assign WP = 0 -%}
 
{% elsif L == 0 and B == 0 and H == 0 -%}
{% assign WP = 0 -%}
 
{% else %}
{% assign WP = 0 -%}
{% endif -%}
 
{{WP}}


Vielleicht hilft es ja.

Wenn jemand Tipps oder Fragen zu unserem Code hat - gerne her damit! 😁👍🏻
 
  • Ich liebe es
Reaktionen: wawi-dl

JuergenSaenger

Sehr aktives Mitglied
19. August 2013
462
59
Genthin
Haben ihn nochmal überarbeitet:

Code:
{% comment %}
Dieser Code überprüft, ob die Maße und das Gewicht des Artikels innerhalb der maximalen Warenpost-Maße und des maximalen Gewichts liegen.
Ist das der Fall, gibt "{{WP}}" 'Warenpost' aus. Liegen die Maße oder das Gewicht außerhalb, gibt er '0' aus. Der Code berücksichtigt
vertauschte Länge/Höhe Angaben, da ein Artikel der "zu hoch ist" ggf. ja einfach liegend versendet werden kann.

Die offiziellen maximalen Warenpost-Maße sind:
Länge: 35,3 cm
Breite: 25,0 cm
Höhe: 5,0 cm

Das maximale Gewicht beträgt:
1.000 g.

https://www.dhl.de/warenpost

[Stand: 19.04.2023]

Zur Sicherheit nutzen wir aber:
Länge: 35,2 cm
Breite: 24,9 cm
Höhe: 4,9 cm
{% endcomment %}

{% comment %}

========================================
********** Workflow Changelog **********
========================================

- 19.04.2023 | Codeabfrage um eine Berücksichtung des Artikelgewichtes von max. 1.000 g erweitert

========================================       
========================================

{% endcomment %}

{% assign L = Vorgang.Allgemein.Maße_Gewicht.Länge -%}
{% assign B = Vorgang.Allgemein.Maße_Gewicht.Breite -%}
{% assign H = Vorgang.Allgemein.Maße_Gewicht.Höhe -%}
{% assign AG = Vorgang.Allgemein.Maße_Gewicht.Artikelgewicht -%}

{% assign IVAZ-L = 35,2 -%}
{% assign IVAZ-B = 24,9 -%}
{% assign IVAZ-H = 4,9 -%}

{% if L <= IVAZ-L and B <= IVAZ-B and H <= IVAZ-H and AG <= 1000 -%}
{% assign WP = 'Warenpost' -%}

{% elsif H <= IVAZ-L and B <= IVAZ-B and L <= IVAZ-H and AG <= 1000 -%}
{% assign WP = 'Warenpost' -%}

{% elsif L > IVAZ-L and B <= IVAZ-B and H > IVAZ-H and AG <= 1000 -%}
{% assign WP = 0 -%}

{% elsif H > IVAZ-L and B <= IVAZ-B and L > IVAZ-H and AG <= 1000 -%}
{% assign WP = 0 -%}

{% elsif L <= IVAZ-L and B <= IVAZ-B and H > IVAZ-H and AG <= 1000 -%}
{% assign WP = 0 -%}

{% elsif L > IVAZ-L and B <= IVAZ-B and H <= IVAZ-H and AG <= 1000 -%}
{% assign WP = 0 -%}

{% elsif L <= IVAZ-L and B > IVAZ-B and H <= IVAZ-H and AG <= 1000 -%}
{% assign WP = 0 -%}

{% elsif L == 0 and B == 0 and H == 0 and AG == 0 -%}
{% assign WP = 0 -%}

{% else %}
{% assign WP = 0 -%}
{% endif -%}

{{WP}}
 
  • Gefällt mir
Reaktionen: gnarx und wawi-dl

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.823
525
Recht herzlichen Dank für deine Mühe, nur geht ja sowas schnell unter deshalb habe ich ja für meine Tipps einen Link eingerichtet. Ich könnte das da mit aufnehmen wenn du magst.
Wenn ich das richtig verstehe macht du das unter Artikel und nicht im Verkauf?
Wart ihr mal bei etope?
 
Zuletzt bearbeitet:

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.823
525
Könnte man das ganze nicht etwas kürzer machen z.B. so:
Code:
{% if Vorgang.Allgemein.Maße_Gewicht.Länge <= '35,2' %}{% assign Laenge = true %}{% endif %}\
{% if Vorgang.Allgemein.Maße_Gewicht.Breite <= '24,9' %}{% assign Breite = true %}{% endif %}\
{% if Vorgang.Allgemein.Maße_Gewicht.Höhe <= '4,9' %}{% assign Hoehe = true %}{% endif %}\
{% if Vorgang.Allgemein.Maße_Gewicht.Artikelgewicht <= '1000' %}{% assign Gewicht = true %}{% endif %}\

oder so:
Code:
{% if Vorgang.Allgemein.Maße_Gewicht.Länge <= '35,2' or Vorgang.Allgemein.Maße_Gewicht.Breite <= '24,9' or Vorgang.Allgemein.Maße_Gewicht.Höhe <= '4,9' or Vorgang.Allgemein.Maße_Gewicht.Artikelgewicht <= '1000'  %}{% assign MWP = true %}{% endif %}\
{% if MWP =="true" %}Warenpost

Und dann ein oder 2 Abfragen?
(Bin mir nur nicht sicher ob man die Zahlen in Hochkomma setzen muss)
 
Zuletzt bearbeitet:

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.823
525
Wir stellen grade die Aufträge per Workflow um. Folgendes fragen wir in den rein kommende Bestellung ab:
1. Per Schleife fragen wir ab welche Versandklassen oder Warengruppen kommen in der Bestellung vor, grad wichtig wenn in einer Bestellung mehrere Artikel sind die unterschiedliche Versandklassen oder Warengruppen haben.
2. Wenn nun in einer Bestellung z. B. die Versandklasse "Paket" vorkommt dann wird die Versandart DHL-Paket gesetzt mit dem Text "Versand / Shipping". Versandkosten werden so genommen wie sie rein kommen.
3. Das ganze sind denn mehrere WF`s hintereinander angefangen bei der kleinsten Versandart. Als Beispiel:
- Großbrief - Maxibrief - DHL bis 3kg - DHL Waage - DHL ab 3kg

Denke das wir damit nun endlich alles abdecken können. Da wir auch so gemischte Versandarten z.B. bei Warengruppen abbilden können.
 
  • Gefällt mir
Reaktionen: JuergenSaenger

JuergenSaenger

Sehr aktives Mitglied
19. August 2013
462
59
Genthin
Könnte man das ganze nicht etwas kürzer machen z.B. so:
Code:
{% if Vorgang.Allgemein.Maße_Gewicht.Länge <= '35,2' %}{% assign Laenge = true %}{% endif %}\
{% if Vorgang.Allgemein.Maße_Gewicht.Breite <= '24,9' %}{% assign Breite = true %}{% endif %}\
{% if Vorgang.Allgemein.Maße_Gewicht.Höhe <= '4,9' %}{% assign Hoehe = true %}{% endif %}\
{% if Vorgang.Allgemein.Maße_Gewicht.Artikelgewicht <= '1000' %}{% assign Gewicht = true %}{% endif %}\
Problem an dem Code ist, dass folgender Fall nicht berücksichtigt wird: "[...] vertauschte Länge/Höhe Angaben, da ein Artikel der "zu hoch ist" ggf. ja einfach liegend versendet werden kann."
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.823
525
Da müsste das doch abdecken oder habe ich da einen Denkfehler?

Code:
{% if Vorgang.Allgemein.Maße_Gewicht.Länge <= '35,2' or Vorgang.Allgemein.Maße_Gewicht.Breite <= '24,9' or Vorgang.Allgemein.Maße_Gewicht.Höhe <= '4,9' or Vorgang.Allgemein.Maße_Gewicht.Artikelgewicht <= '1000'  %}{% assign MWP = true %}{% endif %}\
{% if Vorgang.Allgemein.Maße_Gewicht.Länge <= '4,9' or Vorgang.Allgemein.Maße_Gewicht.Breite <= '24,9' or Vorgang.Allgemein.Maße_Gewicht.Höhe <= '35,2' or Vorgang.Allgemein.Maße_Gewicht.Artikelgewicht <= '1000'  %}{% assign MWP2 = true %}{% endif %}\
{% if MWP =="true" or MWP2 =="true" %}Warenpost{% endif %}\
 
Ähnliche Themen

Ähnliche Themen