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

bigloopfan

Sehr aktives Mitglied
20. Februar 2010
681
26
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

Moderator
Mitarbeiter
16. Juli 2018
239
68
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

Moderator
Mitarbeiter
16. Juli 2018
239
68
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 -%}
 

tmIT

Aktives Mitglied
15. Mai 2017
4
0
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

Moderator
Mitarbeiter
16. Juli 2018
239
68
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.

Mitglied
30. Juni 2020
63
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

Moderator
Mitarbeiter
16. Juli 2018
239
68
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.

Mitglied
30. Juni 2020
63
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

Mitglied
9. April 2020
10
0
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: 2

b-tool.ch

Aktives Mitglied
14. Juni 2018
19
3
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.

Mitglied
30. Juni 2020
63
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
19
3
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
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Lagerbestand bei Stücklistenartikeln werden nicht abgezogen bei Stammartikel JTL-Wawi - Fehler und Bugs 1
Neu Fehler bei Wareneingang JTL-Wawi - Fehler und Bugs 0
Neu CSS Klasse gesucht: Streichpreis bei Sonderpreisen Templates für JTL-Shop 2
Zahlungsart bzw. Versandart bei sofort lieferbaren Artikeln Einrichtung JTL-Shop5 0
Neu Fehler bei der Suche in der Version 4.05 geht nicht JTL-Shop - Fehler und Bugs 2
Neu Leider gibt es nach wie vor Fehler bei der Ausgabe von Adressetiketten JTL-Wawi - Fehler und Bugs 0
Neu Fehler bei Installation der Community Free Version Einrichtung JTL-Shop5 2
Neu Newsletter Checkbox bei Registrierung / Bestellung Einrichtung von JTL-Shop4 0
Neu Taric Code wird auch bei Versandkosten angezeigt Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Error 500 und Forbidden 403 Bei Plugin Backend Aufruf Plugins für JTL-Shop 0
Neu Bei Paypal Express keine Checkboxen (DSGVO) notwenig ? Plugins für JTL-Shop 3
Neu Bei Auswahl einer Variation eine Javascript-Funktion aufrufen/nachladen Templates für JTL-Shop 5
Neu Keine automatische Rechnungserstellung bei Amazon FBA-Bestellungen mit mehreren Teillieferungen Arbeitsabläufe von eazyAuction 1
Neu Versandvorlage bei Versanddatenimport setzen Schnittstellen Import / Export 0
Neu Es wird 0 Bestand bei Ebay angezeigt trotz laufender Ebay-Auktion eBay-Anbindung - Fehler und Bugs 0
Neu Fehler bei starten von JTL Client JTL-Wawi - Fehler und Bugs 5
In Diskussion Wiederkehrender Workflow für Priorisierungen bei Logistikspitzen JTL-Workflows - Ideen, Lob und Kritik 1
In Bearbeitung Bei neuen Bon und Scanner Einsatz stürtzt POS ab. JTL-POS - Fehler und Bugs 3
Neu Feste Lieferadresse bei Kategorie hinterlegen Allgemeine Fragen zu JTL-Shop 4
Neu Lieferzeitanzeige bei "Überverkäufe möglich" Allgemeine Fragen zu JTL-Shop 3
Neu Das gleiche Bild bei mehreren Artikeln hinterlegen Arbeitsabläufe in JTL-Wawi 0
Neu Charge und MHD bei Stücklisten Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Wie kann man bei einem Shop-Update informiert werden? Betrieb / Pflege von JTL-Shop 2
Beantwortet Lässt sich die Passwortabfrage bei Start von JTL-WMS / JTL-Packtisch+ überspringen? Installation von JTL-WMS / JTL-Packtisch+ 4
Neu Bei Änderung in Kollektion werden in Shopify Title und Description in Englisch angezeigt (Langify) Shopify-Connector 1
Lieferzeitenangabe eines Artikels im Warenkorb bei Überverkauf Einrichtung JTL-Shop5 0
Neu Fehlerhafte Email-Syntax - aber unklar bei welcher Email JTL-Shop - Fehler und Bugs 2
Neu Bug bei der Info-Meldung Eindeutige Linkgruppenbezeichnung JTL-Shop - Fehler und Bugs 0
Gelöst WMS Probleme bei der Abbuchung und eventuelles verzichten auf Picklisten Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 3
Gelöst Probleme bei der Einrichtung von WMS Installation von JTL-WMS / JTL-Packtisch+ 2
Neu Neue Formulare: Darstellung nur in PDF Anhang bei Mail? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Artikel bei ebay einstellen geht nicht eBay-Anbindung - Fehler und Bugs 0
Neu Artikel mit Lagerbestand - Überverkäufe im Shop - Bestand bei Ebay automatisch füllen JTL-Wawi - Ideen, Lob und Kritik 2
Gelöst keine Lagerauswahl bei WMS Mobile Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu Mailvorlage: Land bei Kunde = DEUTSCHLAND, bei Lieferadresse aber nur DE Einrichtung von JTL-Shop4 4
Neu Fehlermeldungen bei Neu-Installation von Shop5 Installation / Updates von JTL-Shop 5
Neu Mindestbestellmengen bei Amazon-Listungen Amazon-Anbindung - Ideen, Lob und Kritik 1
In Diskussion Packstation: Buchstaben bei Adresszusatz JTL-Workflows - Fehler und Bugs 4
Neu Keine Daten bei Google Analytics (Google Codes) Plugins für JTL-Shop 1
Update von JTL Shop 4 auf 5 bei externer WaWi Upgrade JTL-Shop4 auf JTL-Shop5 5
Neu Probleme bei der Übertragung der Bilder Shopify-Connector 4
Neu Artikelseiten stehen bei Google auf noindex Betrieb / Pflege von JTL-Shop 13
Neu Auswahl Liste vs. Galerie fehlt bei Mobil Allgemeine Fragen zu JTL-Shop 2
Neu Bei abweichender Lieferadresse diese automatisch in den Auftrag übernehmen Arbeitsabläufe in JTL-Wawi 24
Offen WMS hängt sich auf bei Wareneingang JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu Automatische Rechnung bei neuer Zahlungsart wird nicht erstellt User helfen Usern - Fragen zu JTL-Wawi 1
Beantwortet Lieferzeiten bei Artikeldetails anzeigen Einrichtung JTL-Shop5 2
Neu Brother Endlosetiketten bei List & Label Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu 1.5.44.0 - Falsche Lagerbestände bei Artikeln ohne Lagerbestand JTL-Wawi - Fehler und Bugs 0
Offen Einstellung: Preisänderung durch höhere Einkaufspreise bei Bestand 0 bzw. 1 JTL-Workflows - Ideen, Lob und Kritik 0

Ähnliche Themen