Gelöst Eigene Felder Artikel und Kundenabhängig in Auftrag

  • Wenn Ihr uns das erste Mal besucht, lest euch bitte zuerst die Foren-Regeln durch.

s-websystems

Aktives Mitglied
2. März 2011
31
3
#1
Guten Morgen,

ich habe beim Artikel eine Gruppe angelegt und hier
1. Feld (Freies Textfeld) Kundennummer
2. Feld (Freies Textfeld) Ihre Artikelnummer
angelegt.
Jetzt verwende ich folgenden Code im Auftrag

Auftragspositionen.Bezeichnung + Cond(len(Auftragspositionen.SeriennummernAlsText) > 0, "¶Seriennummer: " + Auftragspositionen.SeriennummernAlsText, "") +
cond (Vorgang.Kunde.Kundennummer = "[Kundennummer]", "¶" + "Ihre Artikelnummer: " + Alias$("Eigene Artikelnummer",Auftragspositionen.Artikel.EigeneFelderAlsText),"")

Er soll halt prüfen ob die Kundennummer im freien Feld zur Kundennummer im Auftrag passt und dann die richtige Artikelnummer ausgeben. Die Bezeichnung wird angezeigt, jedoch die Inhalte des freien Textfeldes nicht.
Hat jemand eine Idee?

VG Mark abfrage.JPG
 
Zuletzt bearbeitet:

Rico Giesler

Administrator
Mitarbeiter
10. Mai 2017
10.483
974
#2
Hast du denn nur einen Kunden den das betrifft? Oder mehrere?
Denn sonst müsstest du die Gruppe ja auch abfragen bzw für jeden Kunden eine eigene Gruppe anlegen. weil es zwischen "Kundennummer" und "Eigene Artikelnummer" keinen direkten Zusammenhang gibt.
 

s-websystems

Aktives Mitglied
2. März 2011
31
3
#3
Hi Rico,
Es sind mehrere Kunden die das betrifft. Ist im Industriebereich normal, dort werden von den Kunden teilweise eigene Artikelnummern übermittelt die dann auf der Rechnung auftauchen müssen.
Vom support habe ich folgende Lösung erhalten

cond (Vorgang.Kunde.Kundennummer = Alias$("Kundennummer",Auftragspositionen.Artikel.EigeneFelderAlsText), "¶" + " " +
Alias$("Eigene Artikelnummer",Auftragspositionen.Artikel.EigeneFelderAlsText),"")

Funktioniert auch, leider halt nur mit einem Kunden das ist das Problem. Ich müsste jetzt die Formel immer wiedder duplizieren und das nächste freie feld z.B. Kundennummer2 nennen dann Kundennummer3 usw.
Ich suche da nach einer eleganteren Lösung.
 

Rico Giesler

Administrator
Mitarbeiter
10. Mai 2017
10.483
974
#4
Ich hab bei mir nur noch die neuen Vorlagen. Daher kann ich es nicht testen.
Versuch es mal so:
cond (Vorgang.Kunde.Kundennummer = Alias$(Vorgang.Kunde.Kundennummer,Auftragspositionen.Artikel.EigeneFelderAlsText),"")

Und die Felder nennst du dann nicht Kundennummer sondern trägst da direkt die Nummer des Kunden ein und als Wert dann seine Artikelnummer.
Somit sparst du dir das zweite Feld und brauchst die Variable nicht X mal eintragen.
 

s-websystems

Aktives Mitglied
2. März 2011
31
3
#5
Ja das ist jetzt auch mein Problem, ich habe eben auf 1.4 hoch und muss mit Entsetzen feststellen dass alles anders ist.
Hast du für die neuen Vorlagen den passenden Wert?
 

s-websystems

Aktives Mitglied
2. März 2011
31
3
#6
Auftragspositionen.Artikel.EigeneFelderAlsText
Wie heißt das als neue Variabel, ich finde da auch in der Doku nicht :(
 

s-websystems

Aktives Mitglied
2. März 2011
31
3
#8
Wird leider nicht mehr angezeigt in der alten Vorlage.
Ich habe jetzt
cond (SalesOrderPosition.SalesOrder.SalesOrderBillToAddress.CustomerNumber = Alias$(SalesOrderPosition.SalesOrder.SalesOrderBillToAddress.CustomerNumber,JTL_GetProductCustomField),"")
Das klappt aber absolut nicht.
 

s-websystems

Aktives Mitglied
2. März 2011
31
3
#9
Für die Nachwelt, es ist geklärt. Vielen vielen Dank an dieser Stelle an den tollen Support von JTL.

1. Eigene Felder beim Artikel, dort Gruppe anlegen, ich habe sie Kundennummer genannt.
2. Kundennummer als Feld anlegen, oder wie bei mir mehrere Kundennummern.
3. Im Artikel bei eigene Felder jetzt hinter der jeweiligen Kundennummer die Kundenspezifische eigene Artikelnummer hinterlegen.
4. Das ist der richtige Code für das Auftragsformular.
Cond(IsNullOrEmpty (JTL_GetProductCustomField (Report.Address.CustomerNumber,SalesOrderPosition.ProductInternalId)),"","¶ / " + JTL_GetProductCustomField (Report.Address.CustomerNumber,SalesOrderPosition.ProductInternalId))

Vielen vielen Dank an dieser Stelle!!!
 
Zustimmungen: MLZGMBH und Rico Giesler