Neu Eigene Übersicht in Aufträgen - Anzeige der verfügbaren Lagerstände in unterschiedlichen Lagern

C.lagler

Aktives Mitglied
26. November 2021
6
0
Wir haben den Bedarf, dass wir einen verfügbaren Lagerstand in unterschiedlichen Lagern im Verkauf benötigen. Der Verfügbarkeitsstand in den Artikelstammdaten bezieht sich ja leider nur auf alle Lager.
Daher haben wir eine eigene Übersicht entwickelt die allerdings einen kleinen Fehler hat: Sobald ein Artikel mehrfach auf einem Auftrag aufscheint sind die angezeigten Mengen nicht mehr korrekt. Die SQL Abfrage sieht wie folgt aus:

SELECT tArtikel.cArtNr as Artikelnummer,

ROUND(CONVERT(FLOAT, SUM(CASE WHEN tlagerbestandProLagerLagerartikel.kWarenlager = 1 THEN tlagerbestandProLagerLagerartikel.fBestand END)
-
Coalesce(

(
SELECT
SUM(inner_pos.nAnzahl) AS inAuftrag
FROM tBestellpos inner_pos
INNER JOIN tBestellung inner_be ON inner_pos.tBestellung_kBestellung = inner_be.kBestellung
LEFT OUTER JOIN tArtikel inner_art ON inner_pos.tArtikel_kArtikel = inner_art.kArtikel

WHERE
inner_art.kArtikel = tArtikel.kArtikel
AND inner_be.nStorno = 0 AND
inner_be.nKomplettAusgeliefert = 0 AND
inner_be.cType = 'B' AND
inner_be.kFirma = 1
)
,0)
+
Coalesce(

(
SELECT
(SUM(inner_lspos2.fAnzahl)) AS inAuftrag
FROM tBestellpos inner_pos2
INNER JOIN tBestellung inner_be2 ON inner_pos2.tBestellung_kBestellung = inner_be2.kBestellung
INNER JOIN tArtikel inner_art2 ON inner_pos2.tArtikel_kArtikel = inner_art2.kArtikel
LEFT OUTER JOIN tLieferscheinPos inner_lspos2 ON inner_pos2.kBestellPos = inner_lspos2.kBestellPos
WHERE
inner_art2.kArtikel = tArtikel.kArtikel
AND inner_be2.nStorno = 0 AND
inner_be2.nKomplettAusgeliefert = 0 AND
inner_be2.cType = 'B' AND
inner_be2.kFirma = 1
)
,0)

),2) AS Verfügbar_Wernberg,


ROUND(CONVERT(FLOAT, SUM(CASE WHEN tlagerbestandProLagerLagerartikel.kWarenlager = 2 THEN tlagerbestandProLagerLagerartikel.fBestand END)

-
Coalesce(

(
SELECT
(SUM(inner_pos.nAnzahl)) AS inAuftrag
FROM tBestellpos inner_pos
INNER JOIN tBestellung inner_be ON inner_pos.tBestellung_kBestellung = inner_be.kBestellung
INNER JOIN tArtikel inner_art ON inner_pos.tArtikel_kArtikel = inner_art.kArtikel
LEFT OUTER JOIN tLieferscheinPos inner_lspos ON inner_pos.kBestellPos = inner_lspos.kBestellPos
WHERE
inner_art.kArtikel = tArtikel.kArtikel
AND inner_be.nStorno = 0 AND
inner_be.nKomplettAusgeliefert = 0 AND
inner_be.cType = 'B' AND
inner_be.kFirma = 2
)
,0)
+
Coalesce(

(
SELECT
(SUM(inner_lspos2.fAnzahl)) AS inAuftrag
FROM tBestellpos inner_pos2
INNER JOIN tBestellung inner_be2 ON inner_pos2.tBestellung_kBestellung = inner_be2.kBestellung
INNER JOIN tArtikel inner_art2 ON inner_pos2.tArtikel_kArtikel = inner_art2.kArtikel
LEFT OUTER JOIN tLieferscheinPos inner_lspos2 ON inner_pos2.kBestellPos = inner_lspos2.kBestellPos
WHERE
inner_art2.kArtikel = tArtikel.kArtikel
AND inner_be2.nStorno = 0 AND
inner_be2.nKomplettAusgeliefert = 0 AND
inner_be2.cType = 'B' AND
inner_be2.kFirma = 2
)
,0)


),2) AS Verfügbar_Klagenfurt


FROM tBestellung

INNER JOIN tBestellpos ON tBestellung.kBestellung = tBestellpos.tBestellung_kBestellung
INNER JOIN tArtikel ON tBestellpos.tArtikel_kArtikel = tArtikel.kArtikel
INNER JOIN tlagerbestandProLagerLagerartikel ON tArtikel.kArtikel = tlagerbestandProLagerLagerartikel.kArtikel

WHERE tBestellung.kBestellung = @Key

GROUP BY tArtikel.kArtikel,tArtikel.cArtNr

Eine ähnliche Abfrage in der Artikelübersicht funktioniert.
Wenn diesen Code jemand braucht, bitte gerne melden.

Ich hoffe es kann mir jemand bei diesem Code weiterhelfen.

Besten Dank vorab.
 

Patrizia

Sehr aktives Mitglied
19. September 2010
481
59
Mir zu unterstellen, dass ich rudimentäre Ahnung von SQL habe, wäre eine Übertreibung.
Aber ich habe das gleiche Problem und mein Freund ChatGPT war hilfsbereit.
Ich bin ehrlich gesagt platt vom Ergebnis her. Er pröpfelt manchmal herum und macht Fehler und korrigiert sie dann falsch, aber wenn man ein wenig logisch mitdenken kann und immer wieder dahin zurückgeht, wo es funktioniert hat, dann kommt ein Ergebnis heraus, das genau das tut, was ich wollte und was ich in 100 Jahren nicht zustande gebracht hätte.
Mein einziger echter Beitrag war die Filterung auf Artikel mit Bestand, Artikelsprache nur deutsch (sonst kommt jede Zeile für jede Sprache) und die Plattform ( Wawi) ansonsten kommt jede Zeile auch für jede Plattform.

Zwei Schönheitsfehler: Kindartikel müssen aus dem oberen Hauptfenster heraus angewählt werden, nicht aus dem unteren Fenster und man kann immer nur einen Artikel auswählen.

Versuch mal, ob es was hilft:

SELECT
SKU,
Artikelname,
Lager,
Bestand,
Lagerwert
FROM
(
SELECT
'Summe' AS SKU,
NULL AS Artikelname,
NULL AS Lager,
FORMAT(SUM(fBestand), '#,0') AS Bestand,
FORMAT(SUM(fBestand * TA.fEkNetto), '#,0') AS Lagerwert,
0 AS OrderFlag
FROM
tlagerbestandProLagerLagerartikel LPL
LEFT JOIN
tArtikel TA ON LPL.kArtikel = TA.kArtikel
LEFT JOIN
tWarenlager TL ON LPL.kWarenlager = TL.kWarenLager
LEFT JOIN
tArtikelBeschreibung TAB ON TA.kArtikel = TAB.kArtikel
WHERE
TA.kArtikel = @keys
AND fBestand > 0
AND kSprache = 1
AND kPlattform = 1

UNION ALL

SELECT
cArtNr AS SKU,
TAB.cName AS Artikelname,
TL.cName AS Lager,
FORMAT(fBestand, '#,0') AS Bestand,
FORMAT(fBestand * TA.fEkNetto, '#,0') AS Lagerwert,
1 AS OrderFlag
FROM
tlagerbestandProLagerLagerartikel LPL
LEFT JOIN
tArtikel TA ON LPL.kArtikel = TA.kArtikel
LEFT JOIN
tWarenlager TL ON LPL.kWarenlager = TL.kWarenLager
LEFT JOIN
tArtikelBeschreibung TAB ON TA.kArtikel = TAB.kArtikel
WHERE
TA.kArtikel = @keys
AND fBestand > 0
AND kSprache = 1
AND kPlattform = 1
) AS Result
ORDER BY
OrderFlag DESC,
CASE WHEN SKU IS NULL THEN 1 ELSE 0 END,
CAST(Bestand AS INT) DESC;
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Eigene Übersicht Artikel - Zulaufsübersicht - Stückliste Eigene Übersichten in der JTL-Wawi 0
Neu Eigene Felder Checkbox Inhalt bzw. Text bei Mouseover anzeigen JTL-Wawi - Ideen, Lob und Kritik 0
Neu Eigene Seiten mit Plugin erstellen Technische Fragen zu Plugins und Templates 1
Neu Eigene Felder Lieferschein User helfen Usern - Fragen zu JTL-Wawi 1
Neu Eigene Felder (Kunde) in csv-Datei per Ausgabe (Auftrag oder Lieferschein) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Eigene Felder des Auftrages in der Druckvorlage Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Eigene Felder für Ebay-Listings verwenden JTL-Wawi 1.8 0
Neu Eigene Felder im Verkauf als Spalten anzeigen User helfen Usern - Fragen zu JTL-Wawi 4
Eigene Felder in alte Vorlagen JTL-Wawi 1.8 5
In Diskussion eigene CustomWorkflows anlegen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Artikel - Sprachen - Alle eigene SEO URL? Smalltalk 1
Neu Barcode Anpassung in Artikeletikett anhand Eigene Felder Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Eigene Übersichten, Artikelhistorie Eigene Übersichten in der JTL-Wawi 4
Neu Sind eigene Felder im Artikel in einer neueren Wawi-Version von Anfang an sichtbar? User helfen Usern - Fragen zu JTL-Wawi 8
Eigene Auswertung JTL-Wawi 1.8 1
Neu Eigene Seiten Priority in der Sitemap ändern Allgemeine Fragen zu JTL-Shop 5
Neu Zulauf in einer Übersicht unter Versand/Lieferscheine? Eigene Übersichten in der JTL-Wawi 1
Kennzahlen Übersicht für JTL Wawi - Wirtschaftliche Auswertung JTL-Wawi 1.8 0
Neu Skonto Anzeige in der Übersicht User helfen Usern - Fragen zu JTL-Wawi 5
Neu SQL Abfrage wird mehrfach ausgeführt - Ausgabe in der Übersicht falsch Eigene Übersichten in der JTL-Wawi 8
Neu Versandart schon in der Übersicht ändern anstatt den ganzen Auftrag zu öffnen JTL-Wawi - Ideen, Lob und Kritik 0
Artikel Übersicht leer JTL-Wawi 1.8 2
Neu Übersicht verkaufte Artikel mit Hinweis-Spalte Eigene Übersichten in der JTL-Wawi 0
Neu Beschaffung -> Bestellungen Übersicht = Filterung der Bestellungen JTL-Wawi - Ideen, Lob und Kritik 0
Neu eBay zusammenfassen von Aufträgen und Buchhaltung User helfen Usern - Fragen zu JTL-Wawi 0
Falsche Bankverbindung bei (alten) Aufträgen aus Abonnements JTL-Wawi 1.8 0
Fehler beim erstellen von Aufträgen JTL-Wawi App 2
Neu Bankverbindung wird nicht in Aufträgen/Rechnungen aus Abonnements aktualisiert User helfen Usern - Fragen zu JTL-Wawi 0
Dropshipping Rechnungen den Aufträgen zuordnen JTL-Wawi 1.8 0
Teillieferungen aus Aufträgen JTL-Wawi 1.8 0
Neu Fehler beim erstellen von Aufträgen. Digitale Unterschrift im Auftrag. JTL-Wawi - Fehler und Bugs 0
Ameisen Import von Aufträgen: Zahlungsziel in Tagen immer 0 JTL-Wawi 1.8 1
Neu Beim duplizieren von Aufträgen werden alte Daten übernommen Arbeitsabläufe in JTL-Wawi 11

Ähnliche Themen