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
688
214
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
688
214
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
688
214
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
688
214
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.901
950
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
279
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
688
214
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.901
950
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
688
214
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.901
950
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.302
695
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
Eigenes Feld im Artikelstamm JTL-Wawi 1.9 8
Seit der Umstellung zu 1.11.4 meldet Googl Search Händlereinträge >Feld "name" fehlt (in „brand“) JTL-Wawi 1.11 4
Neu "Kosten"-Feld in Artikelübersicht / Artikelverwaltung User helfen Usern - Fragen zu JTL-Wawi 2
Ameisenimport ignoriert Feld "Ist Standardlieferant für Dropshipping" JTL-Wawi 1.10 2
QRCode mit eigenem Feld in Druckvorlage füttern. JTL-Wawi 1.9 1
Neu Filter Kunde mit eigenem Feld Wert "größer als"? User helfen Usern - Fragen zu JTL-Wawi 3
Steuer Einstellung bei Sonderpreis und nach OSS Landauswahl JTL-Wawi 1.10 0
Neu JTL-Shop 5.2.3 – Google-Shoppin-Plugin 2.3.0: Mehrere Rückgaberichtlinien (DE + Ausland) bei einem Feed / return_policy_label Plugins für JTL-Shop 0
Neu eBay Angebotsimport : Fehler bei der Kommunikation mit dem eA-Server eBay-Anbindung - Fehler und Bugs 0
Neu Fehlerhafte bzw, leere Labels bei DHL & DPD JTL-ShippingLabels - Fehler und Bugs 1
1.11.5 Weiterhin Absturz bei Aufruf des Zahlungsmoduls JTL-Wawi 1.11 6
Neu Sendungsnummern per Mail versenden bei mehreren Paketen User helfen Usern - Fragen zu JTL-Wawi 5
Neu Sendungsnummer bei Auslieferung an Shopify senden Shopify-Connector 3
Nummernkreis bei gesplitteten Aufträgen "#" Symbol in "-" ändern JTL-Wawi 1.10 1
Monatsabschluss Amazon FBA UK / CH mit JTL2Datev WaWi 1.10 bei IDU Nutzung und Zwangs VCS für GB / Schweiz JTL-Wawi 1.10 0
Probleme Fehlermeldung bei Zahlungsabgleich JTL-Wawi 1.10 10
Neu Workflow bei Zahlungseingang User helfen Usern - Fragen zu JTL-Wawi 1
Textvorlage bei "Nachricht an Kunde" per email nicht mehr möglich JTL-Wawi 1.11 2
Bei Beschaffung wird keine Positionsnummer bei den Artikeln angezeigt JTL-Wawi 1.10 1
Fehler seit Version 1.10.15 bei Artikel Auslieferung über Bestandsmenge JTL-Wawi 1.10 0
Neu Texteditor bei Beitragserstellung fehlt JTL-Shop - Fehler und Bugs 1
Neu Bei Klick auf Warenkorb Button nicht direkt Warenkorb Templates für JTL-Shop 8
Neu Frage zum Thema Skonto bei Bezahlungsarten Barzahlung und QR-Code Betrieb / Pflege von JTL-Shop 0
Neu Steuerart bei Auftragsimport via Ameise falsch JTL-Wawi - Fehler und Bugs 1
Neu Ärger mit CountX: Verzögerung bei der Bearbeitung von VCS-Daten in WAWI führt zu unvollständigen Steuerdaten User helfen Usern - Fragen zu JTL-Wawi 0
Neu Unterstützung bei JTL FFN Retouren – Fehler in der API-Übertragung von Returnless Starten mit JTL: Projektabwicklung & Migration 0
Neu Landingpage bei nur 1 Artikel in einer Kategorie Betrieb / Pflege von JTL-Shop 1
Neu Amazon Lister 2.0 Kategoriespezifische Felder fehlen bei vielen Kategorien Amazon-Lister - Fehler und Bugs 2
Neu Artikeldarstellung / bei nicht Verfügbarkeit / bestellbar Anhand Verfügbarkeitszeit Allgemeine Fragen zu JTL-Shop 1
Neu GELÖST! Amazon "Aufzuschaltende Angebote" seit Tagen in "wird gesendet" bei WAWI 1.11.3 Amazon-Anbindung - Fehler und Bugs 10
Neu Fehlermeldung 'quantity' bei Vaterartikel Amazon-Lister - Fehler und Bugs 1
Neu Probleme bei der Umstellung von Varkombi auf Konfigurationsartikel User helfen Usern - Fragen zu JTL-Wawi 0
Am eigenen Lager Bestand = 0, bei FBA = 170, Probleme mit dem eigenen Shop und Otto.de JTL-Wawi 1.10 3
Neu JOBS bei CIN com-insnetz Berlin Dienstleistung, Jobs und Ähnliches 0
Neu Probleme bei WooCommerce JTL-Connector, keine Aktivierung möglich, Bestands-Shop lahmgelegt Onlineshop-Anbindung 0
Neu Pickliste Hinweis anzeigen nur bei bestimmten Verkaufkanal User helfen Usern - Fragen zu JTL-Wawi 0
Änderung E-Mailadresse bei Mahnungen JTL-Wawi 1.9 7
Ticket erstellen bei einer Fehlermeldung mit JTL-Start ??? JTL-Wawi 1.9 6
Neu Packtisch + Waage – Meldung bei großem Unterschied zwischen tatsächlichem Gewicht und Systemgewicht? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Massenänderung "Lagerplatz" für Artikel bei WMS Lager JTL-Wawi 1.10 2
Sammelbuchung bei Zahlungsausgang über das Zahlungsmodul JTL-Wawi 1.10 0
Neu Fehlermeldung bei Rechnungserstellung Arbeitsabläufe in JTL-Wawi 0
Neu Paypal bei bestimmten Produkten nicht anbieten Plugins für JTL-Shop 1
Neu Amazon Bestellungen werden nicht abgerufen - Fehler bei Account 'XXX' []: Ihr Account ist nicht aktiv. Amazon-Anbindung - Fehler und Bugs 5
EBICS einrichten bei Commerzbank JTL-Wawi 1.10 1
Neu Artikel mit gleichem Namen werden bei Shopify zu einem Artikel Shopify-Connector 2
Neu Keine Zahlung erforderlich bei < 1€ JTL-Shop - Fehler und Bugs 1
Neu PayPal-Plugin blockiert bei PayPal-Störung Checkout JTL-Shop - Fehler und Bugs 4
In Diskussion Etikett mit Warnung bei Versand drucken JTL-Workflows - Ideen, Lob und Kritik 10
Neu Falsche Umsatzsteuer bei Paypal-Checkout Bestellungen im Webshop JTL-Shop - Fehler und Bugs 3

Ähnliche Themen