Neu Anleitung eigene Felder / Kunden Attribute im Formulareditor / List und Label

Happy

Moderator
Mitarbeiter
29. Juli 2011
263
21
Hückelhoven
Hallo,

ich habe mir vor genommen jede Woche einen kleinen Beitrag zu schreiben um euch den List $ Label Editor näher zu bringen und auch um Euch einige kniffe zu Zeigen.
Auch werde ich auf die Variablen und die Funktionen eingehen und euch zeigen, was man damit alles machen kann.




Heute geht es um die Eigenen Felder der Kunden
Früher gab es hierzu eine Variable über welche man mit der Funktion Alias das gewünschte Attribut raussuchen konnte.

Mit dem neuen Variablenbaum kommt auch eine neue Funktion, mit welcher man sehr einfach an die Eigenen Felder Kunden heran kommt.
Code:
JTL_GetCustomerCustomField ("Farbe",Report.Address.CustomerInternalId)
Im oben gezeigten Beispiel habe ich auch direkt die Parameter gefüllt um an den Wert des Feldes "Farbe" heran zu kommen.
Der zweite Parameter der Funktion ist die Interne Datenbank ID des Kunden, welche Ihr so auch in vielen Vorlagen findet, ggf. muss die Variable etwas angepasst werden.
Hierzu sucht Ihr im Variablenbaum einfach nach "CustomerInternalId".
 
  • Gefällt mir
Reaktionen: Pool-Total

MSPA

Aktives Mitglied
26. Februar 2014
31
0
Hallo Dennis,

irgendwie komme ich mit der Funktion nicht weiter oder stehe ich auf dem Schlauch?

Wenn ich die Funktion in ein bestimmtes Formular (z.B. Auftragsvorlage) einfüge, soll also der Wert vom Eigenen Feld (Kunde) hier z.B. "Farbe" ausgegeben werden. Verstehe ich es richtig?
Funktioniert bei mir nicht oder müssen die Eigenen Felder eine bestimmte Formatierung haben?

Aktuelle Version 1.4.27.3
 

Happy

Moderator
Mitarbeiter
29. Juli 2011
263
21
Hückelhoven
Hallo @MSPA
für diese Funktion benötigst du zwingend eine der der neuen Vorlagen, sonst geht es nicht.

Neben dem Namen des Eigenen Feldes musst du der Funktion auch die Interne Datenbank ID des Kunden als zweiten Parameter übergeben.

Ich hoffe das hilft dir weiter.
Falls nicht, gibt es denn irgendeine Fehlermeldung bei dir?
Ist das eigene Feld bei deinem Beispielkunden befüllt?
 

MSPA

Aktives Mitglied
26. Februar 2014
31
0
Hallo @MSPA
Neben dem Namen des Eigenen Feldes musst du der Funktion auch die Interne Datenbank ID des Kunden als zweiten Parameter übergeben.
Danke für Deine Antwort.

Wenn die ID eines Kunden notwendig ist, dann kann die Funktion aber in Vorlagen nicht global eingesetzt werden.

Ein Beispiel: Für einige Kunden haben wir das "Eigene Feld" "Lieferanten-Nr." befüllt. Jetzt benötigen wir dieses Feld in den Auftrags-Abwicklungsformularen (Angebot, Auftrag, ....).
Diese Feld soll nur dann erscheinen, wenn die Lieferanten-Nr. einen Wert besitzt, als Bsp. hier die alte Formel aus der alten JTL (noch mit Kundenattributen) ,

"Lieferanten-Nr.:" +"÷" +Alias$("Lieferanten-Nr.:", Vorgang.Kunde.Attribute)
 

Happy

Moderator
Mitarbeiter
29. Juli 2011
263
21
Hückelhoven
Hallo @MSPA
ich verstehe nicht wo da jetzt das Problem ist.
Ersetze die Funktion Alias$ mit der neuen und ersetze die Variable des Kundenattribut mit der Internen ID des Kunden.
 

smithy

Aktives Mitglied
24. August 2016
12
0
Hi und vielen Dank schon einmal,

die Funktion
Code:
JTL_GetCustomerCustomField ("Farbe",Report.Address.CustomerInternalId)
kennt mein WAWI Version 1.4.27.3 nicht. Was muss ich machen, um darauf zugreifen zu können?
Danke
 

Thomas

Gut bekanntes Mitglied
15. Juli 2010
190
12
Besteht die Möglichkeit, die alten Kundenattribute, welche in der 1.4 zur eigenen Feldern werden, per sql-Abfrage in den alten Formularem anzusprechen.
Falls möglich, bitte Code angeben.
DANKE !
 

deliman

Gut bekanntes Mitglied
13. Februar 2016
530
26
Via "Lieferanten-Nr.:÷" + JTL_GetCustomerCustomField ("Lieferantennr.",Report.CustomerInternalId) wird die Lieferantennr. aus dem eigenen feld in der neuen Standardvorlage angezeigt allerdings nur das 1. Zeichen ganz rechts am Rand, nicht die ganze Nummer. Wie bekommt man die ganze Nummer unterhalb der Kundennummer angezeigt?
Die anderen Anzeigeeinstellungen sind gleich denen darüber.
 

Jogi1962

Gut bekanntes Mitglied
24. März 2012
208
10
NRW
@deliman
ich habe das gerade mal ausprobiert, funktioniert richtig, die Zahl wird korrekt angezeigt, 9-stellig. Hast du vieleicht das eigene Feld falsch konfiguriert?
Ich habe es als Ganzzahl eingestellt.
 

deliman

Gut bekanntes Mitglied
13. Februar 2016
530
26
Ja, habe es jetzt noch mal neu als Ganzzahlfeld angelegt aber auch da wird nur die erste Zahl am rechten Rand angezeigt, nicht die ganze Nummer. Ich denke, da muss ich länger experimentieren...
 

Jogi1962

Gut bekanntes Mitglied
24. März 2012
208
10
NRW
Also meine Variable sieht so aus:

"Lieferanten Nr: " + JTL_GetCustomerCustomField ("Lieferant Nr",Report.CustomerInternalId)

Der einzige Unterschied ist, dass bei dir hinter dem ersten Lieferanten-Nr.: noch ein Zeichen steht.

Bei eigenen Feldern habe ich den Bereich "Kunde" - Name "Lieferant Nr" - Dateityp "Ganzzahl" - Anzeigeort "Allgemein"

Damit wird die Zahl, bei mir im Rechnungsformular, komplett angezeigt.
 

Thomas

Gut bekanntes Mitglied
15. Juli 2010
190
12
Via "Lieferanten-Nr.:÷" + JTL_GetCustomerCustomField ("Lieferantennr.",Report.CustomerInternalId) wird die Lieferantennr. aus dem eigenen feld in der neuen Standardvorlage angezeigt allerdings nur das 1. Zeichen ganz rechts am Rand, nicht die ganze Nummer. Wie bekommt man die ganze Nummer unterhalb der Kundennummer angezeigt?
Die anderen Anzeigeeinstellungen sind gleich denen darüber.
Ich möchte die eigenen Felder in den alten Formularen (wawi 1.3.21.1) vorübergehend aufrufen können, bis die neuen Formulare fertig sind.
Da das aber nur per sql-Abfrage geht, wäre ein Beispiel sehr hilfreich.
Ziel ist es, die Attribut-Abfrage durch eine sql-Abfrage der eigenen Felder zu ersetzen.
DANKE!
 

Happy

Moderator
Mitarbeiter
29. Juli 2011
263
21
Hückelhoven
Hallo,
leider komme ich erst Heute dazu hier zu antworten.

In den alten Vorlagen in der neuen Ausgabe wird wie bereits bekannt ein Direct Query benötigt.
Ich habe das einmal vorbereitet, jedoch "nur" für den Auftrag, müsste jedoch auch für andere Vorlagen funktionieren.
Hiermit sollte z.B. das Feld "Anmerkung" ausgegeben werden:

Code:
JTL_DirectQuery("SELECT cWertVarchar FROM Kunde.tKundeEigenesFeld
JOIN dbo.tAttributSprache ON tAttributSprache.kAttribut = tKundeEigenesFeld.kAttribut
WHERE  kKunde = '"+str$(Report.Customer.InternalId)+"'  AND cName = 'Anmerkung'")
 
  • Gefällt mir
Reaktionen: Rico Giesler

Thomas

Gut bekanntes Mitglied
15. Juli 2010
190
12
Hallo,
leider komme ich erst Heute dazu hier zu antworten.

In den alten Vorlagen in der neuen Ausgabe wird wie bereits bekannt ein Direct Query benötigt.
Ich habe das einmal vorbereitet, jedoch "nur" für den Auftrag, müsste jedoch auch für andere Vorlagen funktionieren.
Hiermit sollte z.B. das Feld "Anmerkung" ausgegeben werden:

Code:
JTL_DirectQuery("SELECT cWertVarchar FROM Kunde.tKundeEigenesFeld
JOIN dbo.tAttributSprache ON tAttributSprache.kAttribut = tKundeEigenesFeld.kAttribut
WHERE  kKunde = '"+str$(Report.Customer.InternalId)+"'  AND cName = 'Anmerkung'")
Habe es im Angebot und im Auftrag der aktuellen wai in die alten Formulare eingesetzt. Bei mir funktioniert es nicht.
 

Thomas

Gut bekanntes Mitglied
15. Juli 2010
190
12
Nachtrag
Fehlermeldung heißt; Report.Customer.InternalId kann nicht interpretiert werden.

Bitte um Hilfe!
 

Thomas

Gut bekanntes Mitglied
15. Juli 2010
190
12
mit dieser Abfrage können in den alten Formularen die zu eigenen Feldern umgewandelten Kunden-Attribute abgefragt werden.

Code:
JTL_DirectQuery("SELECT cWertVarchar FROM Kunde.tKundeEigenesFeld
JOIN dbo.tAttributSprache ON tAttributSprache.kAttribut = tKundeEigenesFeld.kAttribut
WHERE  kKunde = '"+str$(Vorgang.Kunde.InterneKundennummer)+"'  AND cName = 'Anmerkung'")
 

Springbock 231

Aktives Mitglied
16. November 2015
45
6
Hallo,

ich habe mir vor genommen jede Woche einen kleinen Beitrag zu schreiben um euch den List $ Label Editor näher zu bringen und auch um Euch einige kniffe zu Zeigen.
Auch werde ich auf die Variablen und die Funktionen eingehen und euch zeigen, was man damit alles machen kann.




Heute geht es um die Eigenen Felder der Kunden
Früher gab es hierzu eine Variable über welche man mit der Funktion Alias das gewünschte Attribut raussuchen konnte.

Mit dem neuen Variablenbaum kommt auch eine neue Funktion, mit welcher man sehr einfach an die Eigenen Felder Kunden heran kommt.
Code:
JTL_GetCustomerCustomField ("Farbe",Report.Address.CustomerInternalId)
Im oben gezeigten Beispiel habe ich auch direkt die Parameter gefüllt um an den Wert des Feldes "Farbe" heran zu kommen.
Der zweite Parameter der Funktion ist die Interne Datenbank ID des Kunden, welche Ihr so auch in vielen Vorlagen findet, ggf. muss die Variable etwas angepasst werden.
Hierzu sucht Ihr im Variablenbaum einfach nach "CustomerInternalId".
Hallo,
Wie geht das mit den Atributten aus dem Auftrag, ( "Ihr Zeichen" und "Bestellung" ) .
Ich finde nicht das Richtige.
Gruß Jörg
 

smithy

Aktives Mitglied
24. August 2016
12
0
Hallo Jörg,

wir haben es so gelöst: "Ihre Bestellung: ÷"+Report.ExternalSalesOrderNumber
Das funktioniert.
Gruß, Dagmar
 

Springbock 231

Aktives Mitglied
16. November 2015
45
6
Hallo Jörg,

wir haben es so gelöst: "Ihre Bestellung: ÷"+Report.ExternalSalesOrderNumber
Das funktioniert.
Gruß, Dagmar
Hallo Dagmar,
in der neuen Version von Wawi 1.4 gibt es die Variable Report.ExternalSalesOrderNumber nicht!
In der Version 1.3 habe ich das mit Vorgang.Auftrag.ExterneAuftragsnummer gelöst.
Währe naturlich schöner die Variable "Bestellung" und " Ihr Zeichen" aus dem Auftrag zu übernehmen.
Gruß Jörg
 
  • Gefällt mir
Reaktionen: ckonefal

Über uns

  • In unserem moderierten JTL-Forum könnt Ihr Euch themenbezogen mit der JTL-Community rund um die Produkte von JTL, passende Erweiterungen und den E-Commerce im Allgemeinen austauschen, Tipps und Tricks teilen sowie Verbesserungswünsche und Fehler diskutieren.

    Unsere Forumsnutzer helfen sich untereinander auch gerne weiter, wenn Sie mal nicht weiterkommen oder einen Ratschlag benötigen.

Schnell-Navigation

Benutzer Menü