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
51
24
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
228
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
228
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
228
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
228
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
4.121
1.050
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
288
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
228
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
4.121
1.050
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
228
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
4.121
1.050
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.673
838
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 Wert aus „Eigenes Feld“ eines Artikels im Lieferschein unter der Artikelbezeichnung anzeigen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
CSV Exportvorlage - SQL Abfrage Eigenes Feld JTL-Wawi 2.0 4
Eigenes Feld aus Artikel auf Lagerpackliste ausgeben JTL-Wawi 1.11 1
Neu Eigenes Feld aus Artikel in Artikeletikett ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Eignes Feld aus Auftrag in Rechnung anzeigen lassen JTL-WaWi 1.11.10 Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu DHL Versandlabel Referenz Feld individualisieren JTL-ShippingLabels - Ideen, Lob und Kritik 0
Gelöst: Störung bei LInk11 - JTL- Shops teilweise nicht erreichbar Störungsmeldungen 1
Neu JTL Wawi 1.11.11 - Zahlungsabgleich bei FYRST Bank verlangt immer Passwort User helfen Usern - Fragen zu JTL-Wawi 0
Kundengruppenrabatte werden bei einzelnen Artikeln nicht übernommen – „Rabatte ignorieren“ springt nach Speichern zurück JTL-Wawi 2.0 0
Neu [API] Zahlungen bei salesOrders verbuchen Schnittstellen Import / Export 0
Neu Unerwünschtes Scrollen/Springen zum Seitenanfang bei Footer-Menüs (Mobile) JTL-Shop - Fehler und Bugs 0
Frage stellen bei Bestellung JTL-Wawi 1.11 1
Bei Update auf 2.05 kam folgende Meldung JTL-Wawi 2.0 2
Neu Fehleretikett bei OTTO Bestellungen bzgl. Adresszusatz JTL-ShippingLabels - Fehler und Bugs 2
Skonto wird bei Zahlung setzen nicht berücksichtigt JTL-Wawi 1.11 2
Wawi 1.11.9 Ständige Abstürze bei Aktualisierung Artikelstammdaten JTL-Wawi 1.11 4
Neu Helfen Lösungen wie Unicorn wirklich, um die teuren Preise bei JTL zu vermeiden? Amazon-Anbindung - Ideen, Lob und Kritik 1
Neu Erstellung der Sitemap bei WaWi Abgleich funktioniert nicht Allgemeine Fragen zu JTL-Shop 0
Neu Bug? Führende Nullen bei Sendungsnummern verschwinden in JTL-Wawi 2.0.3 JTL-ShippingLabels - Fehler und Bugs 1
Neu Update nach 5.7.1 hängt bei Mirgation Installation / Updates von JTL-Shop 4
Wawi 1.11. Rechnungsanhang funktioniert nicht mehr bei Versandmail JTL-Wawi 1.11 6
Fehlermeldungen bei Einrichtung DHL 4.0 "Objektverweis" und "Konfiguration Versandart" JTL-Wawi 1.11 2
Error 500 bei Neuinstallation Einrichtung JTL-Shop5 7
Neu Amazon Versandentgelt Kaufen bei Standardbestellungen Amazon-Anbindung - Ideen, Lob und Kritik 0
Neu Hilfe bei jtl-pos Synchronisation User helfen Usern - Fragen zu JTL-Wawi 5
Neu Fragen zum SaaS-Connector / Shopware6 bei Lagerbestandskorrektur Shopware-Connector 0
Kontrollkästchen "Export" bei Zahlungen nicht mehr angehakt JTL-Wawi 2.0 0
Neu Seltsamer Fehler bei PayPal-Checkout: "Warenkorb enthielt Vaterartikel..." JTL-Shop - Fehler und Bugs 2
Neu Nach Update auf 1.11.10.0 Abgleich zu Ebay über 3 Stunden bei neuen Angeboten eBay-Anbindung - Fehler und Bugs 2
Neu Falsch erzeugte Ausgangszahlung bei Teilzahlungen und Retoure (Kauf auf Rechnung) Arbeitsabläufe in JTL-Wawi 0
Anmeldung mit OAuth bei Versanddienstleister notwendig JTL-Wawi 1.10 5
Neu Kritisches Problem bei DHL 4.0: Handelsstücklisten brechen EU- und Exportversand JTL-ShippingLabels - Fehler und Bugs 23
Neu Muss bei DHL Express ebenfalls was geändert werden, aufgrund DHL 4.0? User helfen Usern - Fragen zu JTL-Wawi 1
Ameise.exe Fundort bei JTL WAWI 2.02 JTL-Wawi 2.0 2
Neu Keine Adressvalidierung bei DHL Versenden 4.0? JTL-ShippingLabels - Ideen, Lob und Kritik 5
Fehlermeldung bei DHL 4.0 versand JTL-Wawi 2.0 26
Neu Neuerdings E-Mail benachrichtigung bei "Pick up in Store", allerdings mit E-Mail "Bestellung wurde abgeholt" Shopify-Connector 0
Neu keine Kontakt Absender/Empfänger bei DHL Versenden 4.0 JTL-ShippingLabels - Ideen, Lob und Kritik 4
Neu DHL Versenden 4.0 HS Code-Fehler bei Freiposition JTL-ShippingLabels - Fehler und Bugs 8
Neu Muss man für DHL Versenden 4.0 einen neuen Benutzer bei DHL anlegen? JTL-ShippingLabels - Ideen, Lob und Kritik 2
Ebay angebote lassen sich nicht mehr bei JTL bearbeiten JTL-Wawi 2.0 0
Ameise-Export: Umsatzsteuer stimmt nicht mit Differenz aus Netto und Brutto überein (insbesondere bei mehreren Steuersätzen) JTL-Wawi 1.11 0
Fehler bei Bearbeitung von Attributen via HTML-Editor JTL-Wawi 2.0 3
Neu product_visibility bei JTL-Wawi und Shopware 6 Shopware-Connector 1
Neu Produkt-Upload schlägt fehl nach Shopware-Update 6.7.9.0 – Fehler bei quantityStart (SaaS-Connector) Shopware-Connector 14
Neu Wie aktiviere ich den richtigen EK bei freiem Wareneingang? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Workflow Trigger bei Angebot-Import über Ameise JTL-Wawi 1.9 1
Absturz bei Hinzufügen von Artikelbildern JTL-Wawi 2.0 3
Neu Falsche Zahlungsart bei Gutscheinzahlungen im DSFinV-K-Export JTL-POS - Fehler und Bugs 1
Update auf 2.0.1 Fehler bei eazybusiness JTL-Wawi 2.0 17

Ähnliche Themen