Neu Packstation Adressen per Workflow korrigieren

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.653
141
Hallo,

mit der so angegebenen Adresse hab ich es getestet und es hat funktioniert.

1. Ruf bitte einmal den Workflow auf.

2. Dann bitte bei dem Punkt von:

===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz

den Code aufrufen (die drei Punkte)

3. Wähle als "Vorschau-Auftrag" den Auftrag mit der Adresse aus.

4. Dann wechsle bitte zu "Vorschau (Text)"

Jetzt sollte dir "115,9123456788" angezeigt werden. Ist das so?
Leider nein, da ist nur die DHL Nummer, nichts davor, kein "KOMMA"
Schaue ich bei "Straße" kommt auch nur "Packstaton" - nicht die zugehörige Nummer. (Aber zumindest das vom Kunden angegebene "DHL" ist raus geschnitten)
Da scheint bei mir mit dem "Split" was nicht zu passen.

Ich schaue mir alle Codes noch mal genau an, ob da beim Copy/Paste irgendwo was schief gelaufen ist.


#### EDIT ####

Alles gut, läuft. ICH bin einfach Blind und Blöd.
Nach dem Kopieren des ganzen Quellcodes ist mir irgendwie der Haken bei "Feld löschen" rein gerutscht.
Damit war dann alles weider weg.

Haken raus, Quellcode neu rein. Auftrag gesetzt und getestet. Alles korrekt....
"115,98....."

Sorry - ich brauche dringend Urlaub.
 
Zuletzt bearbeitet:

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.154
1.073
Mega Workflow, seit 2 Tagen im Test (rund 50 Packstationen), alle Änderungen vollkommen richtig gemacht.

Dank dir dafür.

Das man so einen Beitrag nur so zufällig, im Forum sieht, ist halt schade.
 

Tsuc

Sehr aktives Mitglied
28. Januar 2020
243
42
Berlin
Ich nutze den Workflow auch und dieser funktioniert ganz gut.
Heute hatte ich dennoch einen Fall, wo im Feld Straße die Packstationsnummer und die Hausnummer zusammengeführt wurde.
Der Kunde hatte die Packstation und deren Straße in ein Feld geschrieben. Siehe unten das Beispiel:

Alte Adresse:
Name: Max Mustermann
Adresszusatz: 123456789
Straße: Packstation 987 (musterstr. 31)
PLZ: 90471
Ort: Nürnberg


Neue Adresse:
Name: Max Mustermann
Adresszusatz: 123456789
Straße: Packstation 98731
PLZ: 90471
Ort: Nürnberg

Vielleicht schafft es jemand den Workflow so anzupassen, damit dieser Fehler auch kompensiert wird?
Ich blicke da nicht durch und bin froh, dass es Leute wie euch gibt, die uns solch ein tollen Workflow kostenlos zur Verfügung stellen. Danke nochmal.

Freundlichen Gruß
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Hallo Tsuc, danke das du den Bug gemeldet hast! Es lag an den Klammern, mit welchen Dotliquid nicht umgehen konnte.

Hier die neue Version bei der Sonderzeichen nicht mehr berücksichtigt werden.

Worklow zu Packstation V0.11B:

Bug: Sonderzeichen können beim extrahieren der Nummern zu Problemen führen
Fix: Sonderzeichen werden vor dem extrahieren entfernt.

> Beta! Probleme bitte melden!

====== Worklows zu Packstation: ======

===== Checken ob es eine regelkonforme Packstation enthalten ist: =====
> Erweitere Eigenschaften\IstPackstation Enthält True
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter  -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,3}[Nn]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNr == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrVorhanden = "True" -%}
{% capture PackstationNr -%}Packstation {{PackstationNr}}{% endcapture -%}
{% if PackstationNr == Vorgang.Lieferung.Lieferadresse.Straße -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% if PostNrRichtigGesetzt == "True" and PackstationNrRichtigGesetzt == "True" -%}
{% assign PackstationRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrVorhanden == "True" and PackstationNrScoreDoppelt != "True" and PostNrScoreDoppelt != "True" and PackstationNrVorhanden == "True" and PackstationRichtigGesetzt != "True" -%}
True
{% endif -%}

===== Als Hinweis setzten das die Adresse geändert wurde. =====
> Als Hinweis wird auch die alte Adresse eingefügt
> Wert setzen Variable Auftrag\Sonstiges\Hinweis
Code:
{% if Vorgang.Sonstiges.Hinweis != "" -%}
{{Vorgang.Sonstiges.Hinweis}}
{% endif -%}
---------------
Adresse durch Workflow geändert von:
{% if Vorgang.Lieferung.Lieferadresse.Firma != "" -%}
Firma: {{ Vorgang.Lieferung.Lieferadresse.Firma }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
Firmenzusatz: {{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Vorname != "" -%}
Vorname: {{ Vorgang.Lieferung.Lieferadresse.Vorname }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Name != "" -%}
Name: {{ Vorgang.Lieferung.Lieferadresse.Name }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
Adresszusatz: {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Straße != "" -%}
Straße: {{ Vorgang.Lieferung.Lieferadresse.Straße }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.PLZ != "" -%}
PLZ: {{ Vorgang.Lieferung.Lieferadresse.PLZ }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Ort != "" -%}
Ort: {{ Vorgang.Lieferung.Lieferadresse.Ort }}
{% endif -%}
---------------

===== Wenn Adresszusatz weder Post Nr. noch PackstationsNr hänge an Firmenzusatz an. =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Firmenzusatz
Code:
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,3}[Nn]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]'  -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNr == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign StrasseOrg = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,3}[Nn]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationNr = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrRichtigGesetzt != "True" and PackstationNrRichtigGesetzt != "True" -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}, {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% endif -%}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,3}[Nn]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{{PackstationNr}},{{PostNr}}
===== Die (Packstation + Nr) gehört immer in Straße: =====
> Aus Adresszusatz die PackstationsNr extrahieren und in Straße setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Straße
Code:
{% assign IstPackstationNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in IstPackstationNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr < 99999 -%}
{% assign PackstationNr = Split -%}
{% endif -%}
{% endfor -%}
Packstation {{PackstationNr}}

===== Die PostNr gehört immer in den Adresszusatz nur als Zahl ohne "Postnummer" =====
> Aus Adresszusatz die Postnummer extrahieren und in Adresszusatz setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign PostNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in PostNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr > 99999 -%}
{% assign PostNr = Split -%}
{% endif -%}
{% endfor -%}
{{PostNr}}
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: sjk und Tsuc

Tsuc

Sehr aktives Mitglied
28. Januar 2020
243
42
Berlin
Hatte heute wieder einen Fall, der nicht funktionierte.
Der Kunde hat in das Feld Adresszusatz die "Packstation 143" geschrieben und bei Straße, die "Straße inkl Hausnummer der Packstation".

Daher dachte der Workflow, dass die Hausnummer der Straße die Postnummer ist.
Die Postnummer hat der Kunde in diesem Auftrag komplett vergessen :rolleyes:

Unten das Beispiel:

Alte Adresse:
Name: Max Mustermann
Adresszusatz: Packstation 143
Straße: Georg Schumann Strasse 105-109
PLZ: 04155
Ort: Leipzig


Neue Adresse:
Name: Max Mustermann
Adresszusatz: 105109
Straße: Packstation 143
PLZ: 04155
Ort: Leipzig

Freundlichen Gruß
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Alte Adresse:
Straße: Georg Schumann Strasse 105-109

Hi, hier ist das Grundproblem das die Packstationsnummer keine Prüfziffer hat :(

Die 105109 könnte tatsächlich eine Packstationsnummer sein. Also gäbe es nur die Möglichkeit den Code schärfer zu stellen. Also das sobald ein Leerzeichen, Bindestrich oder ähnliches in der Nummer vorkommt es nicht mehr auszuführen oder hiermit zu leben.

Meine Tendenz ist es schärfer zu stellen, da die Adresse so zumindest in der Händischen bearbeitung landen.

Ich schau mir es mal in Ruhe an. Es könnte aber ein kleines bisschen (mind. 2-3 Wochen) dauern bis ich dazu komme.
 

Tsuc

Sehr aktives Mitglied
28. Januar 2020
243
42
Berlin
Hier ist der Workflow komplett nicht angesprungen.

Adresse:
Name: Max Mustermann
Adresszusatz: Packstation Nr. 120
Straße: Postnummer: 12345678
PLZ: 74653
Ort: Künzelsau

Ich schreibe das nur zur Info. Nicht, dass ich erwarte das jemand dies schnell und überhaupt anpassen muss.
Bin schon froh, dass wir den Workflow kostenlos nutzen dürfen. Vielen Dank @Boarder

Soll ich weiterhin solche Infos posten?
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Hallo,

danke @Tsuc das du dir die Mühe machst die Fehler zu melden. Wie @trennscheibenwelt geschrieben hat, hilft dies enorm den Workflow weiter zu verbessern.

Ich bin jetzt endlich dazu gekommen die Bugs zu korrigieren.

Worklow zu Packstation V0.12B:

Bug: Hausnummer (102-105) werden als Packstation erkannt.
Fix: "-" wird von dem Sonderzeichen entfernen ausgenommen.

Bug: Bei "Packstation Nr. 120" startet der Workflow nicht
Fix: Pseudo Fehlertoleranz erkennt jetzt auch diese kombination

Neu: Verbesserungen bei der Erkennung ob die Postnummer alleine im Adresszusatz steht, wodurch sie nicht als Firmenzusatz angehangen wird.

> Beta! Probleme bitte melden!

====== Worklows zu Packstation: ======

===== Checken ob es eine regelkonforme Packstation enthalten ist: =====
> Erweitere Eigenschaften\IstPackstation Enthält True
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter  -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]' -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNr == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrVorhanden = "True" -%}
{% capture PackstationNr -%}Packstation {{PackstationNr}}{% endcapture -%}
{% if PackstationNr == Vorgang.Lieferung.Lieferadresse.Straße -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% if PostNrRichtigGesetzt == "True" and PackstationNrRichtigGesetzt == "True" -%}
{% assign PackstationRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrVorhanden == "True" and PackstationNrScoreDoppelt != "True" and PostNrScoreDoppelt != "True" and PackstationNrVorhanden == "True" and PackstationRichtigGesetzt != "True" -%}
True
{% endif -%}

===== Als Hinweis setzten das die Adresse geändert wurde. =====
> Als Hinweis wird auch die alte Adresse eingefügt
> Wert setzen Variable Auftrag\Sonstiges\Hinweis
Code:
{% if Vorgang.Sonstiges.Hinweis != "" -%}
{{Vorgang.Sonstiges.Hinweis}}
{% endif -%}
---------------
Adresse durch Workflow geändert von:
{% if Vorgang.Lieferung.Lieferadresse.Firma != "" -%}
Firma: {{ Vorgang.Lieferung.Lieferadresse.Firma }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
Firmenzusatz: {{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Vorname != "" -%}
Vorname: {{ Vorgang.Lieferung.Lieferadresse.Vorname }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Name != "" -%}
Name: {{ Vorgang.Lieferung.Lieferadresse.Name }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
Adresszusatz: {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Straße != "" -%}
Straße: {{ Vorgang.Lieferung.Lieferadresse.Straße }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.PLZ != "" -%}
PLZ: {{ Vorgang.Lieferung.Lieferadresse.PLZ }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Ort != "" -%}
Ort: {{ Vorgang.Lieferung.Lieferadresse.Ort }}
{% endif -%}
---------------

===== Wenn Adresszusatz weder Post Nr. noch PackstationsNr hänge an Firmenzusatz an. =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Firmenzusatz
Code:
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]'  -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: PostNr -%}
{% assign PostNrTest = PostNrTest | Replace: '[^a-zA-Z0-9]' -%}
{% assign PostNrTest = PostNrTest | Replace: '[Pp].{1,3}\s{0,1}[Nn].{1,5}' -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNrTest == '' -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign StrasseOrg = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationNr = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrRichtigGesetzt != "True" and PackstationNrRichtigGesetzt != "True" -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}, {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% endif -%}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]' -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{{PackstationNr}},{{PostNr}}
===== Die (Packstation + Nr) gehört immer in Straße: =====
> Aus Adresszusatz die PackstationsNr extrahieren und in Straße setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Straße
Code:
{% assign IstPackstationNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in IstPackstationNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr < 99999 -%}
{% assign PackstationNr = Split -%}
{% endif -%}
{% endfor -%}
Packstation {{PackstationNr}}

===== Die PostNr gehört immer in den Adresszusatz nur als Zahl ohne "Postnummer" =====
> Aus Adresszusatz die Postnummer extrahieren und in Adresszusatz setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign PostNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in PostNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr > 99999 -%}
{% assign PostNr = Split -%}
{% endif -%}
{% endfor -%}
{{PostNr}}
 
Zuletzt bearbeitet:

Tsuc

Sehr aktives Mitglied
28. Januar 2020
243
42
Berlin
Ich weiß, dass es keine echte Postnummer prüfung ist. Aber weiß jemand, wie lang die sein darf?
Es scheint, als wäre die Postnummer zu lang. DHL meldet jedenfalls einen Fehler:

Originalmeldung
Meldung: Die verwendete Postnummer ist nicht gültig. Bitte geben Sie eine gültige Postnummer an.

Es geht um diese Adresse:
Name: Max Mustermann
Straße: Packstation 105
Adresszusatz: 105852346020 (zu lang?)
PLZ: 11111
Stadt: Musterstadt
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Zur Zeit sind es 6-9 Stellen. Ich habe es nach oben offen gelassen, damit DHL die Nummern erweitern kann ohne das Anpassungen nötig sind. Wenn DHL einen fehler Meldet ist ja alles gut. Geht damit in die händische Bearbeitung. Was anderes würde auch nicht passieren wenn ich es beschränken würde.
 

Tsuc

Sehr aktives Mitglied
28. Januar 2020
243
42
Berlin
Zur Zeit sind es 6-9 Stellen. Ich habe es nach oben offen gelassen, damit DHL die Nummern erweitern kann ohne das Anpassungen nötig sind. Wenn DHL einen fehler Meldet ist ja alles gut. Geht damit in die händische Bearbeitung. Was anderes würde auch nicht passieren wenn ich es beschränken würde.

Bei uns ist das so, dass die Aufträge vor dem Picken auf zurückgehalten gesetzt werden.
So verlagert sich das Problem in den Versand. Erst nach dem versuchten Versand, kann der Kundendienst den Fehler erkennen und melden. Da geht uns ein bisschen Korrigierzeit verloren.
Damit können wir aber leben :)
Vielen Dank nochmal für das Update :thumbsup:

Wenn man es doch auf 9 Stellen begrenzen möchte. Kann man das schnell durch hinzufügen einer Zahl umsetzten? Oder ist es so verzwickt, dass man den Code komplett umschreiben muss. Frage aus Interesse, falls ich das doch eigenständig mal testen möchte.
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
OK, bei euch werden also alle Aufträge auf zurückhalten gesetzt und diejenige die automatisch koregiert wurden nicht?

Es ist nur eine kleine Änderung in IstPackstation Enthält True
Vor {% if IstPostNr > 99999 -%} wird noch eine Prüfung eingefügt ob die die Nummer größer ist als 9 Stellen, und diesem Fall dann auf 0 gesetzt damit der Workflow erst gar nicht gestartet wird. Dann muss die Person die es korrigiert jedoch auch wissen da es 9 Stellen max sind.

Code:
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}

Da es so auch nicht stört, solange DHL nicht umstellt und ich hoffe wenn Sie umstellen fügen Sie eine Prüfziffer hinzu, habe ich es in den Code mit aufgenommen:

Packstation V0.13B

Bug: Workflow startet wenn Postnummer zu lang ist.
Fix: Prüfung ob Postnummer zu lang ist

> Beta! Probleme bitte melden!

====== Worklows zu Packstation: ======

===== Checken ob es eine regelkonforme Packstation enthalten ist: =====
> Erweitere Eigenschaften\IstPackstation Enthält True
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter  -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]' -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNr == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrVorhanden = "True" -%}
{% capture PackstationNr -%}Packstation {{PackstationNr}}{% endcapture -%}
{% if PackstationNr == Vorgang.Lieferung.Lieferadresse.Straße -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% if PostNrRichtigGesetzt == "True" and PackstationNrRichtigGesetzt == "True" -%}
{% assign PackstationRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrVorhanden == "True" and PackstationNrScoreDoppelt != "True" and PostNrScoreDoppelt != "True" and PackstationNrVorhanden == "True" and PackstationRichtigGesetzt != "True" -%}
True
{% endif -%}

===== Als Hinweis setzten das die Adresse geändert wurde. =====
> Als Hinweis wird auch die alte Adresse eingefügt
> Wert setzen Variable Auftrag\Sonstiges\Hinweis
Code:
{% if Vorgang.Sonstiges.Hinweis != "" -%}
{{Vorgang.Sonstiges.Hinweis}}
{% endif -%}
---------------
Adresse durch Workflow geändert von:
{% if Vorgang.Lieferung.Lieferadresse.Firma != "" -%}
Firma: {{ Vorgang.Lieferung.Lieferadresse.Firma }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
Firmenzusatz: {{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Vorname != "" -%}
Vorname: {{ Vorgang.Lieferung.Lieferadresse.Vorname }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Name != "" -%}
Name: {{ Vorgang.Lieferung.Lieferadresse.Name }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
Adresszusatz: {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Straße != "" -%}
Straße: {{ Vorgang.Lieferung.Lieferadresse.Straße }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.PLZ != "" -%}
PLZ: {{ Vorgang.Lieferung.Lieferadresse.PLZ }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Ort != "" -%}
Ort: {{ Vorgang.Lieferung.Lieferadresse.Ort }}
{% endif -%}
---------------

===== Wenn Adresszusatz weder Post Nr. noch PackstationsNr hänge an Firmenzusatz an. =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Firmenzusatz
Code:
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]'  -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: PostNr -%}
{% assign PostNrTest = PostNrTest | Replace: '[^a-zA-Z0-9]' -%}
{% assign PostNrTest = PostNrTest | Replace: '[Pp].{1,3}\s{0,1}[Nn].{1,5}' -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNrTest == '' -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign StrasseOrg = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationNr = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrRichtigGesetzt != "True" and PackstationNrRichtigGesetzt != "True" -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}, {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% endif -%}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]' -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{{PackstationNr}},{{PostNr}}
===== Die (Packstation + Nr) gehört immer in Straße: =====
> Aus Adresszusatz die PackstationsNr extrahieren und in Straße setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Straße
Code:
{% assign IstPackstationNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in IstPackstationNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr < 99999 -%}
{% assign PackstationNr = Split -%}
{% endif -%}
{% endfor -%}
Packstation {{PackstationNr}}

===== Die PostNr gehört immer in den Adresszusatz nur als Zahl ohne "Postnummer" =====
> Aus Adresszusatz die Postnummer extrahieren und in Adresszusatz setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign PostNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in PostNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr > 99999 -%}
{% assign PostNr = Split -%}
{% endif -%}
{% endfor -%}
{{PostNr}}
 
Zuletzt bearbeitet:
  • Ich liebe es
Reaktionen: Tsuc

Tsuc

Sehr aktives Mitglied
28. Januar 2020
243
42
Berlin
Vielen Dank für die schnelle Rückmeldung.
Mir ist noch aufgefallen, dass PACKSTATION in Großbuchstaben automatisch auf Packstation geändert wird? Ist das eine Vorgabe von DHL? Oder hat das nur kosmetische Gründe?
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
DHL sagt "Packstation". Es wird am Ende geprüft ob nach einem Korrekturdurchlauf es genau so Vorhanden ist wie DHL es angegeben haben möchte. Es kann sein das dies auch groß funktionieren würde, doch entspricht das nicht der DHL-Vorgabe.
 
Zuletzt bearbeitet:

Tsuc

Sehr aktives Mitglied
28. Januar 2020
243
42
Berlin
Hallo zusammen,

Anbei eine Adresse wo der Workflow zwar anspring, aber ein falsches Ergebnis erzeugte:

original Adresse:
Name: Max Mustermann
Adresszusatz: Packstation 110/123456789
Straße: Musterstr. 2
PLZ: 12345
Ort: Musterstadt


nach dem Workflow:
Name: Max Mustermann
Adresszusatz: 110123456789
Straße: Packstation 11012
PLZ: 12345
Ort: Musterstadt
 

Boarder

Sehr aktives Mitglied
26. März 2007
295
51
Hallo @Tsuc,

danke für das melden des Bugs. Diese Bugs haben sich alle eingeschlichen durch das entfernen der Sonderzeichen.

Packstation V0.14B

Bug: "/" wird nicht berücksichtigt
Fix: Sonderzeichen werden nicht mehr entfernt sonder mit einem Leerzeichen ersetzt.

Bug: Adresszusatz wurde nicht mehr in den Firmenzusatz kopiert.
Fix: bessere Erkennung ob nur Packstationsnummer oder nur Postnummer sowie nur Packstation mit Postnummer im Adresszusatz sind.

> Beta! Probleme bitte melden!

====== Worklows zu Packstation: ======

===== Checken ob es eine regelkonforme Packstation enthalten ist: =====
> Erweitere Eigenschaften\IstPackstation Enthält True
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter  -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNr == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% assign PackstationNr = PackstationNr | ToDouble -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrVorhanden = "True" -%}
{% capture PackstationNr -%}Packstation {{PackstationNr}}{% endcapture -%}
{% if PackstationNr == Vorgang.Lieferung.Lieferadresse.Straße -%}
{% assign PackstationNrRichtigGesetzt = "True" -%}
{% endif -%}
{% endif -%}
{% if PostNrRichtigGesetzt == "True" and PackstationNrRichtigGesetzt == "True" -%}
{% assign PackstationRichtigGesetzt = "True" -%}
{% endif -%}
{% if PostNrVorhanden == "True" and PackstationNrScoreDoppelt != "True" and PostNrScoreDoppelt != "True" and PackstationNrVorhanden == "True" and PackstationRichtigGesetzt != "True" -%}
True
{% endif -%}

===== Als Hinweis setzten das die Adresse geändert wurde. =====
> Als Hinweis wird auch die alte Adresse eingefügt
> Wert setzen Variable Auftrag\Sonstiges\Hinweis
Code:
{% if Vorgang.Sonstiges.Hinweis != "" -%}
{{Vorgang.Sonstiges.Hinweis}}
{% endif -%}
---------------
Adresse durch Workflow geändert von:
{% if Vorgang.Lieferung.Lieferadresse.Firma != "" -%}
Firma: {{ Vorgang.Lieferung.Lieferadresse.Firma }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
Firmenzusatz: {{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Vorname != "" -%}
Vorname: {{ Vorgang.Lieferung.Lieferadresse.Vorname }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Name != "" -%}
Name: {{ Vorgang.Lieferung.Lieferadresse.Name }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
Adresszusatz: {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Straße != "" -%}
Straße: {{ Vorgang.Lieferung.Lieferadresse.Straße }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.PLZ != "" -%}
PLZ: {{ Vorgang.Lieferung.Lieferadresse.PLZ }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Ort != "" -%}
Ort: {{ Vorgang.Lieferung.Lieferadresse.Ort }}
{% endif -%}
---------------

===== Wenn Adresszusatz weder Post Nr. noch PackstationsNr hänge an Firmenzusatz an. =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Firmenzusatz
Code:
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz != "" -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' '  -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score and IstPostNr != PostNr -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{% assign PostNrString = PostNr -%}
{% assign PostNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: PostNr -%}
{% assign PostNrTest = PostNrTest | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PostNrTest = PostNrTest | Replace: '[Pp].{1,3}\s{0,1}[Nn].{1,5}' -%}
{% assign PostNr = PostNr | ToDouble -%}
{% if PostNr > 99999 -%}
{% assign PostNrVorhanden = "True" -%}
{% if PostNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% assign StrasseOrg = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationNrString = Strasse | DeleteNonDigits -%}
{% assign PackstationNr = PackstationNrString | ToDouble -%}
{% endif -%}
{% if PackstationNr > 99 -%}
{% assign PackstationNrTest = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PostNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: PackstationNrString -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,3}' -%}
{% assign PackstationNrTest = PackstationNrTest | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,2}\W{0,3}' -%}
{% if PackstationNrTest == '' -%}
{% assign NurPackstationOderPostNr = "True" -%}
{% endif -%}
{% endif -%}
{% if NurPackstationOderPostNr != "True"-%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz != "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}, {{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Firmenzusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}
{% endif -%}
{% endif -%}
{% endif -%}
{% if Vorgang.Lieferung.Lieferadresse.Adresszusatz == "" -%}
{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}
{% endif -%}
===== In den Adresszusatz "PackstationsNr,PostnummerNr" (mit komma getrennt) setzen: =====
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% for i in (1..20) -%}
{% assign FelderForSplitter = Felder | Replace: Splitter  -%}
{% if FelderForSplitter != Felder -%}
{% assign Splitter = 'SELECT SUBSTRING(CAST(NEWID() AS CHAR(36)),1,8)' | DirectQueryScalar -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign StrasseOrg = Feld | Replace: '[^a-zA-Z0-9\s]',' ' -%}
{% assign Strasse = StrasseOrg -%}
{% assign StrasseSplit = Strasse | Replace: '[Pp].{1,3}[k].{1,3}[a].{1,3}[o].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z][Aa].{1,3}[Ss].{1,3}[Tt].{1,4}[Nn][Rr]{0,1}\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Replace: '[A-Za-z]{1,3}[Cc].{1,3}[Tt].{1,3}[Ii].{1,3}\W{0,5}[0-9]{3,5}', Splitter -%}
{% if StrasseOrg != StrasseSplit  -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign PackstationScore = 0 -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 100 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss][Tt][Aa][Tt]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa][Cc][Kk][Ss]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Pp][Aa]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 20 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Aa][Tt][Ii][Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign StrasseScore = PackstationScore | Plus: 10 -%}{% endif -%}
{% assign StrasseForScore = Strasse | Replace: '[Oo][Nn]', '' -%}
{% if StrasseForScore != Strasse -%}{% assign PackstationScore = PackstationScore | Plus: 5 -%}{% endif -%}
{% assign StrasseSplit = Strasse | Replace: '[A-za-z]\W{0,5}[0-9]{3,5}', Splitter -%}
{% assign StrasseSplit = StrasseSplit | Split: Splitter -%}
{% for ToReplace in StrasseSplit -%}
{% assign Strasse = Strasse | Replace: ToReplace -%}
{% endfor -%}
{% assign Strasse = Strasse | DeleteNonDigits -%}
{% capture PackstationNr -%}{{PackstationNr}}{{Strasse}},{{PackstationScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% capture Felder -%}{{ Vorgang.Lieferung.Lieferadresse.Vorname }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Name }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firma }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Firmenzusatz }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Straße }}{{Splitter}}{{ Vorgang.Lieferung.Lieferadresse.Adresszusatz }}{% endcapture -%}
{% assign Felder = Felder | Split: Splitter -%}
{% for Feld in Felder -%}
{% assign IstPostNrOrg = Feld | Replace: '[^a-zA-Z0-9-\s]',' ' -%}
{% assign IstPostNr = IstPostNrOrg -%}
{% assign IstPostNrSplit = IstPostNrOrg | Replace: '[0-9]{6,}', Splitter -%}
{% assign IstPostNrSplit = IstPostNrSplit | Split: Splitter -%}
{% for ToReplace in IstPostNrSplit -%}
{% assign IstPostNr = IstPostNr | Replace: ToReplace -%}
{% endfor -%}
{% assign IstPostNr = IstPostNr | DeleteNonDigits -%}
{% assign IstPostNr = IstPostNr | ToDouble -%}
{% if IstPostNr > 999999999 -%}
{% assign IstPostNr = 0 -%}
{% endif -%}
{% if IstPostNr > 99999 -%}
{% assign PostNrScore = 0 -%}
{% assign IstPostNr1 = IstPostNrOrg | Replace: '[Pp]ost[Nn]' -%}
{% if IstPostNrOrg != IstPostNr1 -%}
{% assign PostNrScore = PostNrScore | Plus: 100 -%}
{% endif -%}
{% assign IstPostNrScore = IstPostNrOrg | Replace: '[^0-9]' -%}
{% assign PostNrScore = PostNrScore | Plus: 40 -%}
{% assign PostNrScore = PostNrScore | Minus: IstPostNrScore.size -%}
{% if IstPostNrOrg == Vorgang.Lieferung.Lieferadresse.Adresszusatz -%}
{% assign PostNrScore = PostNrScore | Plus: 20 -%}
{% endif -%}
{% capture PostNr -%}{{PostNr}}{{IstPostNr}},{{PostNrScore}};{% endcapture -%}
{% endif -%}
{% endfor -%}
{% assign PackScore = 0 -%}
{% assign PackstationNrSplit = PackstationNr | Split: ';' -%}
{% for PackstationNrMitScore in PackstationNrSplit -%}
{% assign IstPackScore =  PackstationNrMitScore | Replace: '[0-9]{1,5},', '' -%}
{% assign IstPackstationNr = PackstationNrMitScore | Replace: ',[0-9]{1,5}', '' -%}
{% assign IstPackScore = IstPackScore | ToDouble -%}
{% if IstPackScore >= PackScore -%}
{% if IstPackScore == PackScore -%}
{% assign PackstationNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstPackScore != PackScore -%}
{% assign PackstationNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign PackScore = IstPackScore -%}
{% assign PackstationNr = IstPackstationNr -%}
{% endif -%}
{% endfor -%}
{% assign Score = 0 -%}
{% assign PostNrSplit = PostNr | Split: ';' -%}
{% for PostNrMitScore in PostNrSplit -%}
{% assign IstScore = PostNrMitScore | Replace: '[0-9]{6,},' -%}
{% assign IstPostNr = PostNrMitScore | Replace: ',[0-9]{1,}' -%}
{% assign IstScore = IstScore | ToDouble -%}
{% if IstScore >= Score -%}
{% if IstScore == Score -%}
{% assign PostNrScoreDoppelt = "True" -%}
{% endif -%}
{% if IstScore != Score -%}
{% assign PostNrScoreDoppelt = "False" -%}
{% endif -%}
{% assign Score = IstScore -%}
{% assign PostNr = IstPostNr -%}
{% endif -%}
{% endfor -%}
{{PackstationNr}},{{PostNr}}
===== Die (Packstation + Nr) gehört immer in Straße: =====
> Aus Adresszusatz die PackstationsNr extrahieren und in Straße setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Straße
Code:
{% assign IstPackstationNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in IstPackstationNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr < 99999 -%}
{% assign PackstationNr = Split -%}
{% endif -%}
{% endfor -%}
Packstation {{PackstationNr}}

===== Die PostNr gehört immer in den Adresszusatz nur als Zahl ohne "Postnummer" =====
> Aus Adresszusatz die Postnummer extrahieren und in Adresszusatz setzen
> Wert setzen Variable Auftrag\Lieferung\Lieferadresse\Adresszusatz
Code:
{% assign PostNr = Vorgang.Lieferung.Lieferadresse.Adresszusatz | Split: ',' -%}
{% for Split in PostNr -%}
{% assign SplitNr = Split | ToDouble -%}
{% if SplitNr > 99999 -%}
{% assign PostNr = Split -%}
{% endif -%}
{% endfor -%}
{{PostNr}}
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Zugriffe nBesuchsdauer = 0 - IP-Adressen 42.*.*.* Betrieb / Pflege von JTL-Shop 0
Neu Ansprechpartner mit mehreren E-Mails Adressen in den Kunden User helfen Usern - Fragen zu JTL-Wawi 1
Neu Frage: Email Adressen Validator Fehler Allgemeine Fragen zu JTL-Shop 0
Neu shopapotheke per Anbindung eBay-Anbindung - Fehler und Bugs 1
Neu Umlagerung per Ameisen-Import JTL-Wawi - Fehler und Bugs 1
Neu In einen Portlet-Container im Frontend per Ajax Datennachladen (weitere anzeigen) Technische Fragen zu Plugins und Templates 1
Neu eBay Plus Angebote per Ameise steuerbar ? Eigene Übersichten in der JTL-Wawi 6
Neu Zugang zu Kategorien nur per Kennworteingabe Plugins für JTL-Shop 3
Neu Eigene Felder (Kunde) in csv-Datei per Ausgabe (Auftrag oder Lieferschein) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Lieferadresse / Rechnungsadresse im Auftrag per Doppelklick wählbar machen JTL-Wawi - Ideen, Lob und Kritik 0
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
Neu Lieferantenbestellung als CSV mit selbst festgelegten Spalten per Mail senden Arbeitsabläufe in JTL-Wawi 1
Neu Benachrichtigung per Workflow bei Wareneingang User helfen Usern - Fragen zu JTL-Wawi 24
Neu Weiterleitungen direkt per Datenbank einfügen aufgrund Größe bzw. Anzahl? Betrieb / Pflege von JTL-Shop 9
Gelöst Per Workflow im Servicedesk eine Mail versenden. Gelöste Themen in diesem Bereich 4
Variationen per Ameise umbenennen JTL-Wawi 1.8 1
Workflow Auftraqspositionen per Email an Kunden senden JTL-Wawi 1.7 3
Neu Ist es möglich per Ameise Kunden zu löschen? Arbeitsabläufe in JTL-Wawi 2
Neu LS-Pos Kundenrechnung per Email Fragen rund um LS-POS 1
Neu Warenkorb per Link teilen Allgemeine Fragen zu JTL-Shop 6
Ausgabe per E-Mail geht plötzlich nicht mehr, Testmail aus Wawi aber schon JTL-Wawi 1.6 22
Beantwortet Kunde von Firma per Workflow setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Datenbankebene per SQL löschen Eigene Übersichten in der JTL-Wawi 6
Neu Consent Status per Smarty Var abfragen Technische Fragen zu Plugins und Templates 2
Nur noch sporadischer Versand per Mail von Rechnungen, Lieferscheinen und Mahnungen nach Update auf Version 1.8. JTL-Wawi 1.8 0
Neu Kinderartikel per Ameise vom Vater lösen Arbeitsabläufe in JTL-Wawi 6
Neu Probleme bei Aufgabenplaner (Export-Manger) per Cronjob JTL-Shop - Fehler und Bugs 1
Neu EK-Preise per Workflow in Lieferantenbestellung einfügen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu per Workflow: WhatsApp oder ähnliches senden User helfen Usern - Fragen zu JTL-Wawi 0
Preise per Artikel Funktionsattribut bei einzelnen Artikeln ausblenden Einrichtung JTL-Shop5 0
Neu Vorschlag: Per Workflow Tickets erstellen Servicedesk (Beta) 1
Label per Import bedienen JTL-Wawi 1.8 0
Neu Artikeländerung per Artikelnummer mit Wildcard? JTL-Ameise - Ideen, Lob und Kritik 1

Ähnliche Themen