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
69
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
69
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
69
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
69
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
13
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
27
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
27
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 Fehler bei Überschreibung der Artikelnummern Shopify-Connector 3
Neu Falsche VAT Nr bei Versand DE GB mit UK Vat ID JTL-Wawi - Fehler und Bugs 0
Neu Falscher Steuersatz (19%) bei ungültiger VAT-ID eines ausländischen Kunden (VCS lite Rechnung) seit OSS Umstellung Amazon-Anbindung - Fehler und Bugs 1
Neu Fehler - weiße seite bei sprach wechsel auf englisch JTL-Shop - Fehler und Bugs 3
Neu Preisanzeige bei Staffel und Variation Allgemeine Fragen zu JTL-Shop 0
weiße Seite HTTP ERROR 500 bei Schritt 4: Migration auf InnoDB/UTF-8 vornehmen Upgrade JTL-Shop4 auf JTL-Shop5 14
Neu Kurioses Problem bei Artikeln mit Freitext Variationen Allgemeine Fragen zu JTL-Shop 1
Neu Zahlungsart PayPal nur bei sofort lieferbaren Artikeln - Änderung der Versandklasse oder andere Lösung Arbeitsabläufe in JTL-Wawi 0
SSL-/TLS-Platzhalterzertifikat bei Plesk einrichten für Mailversand (JTL-Hosting) Einrichtung JTL-Shop5 1
Neu Farbliche Markierung bei Lieferantenbestellungen User helfen Usern - Fragen zu JTL-Wawi 0
Gelöst Probleme mit Umlauten bei Mediendatei JTL-Wawi - Fehler und Bugs 2
Neu Servicedesk Fehlermeldung bei Versand von Rechnungen als PDF Anhang Servicedesk (Beta) 3
Beantwortet Druck Auftrag bei Pickliste erstellt JTL-Workflows - Fehler und Bugs 8
Beantwortet Workflow Mail versenden bei neuem Unicorn Auftrag geht nicht JTL-Workflows - Fehler und Bugs 4
Neu NOVA Template - dunkler Hintergrund bei ausklappendem Megamenu Templates für JTL-Shop 4
Neu Artikel bei Stücklisten hinzufügen User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Eingabe der MRN Nummer bei elektronischer Ausfuhranmeldung JTL-ShippingLabels - Ideen, Lob und Kritik 3
Gelöst Workflow Bestandscheck bei Minusbuchung JTL-Workflows - Ideen, Lob und Kritik 4
Neu Währungsproblem bei Verkäufen auf Amazon Schweden, Polen und Türkei Einrichtung und Installation von JTL-eazyAuction 1
Neu Rechnungslayout zeigt keinen Artikelnamen und keine Menge bei einer bestimmten Schnittstelle / Marktplatz Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Problem bei der Preisanzeige User helfen Usern - Fragen zu JTL-Wawi 1
Neu Brauche Hilfe bei einem Template - nicht alle if-Anweisungen funktionieren Dienstleistung, Jobs und Ähnliches 0
Neu Probleme bei Paypal Plus Plugins für JTL-Shop 0
Neu E-Mail Benachrichtigung bei neuer JTL Shop Version Installation / Updates von JTL-Shop 0
Neu Wawi überträgt bei jedem Abgleich alle Artikel. JTL-Shop - Fehler und Bugs 4
Neu Google Shopping Plugin mit korrektem Steuerausweis bei den Versandkosten? Plugins für JTL-Shop 9
Neu Auftragswert Netto und Auftragswert Brutto hinzu column bei Nicht bezahlt User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL-Wawi Fehler bei der Anmeldung JTL-Wawi - Fehler und Bugs 3
In Bearbeitung Fehler bei mehreren gleichen Produkten Allgemeine Fragen zu JTL-POS 3
Neu Alle Artikel werden übertragen bei Shopabgleich nach Datenbankumzug JTL-Wawi - Fehler und Bugs 1
Issue angelegt Benachrichtigung bei Wareneingang von Lieferantenbestellung JTL-Workflows - Ideen, Lob und Kritik 3
Neu Skonto bei automatischer Zahlungszuweisung identifizieren Arbeitsabläufe in JTL-Wawi 0
Neu Shopware 6 - Probleme bei Produktbildern Shopware-Connector 1
Neu Auftrag kann nicht ausgeliefert werden, obwohl das Häkchen bei "Auslieferung vor Zahlungseingang möglich" gesetzt wurde. User helfen Usern - Fragen zu JTL-Wawi 2
Gelöst DRINGEND: Fehlermeldung bei Auftragssplit im WMS JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 6
Neu Preiskalkulation für Onlineshop-Produkte bei Kundengruppe XYZ User helfen Usern - Fragen zu JTL-Wawi 3
Neu Fehler bei Übertragung (413) Request Entity Too Large + The EntityManger is closed Shopware-Connector 7
Neu Workflows bei Verbindung über Vodafone laufen deutlich länger als über Telekom User helfen Usern - Fragen zu JTL-Wawi 17
Neu Import bricht bei mehr als 10 Produkten ab. WooCommerce-Connector 2
Neu Canonical Link bei Eigenen Inhaltsseiten falsch JTL-Shop - Fehler und Bugs 1
Neu Menge bei Zusammenführung wird zusammengefasst Arbeitsabläufe in JTL-Wawi 4
Neu Set-Artikel - bei einer bestimmten, enthaltenen Zeichenfolge soll der TARIC-Code ein- bzw. ausgeblendet werden Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Beschreibungstext bei Merkmal wird nicht übernommen, Bug 1.5.30.0 JTL-Wawi - Fehler und Bugs 3
Neu Logindaten als Log gespeichert bei JTL Wawi? User helfen Usern - Fragen zu JTL-Wawi 0
Verwiesen an Support Bei wem ist das Shipping (Erstellen von Versandscheinen auch manchmal sehr langsam bis hin zu abbrüchen?) JTL-ShippingLabels - Fehler und Bugs 3
Neu Versandkostenanzeige bei Artikelpreis Allgemeine Fragen zu JTL-Shop 2
JTL Shop 5: Warenkorb - Fehler bei Steuer B2B-Kunden? Ausblenden der Versandkosten, wenn 0,00 € möglich? Einrichtung JTL-Shop5 2
Neu Negativer Rabattwert wird bei Auftragserstellung zu Nullpreis User helfen Usern - Fragen zu JTL-Wawi 0
Neu AUfträge nur unter "Kunden" und nicht bei Verkäufe User helfen Usern - Fragen zu JTL-Wawi 2
Neu SW5: bei Connectorkonfiguration Fehlermeldung Shopware-Connector 0

Ähnliche Themen