Bestellnummer

Petuchov

Sehr aktives Mitglied
1. Oktober 2009
1.695
23
Augsburg
Hoffe habe hier die richtige Kategorie erwischt.
Problem:
Viele Kunden geben bei einer Bestellung eine eigene Bestellnummer an. Diese müsste ich in den Lieferschein und die Rechnung integrieren können, etwa unter "Ihr Zeichen" oder " Ihre Bestellnummer" angeben können.
Hat jemand eine Idee wie man das realisieren kann.
Habe schon mi Kundenattribut experimentiert, , da gibt es aber eine ziemlich häßliche Ausgabe wie zb Ihre Bestellnummer=1234567 ( keine getrennte Ausgabe)
Wohl gemerkt, ich rede nicht von der Bestellnummer, die die Wawi vergibt
 

marcos software

Sehr aktives Mitglied
23. Juli 2009
1.742
24
Bonn
AW: Bestellnummer

... da gibt es aber eine ziemlich häßliche Ausgabe wie zb Ihre Bestellnummer=1234567 ...

ungetestet:
Code:
ProjectParameter$(Kundenattribut)
könnte genau das richtige für dich sein!

ansonsten:

benutz doch
Code:
ChrSubst$(Kundenattribut,"Ihre Bestellnummer=","")

oder

Code:
Token$(Kundenattribut,2,"=")

oder wenn die Bestellnummer immer die gleiche Anzahl an Zeichen hat geht auch

Code:
Right$(Kundenattribut,7)

...

da gibts es noch sehr viele weitere Möglichkeiten! Und wenn alles nicht mehr hilft mach eine regular Expression und ruf sie mit
Code:
RegExMatch$(,,)
ab (oder hol dir das ganze einfach direkt aus der wawi DB mit
Code:
JTL_DirectQuery ()
;> )


Gruß
Marc
 
Zuletzt bearbeitet:

Petuchov

Sehr aktives Mitglied
1. Oktober 2009
1.695
23
Augsburg
AW: Bestellnummer

Habe das so gelöst: (Dank Deiner Hilfe)

Kundenattributt: Ihre Bestellnummer (Dummy Wert: 123456789100000 )

Code
ChrSubst$(JTL.WaWi.Kunde.Attribute, "Ihre Bestellnummer=","")

funzt !
 

Petuchov

Sehr aktives Mitglied
1. Oktober 2009
1.695
23
Augsburg
AW: Bestellnummer

Wenn ich jetzt dem Kunden ein 2. Attribut verpasse (Name: Skonto, Wert 2) gibt mir die obige Anfrage beide Attrbute aus ( 123456789100000|skoo2 )

Kann man die Attribute einzeln Ansprechen? bzw die Ausgabe trennen ?
 

peter76

Aktives Mitglied
8. September 2009
63
0
Hagen, 58089
AW: Bestellnummer

Hallo,

auch wenn dieser Thread schon ein wenig älter ist, ich bin da gerade auch am basteln ....

Token$(JTL. WaWi.Vorgang.Attribute,0,"|")
Die Zahl gibt dann das Attribut an, allerdings mit Text

oder kombiniert
Token$(ChrSubst$(JTL.WaWi.Vorgang.Attribute, "Ihre Bestellnummer=",""),1,"|")
würde wenn das 2. Attribut die Bestellnummer ist nur die Vorgangnummer des Kunden ausgegeben!
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.295
405
AW: Bestellnummer

@peter76

Vielen Dank für den Tipp mit Token$, die Funktion hatte ich komplett übersehen und mich stattdessen mit RegExtSubst$ rumgeschlagen, aber nicht 100%ig glücklich geworden. Manches will nicht so wie ich, RegEx halt ...

Drei kurze Hinweise noch:

1. Wenn man Attribute hinzufügt/entfernt, ändert sich die Reihenfolge der Attribute im übergebenen Parmeter-String. Damit kannst Du Dich also nicht darauf verlassen, zu wissen, dass (z.B.) "Auftragsnummer=" das erste Token ist. Ich habe das folgendermaßen gelöst, um sicherzustellen, dass das gesuchte Token IMMER das allererste Token ist, das zerlegt wird. Ich bringe das gesuchte Token immer zuerst nach links im String und zerlege dann per Token$.
Token$(Right$(JTL. WaWi.Vorgang.Attribute,Len(JTL.WaWi.Vorgang.Attribute)-StrPos(JTL.WaWi.Vorgang.Attribute,"Auftragsnummer=")),0,"|")

2. Falls einer der zu übergebenden Attribut-Werte leer ist, wird das gesamte Attribut nicht übergeben! Damit funktioniert die Version oben dann nicht, weil fälschlicherweise das allererste Token im übergebenen Parameter-String genommen wird. Hier ist also die komplette Version, die das abfängt und ggfls. einen Leerstring zurückgibt.
Cond( Contains(JTL.WaWi.Vorgang.Attribute,"Auftragsnummer="), Atrim$ (StrSubst$ (Token$(Right$(JTL.WaWi.Vorgang.Attribute,Len(JTL.WaWi.Vorgang.Attribute)-StrPos(JTL.WaWi.Vorgang.Attribute,"Auftragsnummer=")),0,"|"),"Auftragsnummer=","")),"")

3. ChrSubst$ ist hier falsch, denn das ersetzt nicht auf StringBasis, sondern auf CharacterBasis und damit ersetzt Du oben nicht "Ihre Bestellnummer=" durch einen Leerstring, sondern alle Vorkommen von "I", "h", "r", ... im gesamten String. Der richtige Befehl ist hier StrSubst$. Damit wird StringBasiert ersetzt.

Viele Grüße und danke für Deine Hilfe,
Ingmar
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Platzhalter für Bestellnummer Allgemeine Fragen zu JTL-Shop 3

Ähnliche Themen