Neu Eigenes Feld bei Dotliquid ausgeben - Beispiele

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
86
Hallo,

ich hatte gerade eine Abfrage für Eigene Felder in Dotliquid geschrieben und dachte, das es euch eventuell helfen könnte.
Um die Abfrage schlank zu halten, habe ich vorher das kAttribut für das eigene Feld aus der DB rausgesucht. Man kann es auch anhand des Namens suchen, aber auch das muss man vorher machen.

Abfrage für das kAttribut meines eigenen Feldes:
Code:
SELECT kAttribut FROM dbo.tAttributSprache WHERE cName = 'MeinAttributname'
Wichtig, den Namen des Feldes benutzen und nicht den Wert!

Beispiel 1: Ich möchte mein Eigenes Feld des Kunden als Dateinamen der Rechnungs PDF verwenden.
kAttribut des Eigenen Feldes: 157
Code:
{% capture itemquery %}SELECT TOP (1) cWertVarchar FROM Kunde.tKundeEigenesFeld WHERE kAttribut = 157 AND kKunde = {{ Report.CustomerInternalId | SqlEscape }}{% endcapture -%}
{% assign result = itemquery | DirectQueryScalar -%}
{{ Directories.Desktop }}\{{ Report.OperationId }}_{{result}}.pdf

Beispiel 2: Ich mein eigenes Feld des Artikels ausgeben.
SQL:
SELECT TOP (1) tArtikelAttributSprache.cWertVarchar FROM dbo.tArtikelAttributSprache
JOIN dbo.tArtikelAttribut ON tArtikelAttribut.kArtikelAttribut = tArtikelAttributSprache.kArtikelAttribut
WHERE kAttribut = 219 AND kArtikel = 1
Falls ihr Fragen habt schreibt die ruhig mal hier rein, ich aktualisiere dann hier eventuelle weitere Beispiele :)
 
Zuletzt bearbeitet:

Frank Hoffmeister

Sehr aktives Mitglied
11. Mai 2014
145
28
Hallo,
nachdem ich nun versuche ein eigenes Label für den Etikettendruck zu gestalten, stehe ich doch noch vor einigen Problemen.
Ich möchte z. B. die ausgewählten Attribute einer bestimmten Attributgruppe ausgeben.
Dafür verwende ich folgenden Code/Formel in LL:
JTL_DirectTableQuery ("select cName,cWertliste from tAttributSprache join tArtikelAttribut on tAttributSprache.kAttribut = tArtikelAttribut.kAttribut join tArtikelAttributSprache on tArtikelAttribut.kArtikelAttribut = tArtikelAttributSprache.kArtikelAttribut where tAttributSprache.kSprache = 1 and tArtikelAttributSprache.kSprache = 1 and tAttributsprache.kAttribut in ( select kAttribut from tAttribut where cGruppeName = 'Labeldruck H-Sätze') and kArtikel = 147816",": "," | ")
Hier meine ersten Fragen dazu:

Wie kann ich einschränken, ohne es in der SQL-Abfrage zu nutzen, das nur die Werte des aktuell ausgewählten Artikels genutzt werden, und wie kann ich anstatt der Pipe | ein Return /r als Zeichentrenner verwenden.
Weiterhin möchte ich auch noch Piktogramme welche als Merkmalbilder gespeichert sind auf dem Label ausgeben, natürlich auch nur solche welche zum Artikel gehören.
Da bin ich allerdings an der JTL_DirectQuery aus der Tabelle tBild gescheitert. (Hex-Wert von bBild) als Bild auf dem Etikett ausgeben.

Ich würde mich über Hilfestellung dazu sehr freuen.

Mit freundlichen Grüßen
Frank Hoffmeister
 

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
86
Zuletzt bearbeitet:

dein-brandstempel

Aktives Mitglied
20. November 2020
47
17
Vielleicht hier noch eine Hilfestellung für diejenigen, die den Wert für das kAttribut abfragen wollen:

Code:
{% capture itemquery %} SELECT kAttribut FROM dbo.tAttributSprache WHERE cName = 'MeinAttributname' {% endcapture -%}
{% assign result = itemquery | DirectQueryScalar -%}
{{result}}
 
  • Gefällt mir
Reaktionen: dj0815

SHAAN

Sehr aktives Mitglied
26. August 2020
693
226
Hallo Herr Laumen!

Lässt sich das auch für EigeneFelder in den Aufträgen in der 1.6 umsetzen? Das müsste tAuftragAttributSprache sein glaube ich. Hier ist allerdings keine kAttribut Feld mit einer eindeutigen Zuordung vorhanden.

Mir ist nicht klar wie ich die eigenen Felder der Aufträge für die Formulare nutzen kann. Über eine Hilfestellung wäre ich dankbar.
 

Frank Hoffmeister

Sehr aktives Mitglied
11. Mai 2014
145
28
@SHAAN
ich kann mir nicht vorstellen das es eine neue Tabelle tAuftragAttributSprache in der DB in Version 1.6 geben wird (Habe aber noch keine 1.6 getestet).

Ich vermute daß diese Verknüpfung wohl weiterhin über das kAttribut gemacht wird.

Gruß Frank
 

SHAAN

Sehr aktives Mitglied
26. August 2020
693
226
Ne, leider nicht Frank. Die EigenenFelder in den Aufträgen sind leider anders aufgebaut. Da stehe ich immer noch auf dem Schlauch.
 
  • Gefällt mir
Reaktionen: logics

SHAAN

Sehr aktives Mitglied
26. August 2020
693
226
Hi nochmal,

wie kann ich denn den Wert eines eigenen Feldes in der Picllistenvorlage abfragen? Das bekomme ich nicht ganz hin.

Das habe ich bisher:

SQL:
JTL_DirectQuery ("SELECT TOP (1) tArtikelAttributSprache.cWertVarchar FROM dbo.tArtikelAttributSprache
JOIN dbo.tArtikelAttribut ON tArtikelAttribut.kArtikelAttribut = tArtikelAttributSprache.kArtikelAttribut
WHERE kAttribut = 300 AND kArtikel = "+str$(PickListPositionWarehouse.ProductInternalId))
 

SHAAN

Sehr aktives Mitglied
26. August 2020
693
226
Ok, ich habe es selber in der (Pickliste pro Lager) geschafft.

SQL:
Fstr$(( JTL_DirectQuery ("SELECT fLagerbestand  FROM dbo.tlagerbestand WHERE kArtikel = "+Str$(PickListPositionWarehouse.ProductInternalId)) ),"?,?")

Vielleicht kann mir aber einer sagen, wie ich eigene Felder, die ich mittels JTL DirectQuery abrufe, sortieren kann?

Unter Eigenschaften --> Daten --> Sortierung geht es nicht.
 

logics

Aktives Mitglied
16. Juli 2021
29
3
Ne, leider nicht Frank. Die EigenenFelder in den Aufträgen sind leider anders aufgebaut. Da stehe ich immer noch auf dem Schlauch.
Edit: Fehler nun gefunden.

So wird das eigene Feld ausgegeben:

JTL_DirectQuery ("SELECT tArtikelAttributSprache.cWertVarchar FROM dbo.tArtikelAttributSprache
JOIN dbo.tArtikelAttribut ON tArtikelAttribut.kArtikelAttribut = tArtikelAttributSprache.kArtikelAttribut
WHERE kAttribut = 185 AND kArtikel = "+Fstr$(PickListPositionOrder.ProductInternalId,"?")+"")
 
Zuletzt bearbeitet:

A-Z Autoteile

Aktives Mitglied
30. September 2020
58
13
Hallo,

ich hatte gerade eine Abfrage für Eigene Felder in Dotliquid geschrieben und dachte, das es euch eventuell helfen könnte.
Um die Abfrage schlank zu halten, habe ich vorher das kAttribut für das eigene Feld aus der DB rausgesucht. Man kann es auch anhand des Namens suchen, aber auch das muss man vorher machen.

Abfrage für das kAttribut meines eigenen Feldes:
Code:
SELECT kAttribut FROM dbo.tAttributSprache WHERE cName = 'MeinAttributname'
Wichtig, den Namen des Feldes benutzen und nicht den Wert!

Beispiel 1: Ich möchte mein Eigenes Feld des Kunden als Dateinamen der Rechnungs PDF verwenden.
kAttribut des Eigenen Feldes: 157
Code:
{% capture itemquery %}SELECT TOP (1) cWertVarchar FROM Kunde.tKundeEigenesFeld WHERE kAttribut = 157 AND kKunde = {{ Report.CustomerInternalId | SqlEscape }}{% endcapture -%}
{% assign result = itemquery | DirectQueryScalar -%}
{{ Directories.Desktop }}\{{ Report.OperationId }}_{{result}}.pdf

Beispiel 2: Ich mein eigenes Feld des Artikels ausgeben.
SQL:
SELECT TOP (1) tArtikelAttributSprache.cWertVarchar FROM dbo.tArtikelAttributSprache
JOIN dbo.tArtikelAttribut ON tArtikelAttribut.kArtikelAttribut = tArtikelAttributSprache.kArtikelAttribut
WHERE kAttribut = 219 AND kArtikel = 1
Falls ihr Fragen habt schreibt die ruhig mal hier rein, ich aktualisiere dann hier eventuelle weitere Beispiele :)
Hallo,

ich nutze Wawi 1.6.40.0 und möchte in der "Mailen"-Vorlage für Angebote eigene Felder auslesen. Ich meine damit aber nicht List & Label, sondern den Emailtext, der in Dot Liquid geschrieben wird. Kannst du oder jemand anderes mir sagen wie ich dort an die eigenen Felder des Angebotes komme? Also nicht die von den Artikeln, sondern direkt die Eigenen Felder vom Angebot selbst.

Ich verzweifle langsam =(

Vielen Dank im Voraus und Sonnige Grüße von der Ostseeküste,
Markus
 

John

Sehr aktives Mitglied
3. März 2012
3.995
991
Berlin
@Philipp Laumen vielen Dank für Deine Code Beispiele.

An eigigen Stellen berücksichtigst Du nicht die Abhängigkeit der Sprache. So liefert z.B.

Code:
SELECT kAttribut FROM dbo.tAttributSprache WHERE cName = 'MeinAttributname'

Nicht immer ein eindeutiges Ergebnis, wenn ein Attributname mehrfach über verschiedene Sprachen verteilt benutzt wird.

Ich habe das Rest nicht komplett gelesen, mir selbst aber angewöhnt grundsätzlich auf kSprache = 0 bzw. Standardsprache zu prüfen. Das gibt sonst überraschende Ergebnisse, wenn man mit TOP(1) nicht zurück bekommt, was man eigentlich in der Standardsprache gerne gehabt hätte..
 

Alexlaiho80

Aktives Mitglied
28. Februar 2018
66
1
Also ich bekomme es beim besten Willen nicht hin, mein eigenes Feld (Lagerort) auf meiner Packliste auszugeben.

Fstr$(( JTL_DirectQuery ("SELECT fLagerbestand FROM dbo.tlagerbestand WHERE kArtikel = "+Str$(PickListPositionWarehouse.ProductInternalId)) ),"?,?") hier wird mir der Lagerbestand ausgeben, wenn ich nun Lagerbestand mit Lagerort ändere passiert nix.
Kann mir jemand ne Hilfestellung geben?
 

olli33

Gut bekanntes Mitglied
27. November 2008
284
10
Hallo Zusammen,

ich versuche im Fuss für die Wawi-Pickliste zusätzlichen Text in einer Formel für die Darstellung abzufragen. Dabei soll geprüft werden ob das Eigene Feld im Artikel der sich auf der Pickliste befindet. Das eigen Feld ist "Prüfartikel " und ein Checkbox Feld. Die ID habe ich in der DB nach geschaut. Die ID ist 260.

cond(JTL_DirectQuery("SELECT TOP (1) tArtikelAttributSprache.cWertVarchar FROM dbo.tArtikelAttributSprache JOIN dbo.tArtikelAttribut ON tArtikelAttribut.kArtikelAttribut = tArtikelAttributSprache.kArtikelAttribut WHERE kAttribut = 260 AND kArtikel = +Fstr$(PickListPositionWarehouse.ProductInternalId)") ="",False,True)

Ich habe auch schon versucht die Abfrage mit den cName = 'benötigt' umzusetzen. Wahrscheinlich ist das für ein SQL-Spezi eine absolute Kleinigkeit.

Über Hilfe wäre ich sehr dankbar
Olli
 

SHAAN

Sehr aktives Mitglied
26. August 2020
693
226
Ich bin kein Spezi, aber hast du zunächst versucht folgende Abfrage erfolgreich über das SQL Server Management Studio auszulösen?

SELECT TOP (1) tArtikelAttributSprache.cWertVarchar FROM dbo.tArtikelAttributSprache JOIN dbo.tArtikelAttribut ON tArtikelAttribut.kArtikelAttribut = tArtikelAttributSprache.kArtikelAttribut WHERE kAttribut = 260 AND kArtikel = MEINARTIKEL
 

John

Sehr aktives Mitglied
3. März 2012
3.995
991
Berlin
Das Problem beginnt ja bereits hier.

ich versuche im Fuss für die Wawi-Pickliste zusätzlichen Text in einer Formel für die Darstellung abzufragen. Dabei soll geprüft werden ob das Eigene Feld im Artikel der sich auf der Pickliste befindet.

Eine Pickliste kann mehr als einen Artikel enthalten.
Was soll passieren, wenn zwei Artikel enthalten sind und einer das Feld hat (womit soll es eigentlich belegt sein, was genau soll hier geprüft werden?) und der andere nicht?

Die Anforderung ist schon nicht sauber.
Da braucht man noch gar nicht mit SQL anfangen.
 

SHAAN

Sehr aktives Mitglied
26. August 2020
693
226
Was ist mit:

IF( JTL_GetProductCustomField("MeinFeld", Report.InternalId)<>"", "MeineBezeichnung"+JJTL_GetProductCustomField("MeinFeld", Report.InternalId), "")

Und was spricht dagegen, es in die Datenzeile neben z. B. den Artikelnamen zu setzen?
 

John

Sehr aktives Mitglied
3. März 2012
3.995
991
Berlin
Was ist mit:

IF( JTL_GetProductCustomField("MeinFeld", Report.InternalId)<>"", "MeineBezeichnung"+JJTL_GetProductCustomField("MeinFeld", Report.InternalId), "")

Und was spricht dagegen, es in die Datenzeile neben z. B. den Artikelnamen zu setzen?

Aber nicht mit Report.InternalId als zweitem Parameter.

JTL_GetProductCustomField gibt ein Eigenes Feld aus dem Bereich Artikel aus und erwartet als zweiten Parameter die interne ID eines ARTIKELS.
 

frankell

Sehr aktives Mitglied
9. September 2019
2.612
800
Flensburg
Hallo Zusammen,

ich versuche im Fuss für die Wawi-Pickliste zusätzlichen Text in einer Formel für die Darstellung abzufragen. Dabei soll geprüft werden ob das Eigene Feld im Artikel der sich auf der Pickliste befindet. Das eigen Feld ist "Prüfartikel " und ein Checkbox Feld. Die ID habe ich in der DB nach geschaut. Die ID ist 260.

cond(JTL_DirectQuery("SELECT TOP (1) tArtikelAttributSprache.cWertVarchar FROM dbo.tArtikelAttributSprache JOIN dbo.tArtikelAttribut ON tArtikelAttribut.kArtikelAttribut = tArtikelAttributSprache.kArtikelAttribut WHERE kAttribut = 260 AND kArtikel = +Fstr$(PickListPositionWarehouse.ProductInternalId)") ="",False,True)

Ich habe auch schon versucht die Abfrage mit den cName = 'benötigt' umzusetzen. Wahrscheinlich ist das für ein SQL-Spezi eine absolute Kleinigkeit.

Über Hilfe wäre ich sehr dankbar
Olli

Hallo Olli,

gewöhn Dir am besten an, nicht alles in eine Zeile zu schreiben, sondern SQL-like zu gliedern bzw. Zeilenumbrüche zu setzen. Das ist insbesondere dann nützlich, wenn man SQL in einer anderen Sprache einbaut wie hier. Man sieht einfach schneller, was Phase ist. Außerdem kann ich auch nur dazu raten, konsequent mit Tabellen-Aliasen zu arbeiten, auch wenn das hier nicht notwendig ist.

Auf den ersten Blick sind mir ein paar SQL- und LL-Typos aufgefallen:
+Fstr$(PickListPositionWarehouse.ProductInternalId)

- Am Anfang fehlt ein ".
- Am Ende fehlt zunächst ein + und dann ein "
- Fstr$ kannst Du nicht ohne weitere Argumente nutzen. Nimm stattdessen Str$.

Anstelle von SELECT TOP 1 würde ich tatsächlich hier eher die WHERE-Clause auf AND kSprache = 1 erweitern. Oder welche Sprache auch immer gewünscht ist.

Aber vor diesen Code-Sachen kommen die Logik und die Plazierung. Zur Logik hat John oben schon erwähnt, dass es ein Problem gibt, wenn eine Pickliste mehr als eine Position hat. Bei der Plazierung kommt es drauf an, was Du mit "Fuß" meinst. Denn außerhalb des Berichtscontainers kannst Du nicht auf Variablen zugreifen, die nur im Berichtscontainer vorhanden sind, und dazu gehören hier die positionsspezifischen Variablen wie die ProductInternalId. Man kann zwar manches über eine Benutzervariable herausziehen wie bspw. Summenwerte, aber viel mehr geht da nicht. Du müssest da eher über SQL eine Quasi-Schleife über alle Picklistenpositionen (in der entsprechenden DB-Tabelle) fahren lassen und prüfen, ob bei einer davon die Bedingung zutrifft. Das ist dann auch gleich so gebaut, dass es für potentielle Picklisten mit mehr als einer Position klappt.

VG,
Frank
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Eigenes Feld aus Artikel in Artikeletikett ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Kundenstammdaten - "Eigenes Feld" in SQL auslesen JTL-Wawi 1.9 2
Neu Artikelmerkmale für eigenes Exportformat auslesen Betrieb / Pflege von JTL-Shop 1
Neu WMS Mobile / kein QR Code Scan in das Passwort Feld mit Zebra MDE JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Idee - Versanddatum aus Amazon & eBay als Feld in JTL übernehmen eBay-Anbindung - Ideen, Lob und Kritik 0
Neu Workflowbedingung Regex - Strassenfeld - Feld enthält mehr als 3 Zahlen User helfen Usern - Fragen zu JTL-Wawi 1
Workflow Trigger bei Angebot-Import über Ameise JTL-Wawi 1.9 0
Absturz bei Hinzufügen von Artikelbildern JTL-Wawi 2.0 1
Neu Falsche Zahlungsart bei Gutscheinzahlungen im DSFinV-K-Export JTL-POS - Fehler und Bugs 0
Update auf 2.0.1 Fehler bei eazybusiness JTL-Wawi 2.0 11
Update auf 2.0.1.0 bricht ab bei 1.12.0.0. JTL-Wawi 2.0 6
Probleme bei der Verbindung zur Datenbank JTL-Wawi 2.0 12
Neu JTL Shipping Fehler bei DHL Versand über WMS ? User helfen Usern - Fragen zu JTL-Wawi 2
Artikelnamen bei Varioartikel nichtänderbar mit csv JTL-Wawi 1.10 0
Neu 5.6.1 Bug bei Versandarten mit Kalkulation durch Artikelmenge und Staffelpreisen JTL-Shop - Fehler und Bugs 2
Neu Seit Update auf JTL-WaWi 2.0.0.0 keine Abholung der Kundendaten bei MediaSaturn-Bestellungen JTL-Wawi - Fehler und Bugs 5
Neu Hilfe bei der Entwicklung gesucht: Werde Tester für meine JTL-Shop Plugins Plugins für JTL-Shop 0
Neu Google Shopping: identifier_exists bei fehlender GTIN Allgemeine Fragen zu JTL-Shop 3
Neu Workflow automatisch bei Warenausgang für Bestand und Puffer JTL-Wawi - Ideen, Lob und Kritik 11
Neu Anzeigen der Zahlungsart, die bei der Zahlung gesetzt wird Eigene Übersichten in der JTL-Wawi 10
Versandkosten bei gemischten Steuersätzen JTL-Wawi 2.0 6
Gelöst Bekannte Störung: Fehler "Der Inhaltstyp text/html stimmt nicht mit text/xml überein" bei der Labelerstellung Gelöste Themen in diesem Bereich 1
Neu Synchronisation funktioniert nur bei manchen Produkten Shopify-Connector 7
Neu Problem bei Varianten-Upload mit Amazon Lister 2.0 (Attribut-Mapping Farbe/Größe) Onlineshop-Anbindung 1
Neu Reihenfolge der Länder (bei der Versandkostenberechnung) Betrieb / Pflege von JTL-Shop 2
Neu Workflow Ereignis "Position hinzufügen" bei Angebote User helfen Usern - Fragen zu JTL-Wawi 0
Neu Kundenrabatte bei Auftragsimport JTL-Ameise - Fehler und Bugs 0
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop User helfen Usern - Fragen zu JTL-Wawi 3
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop Eigene Übersichten in der JTL-Wawi 0
Neu welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL Allgemeine Fragen zu JTL-Shop 0
welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL JTL-Wawi 1.11 0
Neu Gelangensbestätigungen bei innergemeinschaftlichen Lieferungen? User helfen Usern - Fragen zu JTL-Wawi 1
Neu SaaS Connector – product.push Performance-Problem bei Shopware 6.6 Shopware-Connector 1
Neu Ständig neue Angebote von JTL und Fallen bei Unaufmerksamkeit Smalltalk 26
Export Zahlungen Amazon marketplace bei Kombi OSS und FBA erfolgt nach JTL2DATEV unvollständig JTL-Wawi 1.9 0
Neu Massive 504 Timeouts bei Bot-Crawl (JTL-Hosting) – PHP-Worker-Pool als Flaschenhals? JTL-Shop - Fehler und Bugs 2
Neu Hinweisfeld bei Versandarten: HTML Code möglich? Betrieb / Pflege von JTL-Shop 7
Neu Hinweis bei B2B-IGL User helfen Usern - Fragen zu JTL-Wawi 5
Aktualisierung Artikelbilder bei Kaufland nicht möglich? kaufland.de - Anbindung (SCX) 0
Neu Fehlermeldung bei Farbänderung im Nova oder Nova Child Theme Templates für JTL-Shop 2
Skonto bei Barzahlung wird angezeigt, aber nicht vom Rechnungsbetrag abgezogen JTL-Wawi 1.9 11
Neu Fehler bei Artikel Filter in der Wawi JTL-Wawi - Fehler und Bugs 2
Neu Bei Gutschein einlösen kein Rückgeld möglich Allgemeine Fragen zu JTL-POS 0
Neu SPAM durch die Eingabeseite bei den Kundendaten JTL-Shop - Fehler und Bugs 67
Inaktive Zahlungsart wird bei Eingangsrechnungen angezeigt JTL-Wawi 1.11 0
Neu Shopify Connector Fehlermeldung bei Kategoriebildern Shopify-Connector 6
Neu Eigenen Firmennamen bei eingehenden Anrufen anzeigen lassen Smalltalk 2
Neu Bei Abgleich steuerfreie Lieferung VAT ID importieren Shopify-Connector 3
Neu Lieferzeiten Angabe bei "wenn ausverkauft" und schon in Beschaffung ist Allgemeine Fragen zu JTL-Shop 0
Neu Wo ist der Worker Status hin? Bei mir ist in Version 1.11.4 nicht mehr zu finden? User helfen Usern - Fragen zu JTL-Wawi 7

Ähnliche Themen