Neu Diskussionsthread - Rückstände bei Teillieferung auf Lieferschein ausgeben

bigloopfan

Sehr aktives Mitglied
20. Februar 2010
730
39
Herzlichen Dank.

Das Interessante an der Geschichte ist nur, dass ich den Support vor etwas mehr als einer Woche genau wegen dieser Sache kontaktiert habe. Die Aussage war bitte wenden Sie sich an einen Servicepartner. Wir können das nicht übernehmen.

Daher vielen Dank Philipp Laumen :)

VG
Stefan
 

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
86
Das ist auch richtig. @bigloopfan
Da es sich hier um individuelle SQL Abfragen und zudem noch eine Vorlagenbearbeitung handelt. Ich habe das außerhalb des normalen Supports gemacht,
ähnlich wie bei den eigenen Übersichten. Falls jemand wegen der Vorlage ein Ticket erstellen würde, müsste ich ihn auch aufs Forum verweisen :)

Freut mich aber, das dir die Vorlage gefällt.
 
  • Gefällt mir
Reaktionen: bigloopfan

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
86
Falls es jemanden interessiert, ich habe mal die Abfrage welche Positionen noch nicht geliefert wurden in Dotliquid geschrieben.
Bitte nicht erschrecken :p
Code:
{% capture itemquery %}
SELECT lvAuftragsposition.cString,lvAuftragsposition.kBestellpos
FROM Verkauf.lvAuftragsposition
JOIN dbo.tbestellpos ON tbestellpos.kBestellPos = Verkauf.lvAuftragsposition.kBestellpos
WHERE kBestellung =        (SELECT kBestellung FROM dbo.tLieferschein WHERE kLieferschein = {{ Report.InternalId | SqlEscape }})
AND (fAnzahl - ISNULL(fGeliefert,0) ) >0
AND nType IN (0,1)
{% endcapture -%}
{% assign result = itemquery | DirectQuery -%}
{% for item in result.Daten %}
{% capture itemquery %}
SELECT lvAuftragsposition.cString,lvAuftragsposition.kBestellpos
FROM Verkauf.lvAuftragsposition
JOIN dbo.tbestellpos ON tbestellpos.kBestellPos = Verkauf.lvAuftragsposition.kBestellpos
WHERE tbestellpos.kBestellpos = {{ item.kBestellpos | SqlEscape }}
AND (fAnzahl - ISNULL(fGeliefert,0) ) >0
AND nType IN (0,1)
{% endcapture itemquery -%}
{% assign result2 = itemquery | DirectQuery -%}
   {% for item2 in result2.Daten -%}
{{ item2.cString }}
   {% endfor -%}
{% endfor -%}
 

upwave

Offizieller Servicepartner
SPBanner
15. Mai 2017
7
3
Hallo Philipp,
echt super hilfreich, vielen vielen Dank für diese Abfrage.
Früher konnte man sich die offenen Positionen in DotLiquid einfach ausgeben lassen, wieso werden solch essentielle Funktionen einfach ersatzlos gestrichen? Wir als Servicepartner haben bei der Umstellung auf die 1.6 dann wahrscheinlich das Problem, dass uns die ganzen DirectQuerys um die Ohren fliegen...
Die Wawi lebt doch von diesen Im-/Export-/Anpassungsmöglichkeiten. Wenn das auf diese Weise einfach gestrichen wird ist das eine unschöne Entwicklung, und leider ist das ja kein Einzelfall :(

Viele Grüße
 

protact

Aktives Mitglied
5. Mai 2014
26
0
Hallo,

ich würde mir gerne über einen Workflow unter Aufträge die offenen = nicht gelieferten Positionen als csv exportieren lassen.

Kann ich das Query hier auch einbinden?

Start Datensatz
Firma: {{ Vorgang.Stammdaten.Kunde.Firma }}
Name: {{ Vorgang.Stammdaten.Kunde.Name }}
Vorname: {{ Vorgang.Stammdaten.Kunde.Vorname }}
Menge: ???
Artikelnummer: ???
Ende Datensatz
 

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
86
Hallo Protact,

die Query ist für die neuen Vorlagen geschrieben, du hast Variabeln der alten Vorlage angegeben. Aber Grundsätzlich kannst du den Code dafür benutzen, ja.
 

Marvin S.

Aktives Mitglied
30. Juni 2020
64
5
Hallo @Philipp Laumen
ich habe mir deine Vorlage runter geladen, als Basis Grundlage um das Thema zu verstehen.

Ich wollte den Zeilen noch ein Lieferdatum hinzufügen. Wenn es nur um ein Artikel geht ist alles schön und gut, sobald 2 offene Bestellungen sind, wird es mit dem Lieferdatum kritisch. :D
Das Konstrukt was ich gebaut habe schaut so aus, was es genau macht weiß ich nicht ich weiß nur es macht es für eine Position. 😅

JTL_DirectTableQuery ("
SELECT CONVERT(varchar( 10 ),dLieferdatum,104)
FROM tLieferantenBestellungPos
WHERE cArtNr = (
SELECT lvAuftragsposition.cArtNr
FROM Verkauf.lvAuftragsposition
JOIN dbo.tbestellpos ON tbestellpos.kBestellPos = Verkauf.lvAuftragsposition.kBestellpos
WHERE kBestellung = (
SELECT kBestellung
FROM dbo.tLieferschein
WHERE kLieferschein = "+str$(Report.InternalId,0,0)+")
AND (fAnzahl - ISNULL(fGeliefert,0) ) >0
AND nType IN (0,1))
AND fAnzahlOffen>0
order by dLieferdatum desc","¶","¶")

ich hatte gehofft durch das Direct Table Query würde ich für die nächsten Zeilen auch mit dem Lieferdatum füllen.

Ich wollte auch WHERE cArtNr IN
testen, aber leider haben wir grade keine Aufträge mit mehr als eine offene Position.

Ich glaube die Abfrage könnte man sicher vereinfachen und optimieren.
Probleme wären:
Artikel wurde nicht nach bestellt
Artikel hat mehr als eine Bestellung, da ich ja eigentlich nur die letzte nehme.

LG Marvin
 

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
86
Hallo,

was für ein Lieferdatum willst du denn da hinzufügen? Die anderen Artikel sind ja zum Zeitpunkt des Lieferscheins nicht versendet?
 

Marvin S.

Aktives Mitglied
30. Juni 2020
64
5
Hallo,

was für ein Lieferdatum willst du denn da hinzufügen? Die anderen Artikel sind ja zum Zeitpunkt des Lieferscheins nicht versendet?
Die anderen Artikel wären aber in Bestellung, wir wollten den Kunden vorab informieren wann er ca. mit dem 2ten Paket rechnen kann.

Kunde bestellt 10 Artikel, 2 davon sind noch nicht lieferbar und wählt Teillieferung.
Wir bestellen die 2 Fehlenden Artikel, machen die 8 Artikel Versand fertig.
Auf dem Lieferschein hätte ich nun neben der noch zuliefernde Ware ein Hinweis geschrieben das die 2 fehlenden Artikel erst am 19.9 bei uns Eintreffen.
 

Mark01000

Aktives Mitglied
9. April 2020
17
1
Hallo zusammen,

ich habe versucht die Vorlage zu installieren, bekomme aber eine Fehlrmeldung, dass ein Schlüssel nicht vorhanden ist (s.Anhang)

Ist doch richtig, dass ich das in den Druckvorlagen direkt an der richtigen Stelle importieren muss?? Sorry bin erst seit ein paar Wochen mit JTL unterwegs.

mfg
Mark
 

Anhänge

  • errorlog_20210115164754.txt
    12,6 KB · Aufrufe: 18

b-tool.ch

Aktives Mitglied
14. Juni 2018
81
14
Das ist zwar sehr nett, dass Philipp Laumen unter https://forum.jtl-software.de/threa...illieferung-auf-lieferschein-ausgeben.134840/ (dort keine Antwort möglich) eine neue Vorlage ins web gestellt hat (mit der anderen hat das bei uns nicht richtig geklappt). Allerdings klappt der Import nicht, es erscheint nur die Fehlermeldung: "Der angegebene Schlüssel war nicht im Wörterbuch angegeben" (andere Vorlagen lassen sich importieren).

Aufgrund der bisherigen Posts hier konnte ich tatsächlich ein Query schreiben, dessen sql-Abfrage das gewünschte Resultat liefert. Aber die Vorschau des Formulars zeigt dann zwar eine Tabelle mit der richtigen Anzahl Zeilen, aber auf jeder Zeile das erste Ergebnis der sql-Abfrage. Leider habe ich bisher keine Hinweise darauf gefunden, wie ein entsprechendes array gemacht und dargestellt werden kann.

Bisher habe ich auch noch nicht herausgefunden, wie ich den dotliquid Code einsehen und bearbeiten kann - und: was oder wo ist der "Spoiler"?

Ich bin froh um jeden Tipp, der mir hier weiter hilft.
mfg, Daniel Schär
 

Marvin S.

Aktives Mitglied
30. Juni 2020
64
5
Hallo Daniel,

meine letzte Version war folgende:
Code:
JTL_DirectTableQuery ("
SELECT lvAuftragsposition.cArtNr
FROM Verkauf.lvAuftragsposition
JOIN dbo.tbestellpos ON tbestellpos.kBestellPos = Verkauf.lvAuftragsposition.kBestellpos
WHERE kBestellung =        (SELECT kBestellung FROM dbo.tLieferschein WHERE kLieferschein = "+str$(Report.InternalId,0,0)+")
AND (fAnzahl - ISNULL(fGeliefert,0) ) >0
AND nType IN (0,1)
order by fZulauf desc offset 0 rows","¶","¶")

Code:
JTL_DirectTableQuery ("
SELECT lvAuftragsposition.cString
FROM Verkauf.lvAuftragsposition
JOIN dbo.tbestellpos ON tbestellpos.kBestellPos = Verkauf.lvAuftragsposition.kBestellpos
WHERE kBestellung =        (SELECT kBestellung FROM dbo.tLieferschein WHERE kLieferschein = "+str$(Report.InternalId,0,0)+")
AND (fAnzahl - ISNULL(fGeliefert,0) ) >0
AND nType IN (0,1)
order by fZulauf desc offset 0 rows","¶","¶")

Code:
JTL_DirectTableQuery ("
SELECT CONVERT (decimal(24,2) ,(fAnzahl)) AS Ausstehend
FROM Verkauf.lvAuftragsposition
JOIN dbo.tbestellpos ON tbestellpos.kBestellPos = Verkauf.lvAuftragsposition.kBestellpos
WHERE kBestellung =        (SELECT kBestellung FROM dbo.tLieferschein WHERE kLieferschein = "+str$(Report.InternalId,0,0)+")
AND (fAnzahl - ISNULL(fGeliefert,0) ) >0
AND nType IN (0,1)
order by fZulauf desc offset 0 rows","¶","¶")

Code:
JTL_DirectTableQuery ("
SELECT CONVERT (decimal(24,2) ,(fAnzahl - ISNULL(fGeliefert,0) )) AS Ausstehend
FROM Verkauf.lvAuftragsposition
JOIN dbo.tbestellpos ON tbestellpos.kBestellPos = Verkauf.lvAuftragsposition.kBestellpos
WHERE kBestellung =        (SELECT kBestellung FROM dbo.tLieferschein WHERE kLieferschein = "+str$(Report.InternalId,0,0)+")
AND (fAnzahl - ISNULL(fGeliefert,0) ) >0
AND nType IN (0,1)
order by fZulauf desc offset 0 rows","¶","¶")

Code:
JTL_DirectTableQuery ("
SELECT CONVERT(varchar( 10 ),dLieferdatum,104)
FROM tLieferantenBestellungPos
WHERE cArtNr IN (
    SELECT lvAuftragsposition.cArtNr
    FROM Verkauf.lvAuftragsposition
    JOIN dbo.tbestellpos ON tbestellpos.kBestellPos = Verkauf.lvAuftragsposition.kBestellpos
    WHERE kBestellung = (
        SELECT kBestellung
        FROM dbo.tLieferschein
        WHERE kLieferschein = "+str$(Report.InternalId,0,0)+")
    AND (fAnzahl - ISNULL(fGeliefert,0) ) >0
    AND nType IN (0,1)
    order by fZulauf desc offset 0 rows) 
AND fAnzahlOffen>0","¶","¶")


Das Ergebnis schaut im optimal fall so aus. 1614604084460.png

leider erstellt das System sofort die Tabelle für die Liefertermine und gibt diese alle aus, wenn ein Termin nicht vorhanden ist, bleibt die Zelle leer und wir nicht mit "Wird bestellt" gefüllt.
Auch Artikel die eigentlich auf Lager sind werden mit genommen, wie hier das Quellwasser, das haben wir auf Lager aber es wurde ein Termin genannt, auch wenn keiner vorhanden ist für diesen Artikel.
 

b-tool.ch

Aktives Mitglied
14. Juni 2018
81
14
Hallo
Obwohl ich nach wie vor nicht fähig bin, aus einem JTL_DirectTableQuery eine richtige Tabelle zu produzieren (siehe oben) habe ich nun eine gar nicht so quick, hingegen ziemlich dirty Lösung gefunden, die unseren Bedürfnissen genügt:
Ich benutze ein JTL_DirectTableQuery, das als Resultat die ganze Tabelle liefert, welche dann in einem Textfeld dargestellt werden kann. Dazu habe ich mit folgendem Code die Variable @openposition_data kreiert:
JTL_DirectTableQuery ("
SELECT CONVERT (decimal(24,0) , lvAuftragsposition.fAnzahl), lvAuftragsposition.cString
FROM Verkauf.lvAuftragsposition
WHERE kBestellung =
(SELECT kBestellung
FROM dbo.tBestellung
WHERE cBestellNr = LEFT((SELECT cBestellNr
FROM dbo.tBestellung
WHERE kBestellung = (SELECT kBestellung FROM dbo.tLieferschein WHERE kLieferschein = "+str$(Vorgang.InterneLieferscheinnummer,0,0)+")) , 9))
"," x ","¶")

Erklärung:
Unsere Auftragsnummern bestehen aus 9 Zeichen. Die Teillieferungen erhalten die gleiche Auftragsnummer mit einem Suffix und der Auftrag mit der neunstelligen Nummer enthält dann nur noch die noch nicht aufgelieferten Artikel.
Um die Auftragspositionen auszulesen wird die Bestell-ID (kBestellung) benötigt. Das ist die ID der Bestellung, deren Auftragsnummer gleich den linken 9 Zeichen der Auftragsnummer der Teillieferung ist.
Die Teillieferung wird anhand der internen Lieferscheinnummer (Vorgang.InterneLieferscheinnummer bzw. bei den englischen Variabeln: Report.InternalId) gefunden.
Die ausgelesenen Daten (Anzahl und Name der fehlenden Auftragspositionen) werden durch " x ", und die Datenzeilen durch einen Zeilenvorschub getrennt, so dass eine Tabelle in der Form
2 x Artikel A
5 x Artikel B
herauskommt.
Das ganze kann dann in einem Textfeld dargestellt werden. Z.B.:
"¶******************************************************************************************************************¶Folgende Artikel fehlen und werden nachgeliefert:¶¶" + @openposition_data + "¶¶******************************************************************************************************************¶"
Das wichtigste daran sind die Zeilen mit den Sternchen, damit unsere Kunden auf den Hinweis aufmerksam werden, bevor sie anrufen und sich über die fehlenden Artikel beschweren.
Angezeigt wird das Textfeld nur, wenn die Auftragsnummer länger als 9 Zeichen ist. Dazu habe ich die Benutzervariable @auftragsnummer kreiert (mit Vorgang.Auftrag.Auftragsnummer hat es nicht geklappt):
JTL_DirectTableQuery ("
SELECT cBestellNr
FROM dbo.tBestellung
WHERE kBestellung = (SELECT kBestellung FROM dbo.tLieferschein WHERE kLieferschein = "+str$(Vorgang.InterneLieferscheinnummer,0,0)+")
"," ","¶")

Die Darstellungsoption lautet:
(Cond(Len(@auftragsnummer)>9,TRUE,FALSE))

P.S. Bei Lieferungen ohne Rückstände enthält die Variable @openposition_data die Positionen der Lieferung (da die Lieferung ja der Auftrag mit der neunstelligen Auftragsnummer ist). Durch Ändern der Darstellungsbedingung (Len(@auftragsnummer)>0) kann das Layout in der Vorschau begutachtet werden, auch wenn die letzte Lieferung keine Rückstände aufgewiesen hat.

Auch wenn das natürlich nicht eine besonders saubere Methode ist, hoffe ich trotzdem, dass diese Tipps helfen können, erboste Kundenreaktionen zu vermeiden.
mfg, Daniel
 

sjk

Sehr aktives Mitglied
16. Januar 2019
576
259
Moin zusammen,

Mit der 1.6 funktioniert das SQL vermutlich wegen geänderter Datenbankstrukturen nicht mehr. @Philipp Laumen gibt es in der 1.6 wieder passende Variablen, um eine OPOS Tabelle auf dem Lieferschein mit Bordmitteln umzusetzen oder müsste man sich hier wieder die passenden Tabellen für eine DirectQuery raussuchen?
 

itb-tim

Aktives Mitglied
1. Oktober 2021
27
4
Gibt's hierzu schon etwas neues? Würde uns auch interessieren, wie wir das am einfachsten mit der 1.6 umsetzen. Sämtliche Tabellen haben sich ja leider geändert, sodass die vorherige Lösung nicht mehr funktioniert.
 

sjk

Sehr aktives Mitglied
16. Januar 2019
576
259
Moin,
Hat mittlerweile jemand einen Weg gefunden, die ausstehenden Positionen auf dem Lieferschein ab der 1.6 auszugeben?
 

Philipp Laumen

Gesperrter Benutzer
16. Juli 2018
260
86
Hallo zusammen,

mittlerweile hat es sich wieder etwas beruhigt bei uns. Anscheinend besteht ja weiterhin Interesse an dieser Rückstandsanzeige. Ich werde mir das nochmal, zusammen mit dem Feedback von hier bezüglich vorr. Lieferdatum, zu Gemüte führen.
Ich werde das dann im Mainthread aktualisieren, dafür ist er ja da :)
 
  • Gefällt mir
Reaktionen: itb-tim
Ähnliche Themen
Titel Forum Antworten Datum
Beantwortet Eigener Export JTL Ameise Rückstände JTL Ameise - Eigene Exporte 1
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 0
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
Fehlerhafte Bestandsberechnung bei Stücklisten JTL-Wawi 1.9 0
Neu Rabatt auf Zahlungsart wird bei Lieferung ins EU-Ausland mit falscher MwSt berechnet? Betrieb / Pflege von JTL-Shop 0
Datenfiltereinstellung funktioniert bei Mail Vorlage nicht. JTL-Wawi 1.9 2
Neu Eingabefeld der PayPal Kreditkartenzahlung wird bei eingeloggten Kundenkonto nicht angezeigt JTL-Shop - Fehler und Bugs 1
Neu Wieder Rundungsdifferenzen bei Coupon! Shopware-Connector 2
Neu Alle Kindartikel in Beständen, bzw. bei Lager JTL-Wawi - Fehler und Bugs 1
Wichtig Änderungen bei der Installation des Shopify Connectors ab 01.01.2026 Shopify-Connector 0
Artikelnummern-Konflikt bei JTL-WaWi-Import aus Shopify, SEO-Ranking erhalten JTL-Wawi 1.10 1
Neu 503 Service Unavailable bei Payrexx Webhook nach Plugin-Update - wer hat das auch? Plugins für JTL-Shop 0
Neu DPD Fehler bei der Anmeldung JTL-ShippingLabels - Fehler und Bugs 1
Neu Fehler bei der Anmeldung nach Update auf 1.11.5 Installation von JTL-Wawi 11
letzter EK bei der Lagerbewertung JTL-Wawi 1.10 2
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 6
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 3
Bei Beschaffung wird keine Positionsnummer bei den Artikeln angezeigt JTL-Wawi 1.10 1

Ähnliche Themen