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

s-websystems

Aktives Mitglied
2. März 2011
60
12
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 Markabfrage.JPG
 
Zuletzt bearbeitet:

Rico Giesler

Offizieller Service Partner
SPBanner
10. Mai 2017
13.247
1.526
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
60
12
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

Offizieller Service Partner
SPBanner
10. Mai 2017
13.247
1.526
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
60
12
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
60
12
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
60
12
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
60
12
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!!!
 

Ähnliche Themen