Neu Kunde: Rückstandsliste über alle offenen Auftragspositionen

  • Hinweis: Am 25.02.2025 zwischen 21:30 u. 22:30 Uhr - Einschränkungen beim Login und Erreichen folgender Dienste: FFN, Kundencenter, Admin, JTL-Shop, JTL-Wawi, Lizenzserver, ISI Gateway, Vouchers, Kassensysteme, Plan&Produce, Versand. Grund dafür ist ein Major Upgrade des OAuth-Dienstes. Vielen Dank für euer Verständnis!

designer

Offizieller Servicepartner
SPBanner
20. Juli 2009
261
19
In der Kundenübersicht ist eine Liste gewünscht über alle offenen Positionen eines Kunden mit folgenden Spalten:
Bestellnummer; Bestell-Datum; Anzahl-Ausstehend; ArtikelNummer; Artikelname
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: NetWerk

Happy

Moderator
Mitarbeiter
29. Juli 2011
496
120
Hückelhoven
Hallo @designer
versuche es mal mit folgendem SQL.
SQL:
select
tBestellung.cBestellNr as Bestellnummer
, CONVERT(varchar(MAX)
,dErstellt,104) AS "Bestell-Datum"
, Format(fAnzahl, 'F0', 'de-de') as "Anzahl-Ausstehend"
, cArtNr AS ArtikelNummer
, cString As Artikelname
from Verkauf.lvAuftragsposition
join dbo.tBestellung on tBestellung.kBestellung = Verkauf.lvAuftragsposition.kBestellung
where tKunde_kKunde = @key AND fAnzahlAuszuliefern > 0
 

NetWerk

Offizieller Servicepartner
SPBanner
21. Juni 2019
23
3
Das ist großartig! Wie könnte ich nun noch ein kundenindividuelles Feld (nämlich: erwarteter Liefertermin auf dem Artike) ergänzen???
 

NetWerk

Offizieller Servicepartner
SPBanner
21. Juni 2019
23
3
Hallole,
"Eigenes Feld" im Artikel. Feld heißt "Liefertermin".
Merci! Katharina
 

David_M

Aktives Mitglied
4. Januar 2011
99
19
Hallo zusammen,

vorab, wir arbeiten schon mit der Wawi 1.6, in der sich hier und da etwas in der Datenbankstruktur geändert hat.
Da wir die Übersicht allerdings auch ganz hilfreich finden hier einmal der Code. Einfach in der Kundenübersicht als "eigene Übersicht" einbauen:

SQL:
select
Verkauf.tAuftrag.cAuftragsNr as Auftragsnummer
,CONVERT(varchar(MAX)
,dErstellt,104) AS "Bestell-Datum"
,Format(fAnzahl, 'F0', 'de-de') as "Anzahl-Ausstehend"
,cArtNr AS Artikelnummer
from Verkauf.lvAuftragsposition
join Verkauf.tAuftrag on Verkauf.tAuftrag.kAuftrag = Verkauf.lvAuftragsposition.kAuftrag
join Verkauf.tAuftragPositionEckdaten on Verkauf.tAuftragPositionEckdaten.kAuftragPosition =  Verkauf.lvAuftragsposition.kAuftragPosition
where Verkauf.tAuftrag.kKunde = @Key AND Verkauf.tAuftragPositionEckdaten.fAnzahlOffen > 0

Grüße
David
 

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
304
10
Wir wollten ebenfalls eine Rückstandsliste erstellen, benötigten aber neben einigen Artikelinfos auch die externe Bestellnummer, welche wir als eigenes Feld in den Aufträgen haben. Hier die erweiterte SQL-Abfrage, ohne Gewähr:


SQL:
SELECT DISTINCT
Verkauf.tAuftrag.cAuftragsNr AS Auftragsnummer
,CASE WHEN Verkauf.tAuftragAttribut.kAttribut = '202' THEN Verkauf.tAuftragAttributSprache.cWertVarchar ELSE null END AS Bestellnummer
,CONVERT(varchar(MAX),dErstellt,104) AS "Bestell-Datum"
,Format(fAnzahl, 'F0', 'de-de') AS "Anzahl-Ausstehend"
,Verkauf.tAuftragPosition.cEinheit AS Einheit
,Verkauf.tAuftragPosition.cArtNr AS Artikelnummer
,Verkauf.tAuftragPosition.cName AS Artikelbezeichnung
,dbo.tArtikel.cBarcode AS GTIN
,dbo.tArtikel.cHAN AS MPN
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN Verkauf.tAuftragPositionEckdaten ON Verkauf.tAuftragPositionEckdaten.kAuftragPosition =  Verkauf.tAuftragPosition.kAuftragPosition
JOIN dbo.tArtikel ON dbo.tArtikel.kArtikel = Verkauf.tAuftragPosition.kArtikel
JOIN Verkauf.tAuftragAttribut ON Verkauf.tAuftragAttribut.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN Verkauf.tAuftragAttributSprache ON Verkauf.tAuftragAttributSprache.kAuftragAttribut = Verkauf.tAuftragAttribut.kAuftragAttribut
WHERE Verkauf.tAuftrag.kKunde = @Key AND Verkauf.tAuftragPositionEckdaten.fAnzahlOffen > 0

Um mir ein weiteres JOIN und eine sprachenabhängige Auswahl zu ersparen, suchen wir das eigene Feld "Bestellnummer" anhand dessen interner ID, welche in diesem Fall die 202 ist. Die passende ID für das eigene Feld der Wahl findet sich in der Tabelle dbo.tAttributSprache und müsste in Zeile 3 entsprechend angepasst werden.
Mit dem SELECT DISTINCT verhindern wir, dass in der Ausgabe Artikel doppelt angezeigt werden, wenn es mehrere eigene Felder gibt. Ursprünglich sollte das bereits beim JOIN abgefangen werden, so dass nur die Werte für dieses Attribut gezogen werden, aber damit hatte ich irgendwie kein Glück.
 

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
304
10
Leider kann ich meinen obigen Beitrag nicht mehr ändern, der Code erzeugt immer noch Dubletten in der Abfrage. Bei Aufträgen bei denen das eigene Feld "Bestellnummer" gefüllt ist, werden die Positionen jeweils einmal mit und einmal ohne die Bestellnummer ausgegeben. Ich bin leider noch nicht auf die richtige Lösung gekommen. Ursache hängt mit dem vorletzten JOIN zusammen, aber mir erschließt sich noch nicht warum.

Das DISTINCT hilft in diesem Fall nicht weiter, da die beiden Zeilen sich ja genau in diesem Feld unterscheiden.

Hat jemand eine Idee?

Folgender Code liefert mir die Rückstandsliste ohne das eigene Feld einwandfrei:

SQL:
SELECT
Verkauf.tAuftrag.cAuftragsNr AS Auftragsnummer
,CONVERT(varchar(MAX),dErstellt,104) AS "Bestell-Datum"
,Format(fAnzahl, 'F0', 'de-de') AS "Anzahl-Ausstehend"
,Verkauf.tAuftragPosition.cEinheit AS Einheit
,Verkauf.tAuftragPosition.cArtNr AS Artikelnummer
,Verkauf.tAuftragPosition.cName AS Artikelbezeichnung
,dbo.tArtikel.cBarcode AS GTIN
,dbo.tArtikel.cHAN AS MPN
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN Verkauf.tAuftragPositionEckdaten ON Verkauf.tAuftragPositionEckdaten.kAuftragPosition =  Verkauf.tAuftragPosition.kAuftragPosition
JOIN dbo.tArtikel ON dbo.tArtikel.kArtikel = Verkauf.tAuftragPosition.kArtikel
WHERE Verkauf.tAuftrag.kKunde = @Key AND Verkauf.tAuftragPositionEckdaten.fAnzahlOffen > 0

Und dieser Code liefert mir eine Liste mit Auftragsnummer und dem eigenen Feld "Bestellnummer" (mit ID 202):

SQL:
SELECT DISTINCT
Verkauf.tAuftrag.cAuftragsNr AS Auftragsnummer
,Verkauf.tAuftragAttributSprache.cWertVarchar  AS Bestellnummer
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN Verkauf.tAuftragPositionEckdaten ON Verkauf.tAuftragPositionEckdaten.kAuftragPosition =  Verkauf.tAuftragPosition.kAuftragPosition
JOIN dbo.tArtikel ON dbo.tArtikel.kArtikel = Verkauf.tAuftragPosition.kArtikel
INNER JOIN Verkauf.tAuftragAttribut ON Verkauf.tAuftragAttribut.kAuftrag = Verkauf.tAuftragPosition.kAuftrag AND Verkauf.tAuftragAttribut.kAttribut = '202'
JOIN Verkauf.tAuftragAttributSprache ON Verkauf.tAuftragAttributSprache.kAuftragAttribut = Verkauf.tAuftragAttribut.kAuftragAttribut
WHERE Verkauf.tAuftrag.kKunde = @Key AND Verkauf.tAuftragPositionEckdaten.fAnzahlOffen > 0

Wie schreibt man das sinnvollerweise in einer Abfrage zusammen?
 
Zuletzt bearbeitet:

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
304
10
Ich denke, ich habe es jetzt hinbekommen. Wer möchte, kann/darf gerne testen:


SQL:
SELECT
Verkauf.tAuftrag.cAuftragsNr AS Auftragsnummer
,tBestellnummer.Bestellnummer AS Bestellnummer
,Verkauf.tAuftragPosition.cArtNr AS Artikelnummer
,Verkauf.tAuftragPosition.cName AS Artikelbezeichnung
,dbo.tArtikel.cBarcode AS GTIN
,dbo.tArtikel.cHAN AS MPN
,Format(fAnzahl, 'F0', 'de-de') AS "Anzahl-Ausstehend"
,Verkauf.tAuftragPosition.cEinheit AS Einheit
,FORMAT(Verkauf.tAuftragPosition.fVkNetto, 'N2') as "Netto Einzelpreis"
,FORMAT(Verkauf.tAuftragPosition.fRabatt, 'N2') as "Rabatt (%)"
,FORMAT(Verkauf.tAuftragPosition.fVkNetto*(100-Verkauf.tAuftragPosition.fRabatt)/100, 'N2') as "Netto Einzelpreis inkl. Rabatt"
,FORMAT(Verkauf.tAuftragPosition.fMwSt, 'N2') as "MwSt (%)"
,FORMAT(fAnzahl*(Verkauf.tAuftragPosition.fVkNetto*(100-Verkauf.tAuftragPosition.fRabatt)/100), 'N2') as "Summe Netto Preis inkl. Rabatt"
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN Verkauf.tAuftragPositionEckdaten ON Verkauf.tAuftragPositionEckdaten.kAuftragPosition =  Verkauf.tAuftragPosition.kAuftragPosition
JOIN dbo.tArtikel ON dbo.tArtikel.kArtikel = Verkauf.tAuftragPosition.kArtikel
LEFT JOIN (
SELECT Verkauf.tAuftragAttribut.kAuftrag AS ID, Verkauf.tAuftragAttributSprache.cWertVarchar AS Bestellnummer
                 FROM Verkauf.tAuftragAttribut
                 JOIN Verkauf.tAuftragAttributSprache ON Verkauf.tAuftragAttributSprache.kAuftragAttribut = Verkauf.tAuftragAttribut.kAuftragAttribut AND Verkauf.tAuftragAttribut.kAttribut = '202'
) AS tBestellnummer ON tBestellnummer.ID = Verkauf.tAuftragPosition.kAuftrag
WHERE Verkauf.tAuftrag.kKunde = @Key AND Verkauf.tAuftragPositionEckdaten.fAnzahlOffen > 0
 
  • Gefällt mir
Reaktionen: ngi
Ähnliche Themen
Titel Forum Antworten Datum
Neu Kunde zusammenführen - Die Kunden haben unterschiedliche Konten im selben Onlineshop User helfen Usern - Fragen zu JTL-Wawi 0
Neu HINWEIS: Wawi 1.9 - Eigenes Feld Kunde Typ Ganzzahl speichert nicht korrekt Werte <= 0 JTL-Wawi - Fehler und Bugs 14
JTL WaWi - Kunde - eigenes Feld - dotliquid - neue Variablen JTL-Wawi 1.9 1
Neu Festgelegte Zahlungsart für Kunde Allgemeine Fragen zu JTL-Shop 0
Neu Shop-Kundenkonto durch Shopbetreiber erstellt - Kunde bekommt keine Mail mehr! Allgemeine Fragen zu JTL-Shop 2
Bankverbindung aus Kunde in neuen Shop-Auftrag übernehmen JTL-Wawi 1.9 0
Neu Kunde automatisiert über Eingang der Retoure benachrichtigen JTL-Wawi - Ideen, Lob und Kritik 6
Neu Grundsätzlich mehrfach Versandlabel für Pakete über 30kg JTL-Workflows - Ideen, Lob und Kritik 0
Neu Truncate über mehere if Abfragen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Mindestabnahme bei Bestellungen über Einkaufsliste JTL-Wawi - Fehler und Bugs 5
Neu Über die Set Komponente den Produktionsplan finden JTL-Plan&Produce - Ideen, Lob und Kritik 0
Neu SQL Abfrage für offene Aufträge über Ameise User helfen Usern - Fragen zu JTL-Wawi 5
Neu Tabs in der Artikelbeschreibung > Mediendateien über Ameise Importieren/Exportieren JTL-Ameise - Ideen, Lob und Kritik 0
Verwiesen an Servicepartner Worfkflow, um die UK Bestellungen über amazon auf "Rechnungserstellung extern" setzen. JTL-Workflows - Fehler und Bugs 1
dbo.tRestApiRequestLog löschen nicht möglich über die JTL Admin Oberfläche JTL-Wawi 1.9 0
Neu Erstabgleich dauert bereits über 24 Stunden Shopware-Connector 0
Neu Warenkorb im Merkliste umbenennen, kein Verkauf über Shop , nur Angebote anfragen Allgemeine Fragen zu JTL-Shop 0
Neu Downloads über die standardmäßig angelegte Download Seite bereitstellen Betrieb / Pflege von JTL-Shop 3
Neu Aufträge über LS-POS erstellen und digitale Unterschrift anknüpfen Arbeitsabläufe in JTL-Wawi 0
Neu Preise der Variationen über Ameise anpassen, aber wie ? JTL-Ameise - Ideen, Lob und Kritik 3
Neu Verantwortliche Person über Ameise exportieren`? Schnittstellen Import / Export 2
In Bearbeitung Shared Key / Shared Secret bei EPSON-TSE über Bondrucker Allgemeine Fragen zu JTL-POS 1
In Diskussion Aufträge über WaWi App als bezahlt markieren JTL-Workflows - Ideen, Lob und Kritik 7
Änderung der Lieferadresse einer Verkaufsbestellung über die JTL-Wawi API JTL-Wawi 1.9 0
Neu Änderung der Lieferadresse einer Verkaufsbestellung über die JTL-Wawi API User helfen Usern - Fragen zu JTL-Wawi 0
Neu Lieferantenbestellung über Wawi via XML importieren Arbeitsabläufe in JTL-Wawi 0
Neu Leere Hersteller Felder über die Suche finden (GPSR) User helfen Usern - Fragen zu JTL-Wawi 2
Neu Sicherheitshinweise über Mediendateien hinzufügen JTL-Ameise - Fehler und Bugs 3
Otto-Anbindung über JTL Wawi und Produkt-Upload JTL-Wawi 1.9 0
Neu Mehrere Bescheibungen über Workflows o.ä. mit KI optimieren Arbeitsabläufe in JTL-Wawi 0
Neu Selbst gestaltete Versandlabels (z.B. mit Internetmarke über ShippingLabels) automatisch drucken? Wie macht Ihr das mit der Ausgabe? Arbeitsabläufe in JTL-Wawi 0
Neu Sitemap direkt über PHP JTL-Shop - Ideen, Lob und Kritik 0
In Diskussion Bestellte Artikel werden über alle Lager reserviert (WaWi + POS) JTL-Workflows - Fehler und Bugs 15
Neu Über Kurzbeschreibung hätte ich gerne ein Attribut stehen Templates für JTL-Shop 1
Neu Workflow für Otto.de Bestellungen über Amazon MCF Otto.de - Anbindung (SCX) 0
Neu Probleme beim Versand von Newslettern über JTL Shop 5 Allgemeine Fragen zu JTL-Shop 2
Neu Auswertungen über Verkauf minus Retouren Arbeitsabläufe in JTL-Wawi 3
Neu JTL Shop 5.3.X - Fehlerhafte Artikellinks bei Export über Exporte-Manager JTL-Shop - Fehler und Bugs 1

Ähnliche Themen