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

  • Das Forum bekommt am 14.11.2019 zwischen 15:00 und (vorraussichtlich) 18:00 Uhr ein Update!
    In der Zeit wird das Forum leider nicht erreichbar sein!

    Das Update wird ca. 3 Stunden dauern und wir werden euch mit einer kleinen Hinweisseite auf dem laufenden halten.

Happy

Moderator
Mitarbeiter
29. Juli 2011
263
21
Hückelhoven
#1
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".
 
Zustimmungen: Pool-Total

MSPA

Aktives Mitglied
26. Februar 2014
31
0
#2
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
#3
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
#4
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
#5
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
#6
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
 

Happy

Moderator
Mitarbeiter
29. Juli 2011
263
21
Hückelhoven
#7
Hallo @smithy
für die neuen Variablen und neuen Funktionen musst du eine neue Vorlage erstellen, in den alten Vorlagen sind diese nicht verfügbar.
 

Thomas

Gut bekanntes Mitglied
15. Juli 2010
190
12
#8
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

Sehr aktives Mitglied
13. Februar 2016
530
26
#9
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
#10
@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

Sehr aktives Mitglied
13. Februar 2016
530
26
#11
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
#12
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
#13
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
#14
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'")
 
Zustimmungen: Rico Giesler

Thomas

Gut bekanntes Mitglied
15. Juli 2010
190
12
#15
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
#16
Nachtrag
Fehlermeldung heißt; Report.Customer.InternalId kann nicht interpretiert werden.

Bitte um Hilfe!
 

Thomas

Gut bekanntes Mitglied
15. Juli 2010
190
12
#17
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'")
 
16. November 2015
45
6
#18
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
#19
Hallo Jörg,

wir haben es so gelöst: "Ihre Bestellung: ÷"+Report.ExternalSalesOrderNumber
Das funktioniert.
Gruß, Dagmar
 
16. November 2015
45
6
#20
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
 
Zustimmungen: ckonefal