Hier nun der WF für die Postleitzahlen. Um zu wissen welche PLZ`s richtig sind hier mal eine Liste der DHL: https://www.dhl.de/content/dam/imag...express-internationale-plz-formate-012017.pdf
Ich habe in den Workflow die Abfragen nach unseren Erfahrungen angepasst. Mal am Beispiel Polen, die korrekte Schreibweise ist 99-999. Bei uns sind folgende Schreibweisen, die bei DHL durchgehen, vorhanden: 99-999, 99999, 99 - 999, 99- 999, und 99 -999. Diese Möglichkeiten habe ich soweit bei den PLZ`s mit eingebaut:
Habt ihr noch andere Schreibweisen immer her her damit baue ich dann ein. Gerne auch Verbesserungen am Workflow hier posten. International kann man den WF auch machen ist aber Arbeit, vielleicht später mal.
Diese WF https://forum.jtl-software.de/threads/tipp-seite-um-plz-und-sonstiges-zu-pruefen.128871/ kommt neu mit Google Maps. Grund ist das man bei Google Maps mehrere Selektoren übergeben kann.
Das heißt wenn die Prüfung ergibt das die PLZ falsch ist dann habe ich ja einen Rückhaltegrund den ich Abfragen kann. Deshalb überträgt der manuelle WF nur noch Land, Ort und Straße.
Ich habe in den Workflow die Abfragen nach unseren Erfahrungen angepasst. Mal am Beispiel Polen, die korrekte Schreibweise ist 99-999. Bei uns sind folgende Schreibweisen, die bei DHL durchgehen, vorhanden: 99-999, 99999, 99 - 999, 99- 999, und 99 -999. Diese Möglichkeiten habe ich soweit bei den PLZ`s mit eingebaut:
Habt ihr noch andere Schreibweisen immer her her damit baue ich dann ein. Gerne auch Verbesserungen am Workflow hier posten. International kann man den WF auch machen ist aber Arbeit, vielleicht später mal.
Code:
{% assign drei = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(FO|IS)'|true %}\
{% assign vier = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(BE|BG|DK|AT|SI|HU|CY|CH|NO)'|true %}\
{% assign fuenf = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(DE|EE|FI|FR|GR|IT|HR|LT|SM|ES|VA|UA|TR)'|true %}\
{% assign sechs = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(RO|RU|BY|RS)'|true %}\
{% assign irland = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(IE)'|true %}\
{% assign lettland = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(LV)'|true %}\
{% assign luxemburg = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(LU)'|true %}\
{% assign malta = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(MT)'|true %}\
{% assign holland = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(NL)'|true %}\
{% assign polen = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(PL)'|true %}\
{% assign portugal = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(PT)'|true %}\
{% assign slowakei = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(SK)'|true %}\
{% assign tsche = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(CZ)'|true %}\
{% assign england = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(GB)'|true %}\
{% assign schweden = Vorgang.Lieferung.Lieferadresse.LandISO | Matches: '^(SE)'|true %}\
{% if Vorgang.Lieferung.Lieferadresse.PLZ == "" %}1\
{% elsif drei == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{3}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif vier == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{4}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif fuenf == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{5}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif sechs == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{6}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif irland == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\w\d{2}\ ?\w{4}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif lettland == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b[L][V] ?\-?\ ?\d{4}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif luxemburg == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b[L] ?\-?\ ?\d{4}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif malta == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\w{3}\ ?\d{4}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif holland == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{4}\ ?\w{2}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif polen == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{2}\ ?\-?\ ?\d{3}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif portugal == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{4}\ ?\-?\ ?\d{3}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif slowakei == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{3}\ ?\d{2}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif tsche == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\d{3}\ ?\d{2}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif england == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\w\w?\d\w?\ ?\d\w\w\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% elsif schweden == true %}\
{% assign PLZ = Vorgang.Lieferung.Lieferadresse.PLZ | Matches: ' *\b\w?\w?\ ?\-?\ ?\d{3}\ ?\d{2}\b', true %}\
{% if PLZ == true %}0
{% else %}1
{% endif %}\
{% else %}1
{% endif %}\
Diese WF https://forum.jtl-software.de/threads/tipp-seite-um-plz-und-sonstiges-zu-pruefen.128871/ kommt neu mit Google Maps. Grund ist das man bei Google Maps mehrere Selektoren übergeben kann.
Das heißt wenn die Prüfung ergibt das die PLZ falsch ist dann habe ich ja einen Rückhaltegrund den ich Abfragen kann. Deshalb überträgt der manuelle WF nur noch Land, Ort und Straße.
Zuletzt bearbeitet: