Neu Verkauf (F6) - Fehlbestände aus allen auftragen auf einen Blick + Zulauf

Zef

Aktives Mitglied
15. April 2020
32
8
Hallo Zusammen,

vielleicht kann uns einer hier helfen, leider kriegen wir das selbst nicht hin.

Wir bräuchten eine Eigene Übersicht die uns unter VERKAUF - Aufträge ohne Rechnung - Alle Fehlpositionen (nicht verfügbare Positionen) aus den markierten und bezahlten Aufträgen auf ein mal anzeigt, inklusive Zulauf und idealerweise mit LS und Lieferant damit man weißt ob der Artikel heute vielleicht kommt oder erst morgen. ( Man kann zwar über Artikel nach Verfügbarkeit schauen, aber da werden auch nicht bezahlte Auftrage mit berücksichtigt was oft für Verwirrung sorgt, da wir uns mit Artikeln beschäftigen die in auftragen sind die noch nicht bezahlt sind und somit aktuell gar nicht relevant sind.)

Artikel-Nr. / Artikelname / Fehlpositionen (aus den markierten Aufträgen) / Lagerbestand Gesamt / Im Zulauf / Lieferant / Lieferscheine-Lieferant /

Eine solche Übersicht würde uns im Lager die Arbeit echt erleichtern. Vielen Dank im Voraus :)
 
  • Gefällt mir
Reaktionen: 414orgkom

merres

Mitglied
28. März 2024
8
1
SQL:
WITH PaidOrders AS (
    SELECT DISTINCT kAuftrag
    FROM [eazybusiness].[Verkauf].[tAuftragEckdaten]
    WHERE nZahlungStatus = 2
),
OrderPositionsWithoutInvoice AS (
    SELECT
        ap.kAuftrag,
        ap.kArtikel,
        a.cAuftragsNr AS Auftragsnummer,
        ap.cArtNr,
        ap.cName AS ArtikelName,
        ap.fAnzahl,
        ap.fVerfuegbar,
        ap.fOffeneAuftragsmenge,
        ap.fFehlbestand
    FROM [eazybusiness].[Verkauf].[lvAuftragsposition] ap
    INNER JOIN PaidOrders po ON ap.kAuftrag = po.kAuftrag
    INNER JOIN [eazybusiness].[Verkauf].[tAuftrag] a ON ap.kAuftrag = a.kAuftrag
    LEFT JOIN [eazybusiness].[Verkauf].[lvRechnungsposition] rp ON ap.kAuftrag = rp.kAuftrag AND ap.kArtikel = rp.kArtikel
    WHERE ap.fFehlbestand > 0
      AND rp.kRechnungPosition IS NULL
),
IncomingStock AS (
    SELECT
        bp.kArtikel,
        SUM(bp.fMenge - bp.fMengeGeliefert) AS fZulauf,
        MIN(b.dLieferdatum) AS dNextDelivery,
        STRING_AGG(CONVERT(NVARCHAR(20), b.cBestellnummer), ', ') AS cBestellnummern,
        STRING_AGG(b.cLieferantName, ', ') AS cLieferanten
    FROM [eazybusiness].[Beschaffung].[lvBestellung] b
    INNER JOIN [eazybusiness].[Beschaffung].[lvBestellPositionen] bp ON b.kBestellung = bp.kBestellung
    WHERE b.nStatus < 500
      AND b.dLieferdatum >= GETDATE()
      AND bp.fMenge > bp.fMengeGeliefert
    GROUP BY bp.kArtikel
)
SELECT
    op.kAuftrag AS AuftragNr,
    op.Auftragsnummer,
    op.kArtikel AS ArtikelID,
    op.cArtNr AS Artikelnummer,
    op.ArtikelName,
    op.fAnzahl AS BestellteMenge,
    op.fVerfuegbar AS VerfuegbareMenge,
    op.fOffeneAuftragsmenge AS OffeneMenge,
    op.fFehlbestand AS Fehlbestand,
    COALESCE(ins.fZulauf, 0) AS Zulauf,
    COALESCE(CONVERT(NVARCHAR, ins.dNextDelivery, 104), 'Kein Zulauf') AS NaechsteLieferung,
    COALESCE(ins.cBestellnummern, 'Keine Bestellung') AS Bestellnummern,
    COALESCE(ins.cLieferanten, 'Kein Lieferant') AS Lieferanten,
    CASE
        WHEN ins.dNextDelivery IS NULL THEN 'Nicht im Zulauf'
        WHEN ins.dNextDelivery = CAST(GETDATE() AS DATE) THEN 'Heute erwartet'
        WHEN ins.dNextDelivery = DATEADD(DAY, 1, CAST(GETDATE() AS DATE)) THEN 'Morgen erwartet'
        ELSE 'Später erwartet'
    END AS LieferStatus
FROM OrderPositionsWithoutInvoice op
LEFT JOIN IncomingStock ins ON op.kArtikel = ins.kArtikel
ORDER BY op.kAuftrag, op.kArtikel;

Thema ist zwar schon etwas älter, aber probiert es mal hiermit und gebt mir Rückmeldung :)
 
  • Gefällt mir
Reaktionen: frankell

frankell

Sehr aktives Mitglied
9. September 2019
380
186
Flensburg
Da ich selbst grad nen eigenen Anwendungsfall habe, hätte ich einen etwas anderen Approach:

SQL:
WITH BezahltOhneRechnung AS (
    SELECT DISTINCT kAuftrag, cAuftragsnummer
    FROM Verkauf.lvAuftragsverwaltung
    WHERE nZahlungStatus = 2 AND nRechnungStatus < 2 AND kAuftrag IN(@Keys)
),
LieferantenBestellungen AS (
    SELECT
        A.kArtikel,
        CASE WHEN EXISTS (SELECT 1 FROM tLieferantenBestellungPos WHERE fAnzahlOffen > 0 AND tLieferantenBestellungPos.kArtikel = A.kArtikel)
        THEN (SELECT STRING_AGG(
                    CAST(CAST(LBP.dLieferdatum AS DATE) AS NVARCHAR(40)) + ' - ' +
                    CAST(CAST(LBP.fAnzahlOffen AS INT) AS NVARCHAR(40)) + ' St. - ' +
                    LB.cLieferantName
                    , ' | ')
            FROM tLieferantenBestellungPos LBP
            JOIN Beschaffung.lvBestellung LB ON LBP.kLieferantenBestellung = LB.kBestellung
            WHERE LBP.fAnzahlOffen > 0 AND LBP.kArtikel = A.kArtikel)
        ELSE 'Keine Lieferantenbestellung'
        END  AS 'Lieferdaten'
    FROM tArtikel AS A
)
SELECT
    ART.cArtNr AS 'ArtNr.',
    ART.cName AS 'ArtName',
    STRING_AGG(A.cAuftragsnummer, ' | ') AS 'Aufträge',
    CAST(SUM(AP.fAnzahl) AS INT) AS 'Auftragsmenge',
    CAST(MAX(AP.fFehlbestand) AS INT) AS 'Fehlbestand',
    CAST(MAX(L.fLagerbestand) AS INT) AS 'Bestand',
    CAST(MAX(L.fVerfuegbar) AS INT) AS 'Verfügbar',
    CAST(MAX(L.fZulauf) AS INT) AS 'Zulauf',
    CAST(CAST(MAX(L.dLieferdatum) AS DATE) AS NVARCHAR(40)) AS 'früh. Lieferdatum',
    ISNULL(MAX(LB.Lieferdaten), 'Keine Lieferantenbestellung') AS 'Lieferungen'
FROM Verkauf.lvAuftragsposition AS AP
JOIN BezahltOhneRechnung AS A ON AP.kAuftrag = A.kAuftrag
JOIN vStandardArtikel AS ART ON AP.kArtikel = ART.kArtikel
JOIN tlagerbestand AS L ON ART.kArtikel = L.kArtikel
JOIN LieferantenBestellungen AS LB ON AP.kArtikel = LB.kArtikel
WHERE AP.fFehlbestand > 0
GROUP BY ART.cArtNr, ART.cName;

Ist etwas kompakter und fasst sowohl die Artikelzeilen als auch alle Infos zukünftiger Lieferungen zusammen, so dass zu jedem Artikel nur eine Zeile existiert.

Außerdem ist die Abfrage so angepasst, dass sie mit einer individuellen Auswahl an Aufträgen funktioniert. Soll sie pauschal immer alle Fehlbestände aller Aufträge anzeigen, die bezahlt sind und keine Rechnung besitzen (also ohne Auswahl), dann muss in der vierten Zeile "AND kAuftrag IN(@Keys)" entfernt werden. Oder aber man lässt die Query so und aktiviert einfach mit STRG+A alle Aufträge.
 
Zuletzt bearbeitet:
  • Ich liebe es
Reaktionen: merres

frankell

Sehr aktives Mitglied
9. September 2019
380
186
Flensburg
Für wen die Herangehensweise von @merres lieber ist: Auch dieser Code kann über die Ergänzung
AND kAuftrag IN(@Keys)
am Ende der vierten Codezeile fit für eine "Eigene Übersicht" in der Wawi mit Auswahlfunktionalität gemacht werden.
 
Ähnliche Themen
Titel Forum Antworten Datum
In Diskussion E-Mail an Lieferanten bei Verkauf einer seiner Artikel JTL-Workflows - Ideen, Lob und Kritik 4
Neu Gebinde oder verkauf in Boxen Gelöste Themen in diesem Bereich 3
Nur EU Verkauf JTL-Wawi 1.6 1
Neu Plattform zum Verkauf gebrauchter Lagerausstattung? User helfen Usern 1
[Bug] 🐞 Verkauf -> Rechnung -> Filter Dropdown [Alle Rechnungen, Rechnungen aus JTL Wawi, Importierte Rechnungen] Rotes X JTL-Wawi 1.9 0
Neu hat noch jemand eine Fritzbox 7590 (AX) übrig zum Verkauf ? Smalltalk 6
Im Bereich VERKAUF >> ANGEBOTE gibt es keine Details im Widgetfenster JTL-Wawi 1.9 1
Listenansicht Verkauf >> Angebote muss nach jedem Neustart neu sortiert werden JTL-Wawi 1.9 1
Neu Workflow der prüft, ob eine Bestellung komplett aus einem bestimmten Lager lieferbar ist. User helfen Usern - Fragen zu JTL-Wawi 5
Neu Alles aus dem Composer ist verschwunden Allgemeine Fragen zu JTL-Shop 1
Neu Liste verkaufter Artikel mit VK Fibu-Konto aus der Artikelkategorie User helfen Usern - Fragen zu JTL-Wawi 2
Neu Eigene Felder aus dem Auftrag in der Packtisch+ / WMS Ausgabe JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 4
Neu kKunde != InternerSchlüssel > Aus Shop den Internern Schlüssel der WaWi Technische Fragen zu Plugins und Templates 1
Lieferscheine -versendet / Eigene Übersicht: Kundenkategorie aus den Kundenstammdaten JTL-Wawi 1.8 3
Neu Biete: Bastel- und Schreibwarenartikel aus Ladenauflösung Dienstleistung, Jobs und Ähnliches 0
Neu Artikel Bild aus anderer Quelle importieren funktioniert nicht JTL-Wawi - Fehler und Bugs 4
Neu Rechnung per Email aus LS-Pos Fragen rund um LS-POS 0
Neu Fehler beim Zugrif aus die Datenbank (Exec Direct) JTL-Wawi - Fehler und Bugs 1
Neu Das JTL Shop gratis Plugin GPSR Verordnung - sieht mies aus, belastet die Datenbank, Excel Bearbeitung unmöglich Betrieb / Pflege von JTL-Shop 26
Neu Umzug aus der Subdomain in die Maindomain Allgemeine Fragen zu JTL-Shop 1
Neu Artikelbezeichnung aus Auftrag in Druckvorlage für Picklisten Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Neu Shop-Lizenz läuft aus User helfen Usern - Fragen zu JTL-Wawi 2
Neu Dokument aus Auftrag beim Packen Drucken User helfen Usern - Fragen zu JTL-Wawi 2
Angebote aus F10 / Plattformen => Weitere Plattformen löschen JTL-Wawi 1.9 0
Neu Eigenes Feld aus Kategorie im Shop anzeigen User helfen Usern - Fragen zu JTL-Wawi 1
Workflow DotLiquid: KomplettLieferbarAusLager zeigt FFN Lager an obwohl nicht komplett lieferbar aus diesem Lager JTL-Wawi 1.9 1
Rechnungslegung für verschiedene Bezahlarten aus B2B & B2C JTL-Wawi 1.9 1
Neu FBA Anlieferung aus der JTL-Wawi heraus --> Firmenname in der Absenderadresse wird nur noch als "-" dargestellt Amazon-Anbindung - Fehler und Bugs 1
Neu Wie Reklamationen aus Statistik ausschließen? Arbeitsabläufe in JTL-Wawi 2
Shop aus unterverzeichnis herausgeholt... Einrichtung JTL-Shop5 1
Wawi holt Bestellung aus Shop nicht ab. JTL-Wawi 1.9 2
Neu Bestellung wird aus dem Shop nicht an Wawi übertagen... JTL-Wawi - Fehler und Bugs 10
In Bearbeitung Retouren aus Pos werden nicht in die Wawi übertragen Allgemeine Fragen zu JTL-POS 1
Neu Einbindung PHP. Datei ins Template - Wert aus PHP Datei lesen Templates für JTL-Shop 5
Neu JTL Shop 5.3 - 20 GB reichen nicht aus Allgemeine Fragen zu JTL-Shop 3
Neu JTL Standardsuche findet Begriff aus Artikelnamen nicht Allgemeine Fragen zu JTL-Shop 2
Neu Preis/Mwst-Anzeige und Übertragung von Daten aus der Wawi WooCommerce-Connector 4
Neu Paypal Ratenkauf Button sieht merkwürdigt aus Plugins für JTL-Shop 1
URL aus Text extrahieren, Dotliquid, Regex JTL-Wawi 1.9 13
Neu Artikel aus JTL können mit Duplicate Entry for key primary nicht abgeglichen werden PrestaShop-Connector 0
Neu Bild per SQL Query aus lesen aus von Artikel Bildplattform Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Variation in den Warenkorb legen von beliebiger Seite aus Technische Fragen zu Plugins und Templates 0
Neu Feld aus Kundenkonto wird in der Übersicht im Auftrag nicht angezeigt? User helfen Usern - Fragen zu JTL-Wawi 5
Neu Workflow: Artikel aus Kategorie löschen, wenn Sonderpreis abgelaufen Arbeitsabläufe in JTL-Wawi 0
Neu Nettopreise aus Shopify werden als Bruttopreise an JTL übertragen Shopify-Connector 2
Neu AWIN Produktdatenfeed aus dem JTL Shop Allgemeine Fragen zu JTL-Shop 3
Neu Seriennummern etc auf Labekl aus Liste und 2D Barcode / Datamatrix Arbeitsabläufe in JTL-Wawi 0
Feld Karton im Auftrag wird nach Auftragsübermittlung aus Shop nicht befüllt. JTL-Wawi 1.9 1
JTL WAWI 1.9 Auftrag (englisch) aus JTL Shop 5 - Diverse Variablen nur in deutsch JTL-Wawi 1.9 0
Restzahlungen für eine Rechnung setzen, direkt aus Zahlungsverkehr JTL-Wawi 1.8 2

Ähnliche Themen