Neu Artikelhistorie Lieferdatum statt Buchungsdatum

MarcoPB

Gut bekanntes Mitglied
23. Dezember 2008
184
15
Mahlzeit Leute,

wenn icheine Lieferung ins Lager nachbuche, dann erscheint in der Historie ja immer das Buchungsdatum. Ist es möglich statt Buchungsdatum, das Lieferdatum zu sehen?

BSP: Freitag, Großhandel 200x Cola 0,5l

Lieferdatum Freitag der 13.9.24
Eingebucht Sonntag 15.9.24

In der Buchungsmaske stelle ich aber den 13.9. ein, nur was hat das für einen Hintergrund, wenn das Lieferdatum in der Artikelhistorie nicht vorkommt?

Gruß3
 

frankell

Sehr aktives Mitglied
9. September 2019
358
181
Flensburg
Da könnte Dir die Tabelle tWarenLagerEingang in der Datenbank helfen. Die macht einen Unterschied zwischen gebucht ("dErstellt") und geliefert ("dGeliefertAM"). Da beide Tabellen (tWarenLagerEingang und tArtikelHistory) die Variablen kArtikel und kLieferantenBestellungPos teilen, kommt man hier wahrscheinlich mit ner SQL-Query weiter, die man sich z. B. als Eigene Übersicht im Artikelbereich speichert.
 

MarcoPB

Gut bekanntes Mitglied
23. Dezember 2008
184
15
Da könnte Dir die Tabelle tWarenLagerEingang in der Datenbank helfen. Die macht einen Unterschied zwischen gebucht ("dErstellt") und geliefert ("dGeliefertAM"). Da beide Tabellen (tWarenLagerEingang und tArtikelHistory) die Variablen kArtikel und kLieferantenBestellungPos teilen, kommt man hier wahrscheinlich mit ner SQL-Query weiter, die man sich z. B. als Eigene Übersicht im Artikelbereich speichert.
Danke 😁 ich hab davon aber gar keinen plan
 

frankell

Sehr aktives Mitglied
9. September 2019
358
181
Flensburg
Dann füg diesen Code mal in einer Eigenen Übersicht im Bereich Artikel ein:

SQL:
WITH CTE AS (
SELECT 
    kLieferantenBestellungPos, 
    SUM(CAST(fAnzahl AS INT)) AS fAnzahl,
    dErstellt,
    dGeliefertAM
FROM tWarenLagerEingang
WHERE kLieferantenBestellungPos > 0
GROUP BY dErstellt, kLieferantenBestellungPos, dGeliefertAM
)
SELECT 
    AH.kLieferantenBestellungPos,
    AH.kArtikel, 
    ART.cArtNr AS 'Artikelnr.', 
    ART.cName AS 'Artikelname',
    CAST(AH.fAnzahl AS INT) AS 'Anzahl', 
    AH.dGebucht AS 'Gebucht (Artikelhistorie)',
    WLE.dErstellt AS 'Erstellt (Warenlagereingang)',
    WLE.dGeliefertAM AS 'Geliefert am (Warenlagereingang)'
FROM tArtikelHistory AS AH
LEFT JOIN CTE AS WLE ON AH.kLieferantenBestellungPos = WLE.kLieferantenBestellungPos AND AH.dGebucht = WLE.dErstellt
LEFT JOIN vStandardArtikel AS ART ON AH.kArtikel = ART.kArtikel
WHERE AH.kLieferantenBestellungPos > 0 AND AH.fAnzahl > 0 AND AH.kArtikel = @Key
ORDER BY WLE.dGeliefertAM DESC

Damit erhältst Du eine verkürzte Anzeige von der Artikelhistorie des jeweilig ausgewählten Artikels, ergänzt um die entsprechenden Daten aus der Tabelle des Warenlagereingangs.