Neu Datum des letzten Wareneingangs anzeigen lassen

Dreizack Medien

Offizieller Servicepartner
SPBanner
10. Februar 2020
131
61
Halle (Saale)
Firma
DREIZACK Medien
@express24 man könnte dir den aktuellen Lagerbestand anzeigen lassen. Ich verstehe nicht so richtig die Intention dahinter. Im Grunde ist es ja nur eine Rechnerei. Der "historische" Lagerbestand wird nicht in der Datenbank hinterlegt, soweit ich weis. Des Weiteren ist der Lagerbestand ja von allen Buchungsvorgängen abhängig. Hier betrachten wir ja nur den Wareneingang. Wenn, dann müsste man alle Buchungen berücksichtigen, rückwärts den ursprünglichen Lagerbestand berechnen und dann ausgeben. Ich glaube aber nicht, dass das Ergebnis sinnvoll wäre.
 

express24

Aktives Mitglied
29. März 2018
22
2
Hallo, doch der historische Lagerbestand, also der Bestand, der zum Zeitpunkt der Wareneingangsbuchung dann vorhanden war, wird gespeichert. So könntest Du schnell auf einen Blick sehen, welche Menge Du nach dem letzten Wareneingang auf Lager hattest. Den Abverkauf hast Du so schnell im Blick

1584447298453.png
 

Dxniel7402

Aktives Mitglied
11. August 2018
16
0
Hallo zusammen,

das Thema ist zwar schon älter, jedoch aktuell für mich :)

Folgende Situation: Unsere Kunden bestellen in der Regel 1-2 Artikel pro Auftrag. Dabei möchte ich beim Versand (oder noch besser im Packtisch+) zum ausgewählten Auftrag einen Teil der Artikelhistorie der bestellten Artikel sehen. Aktuell gehe ich in fast jeden Artikel rein und schaue mir an wann die Artikel zuletzt eingebucht wurden um es dann schneller/besser im Lager finden zu können. Wie ihr euch jetzt jedoch vorstellen könnt, ist das unglaublich aufwendig jedes mal die Fenster durchzuklicken um sich entsprechend rauszuschreiben wo ich es denn suchen muss.

Die Lösungen hier passen gut zu dem Artikel Reiter, jedoch geht es so leider (noch) nicht im Versand Reiter, wo ich es ja zumindest benötige. Daher brauche ich vermutlich eine vorherige Abfrage, die den ausgewählten Auftrag nimmt und von dort die entsprechenden Artikel abfragt -> da es mehr als ein Artikel sein kann benötige ich hier vermutlich auch noch eine zusätzliche Auflistung.

Leider bin ich relativ neu in JTL-Wawi drin und hatte bisher noch keine großen Erfolge beim SQL-Code schreiben. Ich wäre sehr dankbar, falls hier jemand (Jahre später) eine Lösung für mich parat hätte :)

P.S.: Ich weiß, dass man das vllt besser durch ein schlaues Lagersystem lösen könnte, da bin ich schon stark am Diskutieren mit den Kollegen ;) Vorerst muss ich mit einer Eigenen Übersicht leben..

Viele Grüße,
Daniel
 

Dxniel7402

Aktives Mitglied
11. August 2018
16
0
@Dreizack Medien Ich möchte im Prinzip die Artikelhistorie der einzelnen Positionen des Auftrags in meiner Eingen Übersicht sehen können. Da ich die beiden Tabs leider nicht nebeneinander legen kann, kann ich mit den vorherigen Lösungen den Artikel nicht anklicken, wenn ich in meiner eigenen Übersicht bin.

Aus der Artikelhistorie würde ich folgende Spalten benötigen:
- Buchungsdatum
- Buchungsart
- Gebuchte Menge
- Bestand alle Lager
- (ggf. Lager)

1652042846776.png

1652042811065.png
 

Dreizack Medien

Offizieller Servicepartner
SPBanner
10. Februar 2020
131
61
Halle (Saale)
Firma
DREIZACK Medien
@Dxniel7402 Ok, aber wie meinst du das mit der Artikelhistorie? Brauchst du den letztn Eintrag zum Wareneingang oder willst du zu jedem Artikel die letzten x Einträge der Artikelhistorie?
 

Dreizack Medien

Offizieller Servicepartner
SPBanner
10. Februar 2020
131
61
Halle (Saale)
Firma
DREIZACK Medien
@Dxniel7402 das hier sollte gehen. Unten bei "Core.row <=10" kannst du einstellen wie viele Einträge du benötigst...Das Lager bekommt man nicht raus, weil nur der Lagerbestand, nicht die Verteilung historisch erfasst wird

SQL:
SELECT
    CORE.kArtikel
    ,CONVERT(VARCHAR,tArtikelHistory.dGebucht,104) AS 'Gebucht'
    ,tArtikelHistory.kBuchungsart AS 'Buchungsart Schlüssel'
    ,tBuchungsArt.cName AS 'Buchungsart'
    ,CONVERT(INT,tArtikelHistory.fAnzahl) AS 'Menge'
    ,CONVERT(INT,tArtikelHistory.fLagerBestand) AS 'Lagerbestand (eigen)'
    ,CONVERT(INT,tArtikelHistory.fLagerBestandGesamt) AS 'Lagerbestand gesamt'
FROM
    (

        SELECT
            tbestellpos.tArtikel_kArtikel AS 'kArtikel'
            ,tArtikelHistory.dGebucht
            ,tArtikelHistory.kArtikelHistory
            ,ROW_NUMBER() OVER (PARTITION BY tArtikelHistory.kArtikel ORDER BY tArtikelHistory.dGebucht DESC) AS 'row'
        FROM
            tBestellung
            LEFT JOIN tbestellpos ON tBestellung.kBestellung = tBestellpos.tBestellung_kBestellung
            LEFT JOIN tArtikelHistory ON tBestellpos.tArtikel_kArtikel = tArtikelHistory.kArtikel
        WHERE
            tBestellung.kBestellung = @Key
       
    )[CORE]
    LEFT JOIN tArtikelHistory ON CORE.kArtikelHistory = tArtikelHistory.kArtikelHistory
    LEFT JOIN tBuchungsArt ON tArtikelHistory.kBuchungsart = tBuchungsArt.kBuchungsart
WHERE
    Core.row <= 10
    AND CORE.kArtikel != 0
 
  • Gefällt mir
Reaktionen: Dxniel7402

Dxniel7402

Aktives Mitglied
11. August 2018
16
0
@Dxniel7402 das hier sollte gehen. Unten bei "Core.row <=10" kannst du einstellen wie viele Einträge du benötigst...Das Lager bekommt man nicht raus, weil nur der Lagerbestand, nicht die Verteilung historisch erfasst wird

SQL:
SELECT
    CORE.kArtikel
    ,CONVERT(VARCHAR,tArtikelHistory.dGebucht,104) AS 'Gebucht'
    ,tArtikelHistory.kBuchungsart AS 'Buchungsart Schlüssel'
    ,tBuchungsArt.cName AS 'Buchungsart'
    ,CONVERT(INT,tArtikelHistory.fAnzahl) AS 'Menge'
    ,CONVERT(INT,tArtikelHistory.fLagerBestand) AS 'Lagerbestand (eigen)'
    ,CONVERT(INT,tArtikelHistory.fLagerBestandGesamt) AS 'Lagerbestand gesamt'
FROM
    (

        SELECT
            tbestellpos.tArtikel_kArtikel AS 'kArtikel'
            ,tArtikelHistory.dGebucht
            ,tArtikelHistory.kArtikelHistory
            ,ROW_NUMBER() OVER (PARTITION BY tArtikelHistory.kArtikel ORDER BY tArtikelHistory.dGebucht DESC) AS 'row'
        FROM
            tBestellung
            LEFT JOIN tbestellpos ON tBestellung.kBestellung = tBestellpos.tBestellung_kBestellung
            LEFT JOIN tArtikelHistory ON tBestellpos.tArtikel_kArtikel = tArtikelHistory.kArtikel
        WHERE
            tBestellung.kBestellung = @Key
      
    )[CORE]
    LEFT JOIN tArtikelHistory ON CORE.kArtikelHistory = tArtikelHistory.kArtikelHistory
    LEFT JOIN tBuchungsArt ON tArtikelHistory.kBuchungsart = tBuchungsArt.kBuchungsart
WHERE
    Core.row <= 10
    AND CORE.kArtikel != 0
@Dreizack Medien Super, ich kriege endlich das Ergebnis Angezeigt das ich sehen wollte! Allerdings ist bei mir "kArtikel" jedoch eine andere Nummer, als die Artikelnummer die ich in der Position sehe (und nach der ich suche). Ansonsten ist die Historie korrekt und die Begrenzung funktioniert wie gewünscht :) Vielen vielen Dank, vor allem um diese Uhrzeit.. hast mir meinen Abend gerettet! :)
 

Dxniel7402

Aktives Mitglied
11. August 2018
16
0
@Dreizack Medien Super, ich kriege endlich das Ergebnis Angezeigt das ich sehen wollte! Allerdings ist bei mir "kArtikel" jedoch eine andere Nummer, als die Artikelnummer die ich in der Position sehe (und nach der ich suche). Ansonsten ist die Historie korrekt und die Begrenzung funktioniert wie gewünscht :) Vielen vielen Dank, vor allem um diese Uhrzeit.. hast mir meinen Abend gerettet! :)
Jetzt wollte ich noch selber herumspielen und dort mir noch den Artikelnamen hinzufügen. Hatte es in etwas mit kArtikel.cName (und anderen Variationen die ich aus anderen Beiträgen gefunden habe) aber leider ohne Erfolg :(
 

Dreizack Medien

Offizieller Servicepartner
SPBanner
10. Februar 2020
131
61
Halle (Saale)
Firma
DREIZACK Medien
Die Artikelnummer und den Namen kannst du dir direkt aus der Tabelle tbestellpos holen. Wir bieten auch Kurse in SQL an ;)

SQL:
SELECT
    CORE.kArtikel
    ,CORE.SKU
    ,CORE.Titel
    ,CONVERT(VARCHAR,tArtikelHistory.dGebucht,104) AS 'Gebucht'
    ,tArtikelHistory.kBuchungsart AS 'Buchungsart Schlüssel'
    ,tBuchungsArt.cName AS 'Buchungsart'
    ,CONVERT(INT,tArtikelHistory.fAnzahl) AS 'Menge'
    ,CONVERT(INT,tArtikelHistory.fLagerBestand) AS 'Lagerbestand (eigen)'
    ,CONVERT(INT,tArtikelHistory.fLagerBestandGesamt) AS 'Lagerbestand gesamt'
FROM
    (

        SELECT
            tbestellpos.tArtikel_kArtikel AS 'kArtikel'
            ,tbestellpos.cArtNr AS 'SKU'
            ,tbestellpos.cString AS 'Titel'
            ,tArtikelHistory.dGebucht
            ,tArtikelHistory.kArtikelHistory
            ,ROW_NUMBER() OVER (PARTITION BY tArtikelHistory.kArtikel ORDER BY tArtikelHistory.dGebucht DESC) AS 'row'
        FROM
            tBestellung
            LEFT JOIN tbestellpos ON tBestellung.kBestellung = tBestellpos.tBestellung_kBestellung
            LEFT JOIN tArtikelHistory ON tBestellpos.tArtikel_kArtikel = tArtikelHistory.kArtikel
        WHERE
            tBestellung.kBestellung = @Key
        
    )[CORE]
    LEFT JOIN tArtikelHistory ON CORE.kArtikelHistory = tArtikelHistory.kArtikelHistory
    LEFT JOIN tBuchungsArt ON tArtikelHistory.kBuchungsart = tBuchungsArt.kBuchungsart
WHERE
    Core.row <= 10
    AND CORE.kArtikel != 0
 
  • Gefällt mir
Reaktionen: Dxniel7402 und Micmac

Faruq

Aktives Mitglied
6. November 2017
49
6
Mannheim
Huhu @Dreizack Medien,
ich habe da sowas ähnliches Gebaut, um das Datum der letzten Auslieferung rauszufinden mit folgendem Code:

SQL:
SELECT TOP 1 CONVERT(INT,tArtikelHistory.fAnzahl) AS 'Buchungsmenge',
dGebucht AS 'Datum: Letze Auslieferung',
-- cLieferscheinNr AS 'Lieferscheinnummer' --
cChargenNr AS 'Chargennummer',
dMHD AS 'MHD'
FROM dbo.tArtikelHistory
WHERE kArtikel = @Key
AND kBuchungsArt = '20'
ORDER BY dGebucht DESC;
Wird auch top angezeigt alles, jedoch würde ich hier gerne die Auftragsnummer noch mit Anzeigen lassen bzw. die Lieferscheinnummer - cLieferscheinNr ist irgendwie der falsche Wert. Irgend eine Idee?
Im Bild sieht man die momentane Darstellung in der WaWi:

Bildschirmfoto 2022-07-15 um 10.53.51.png


Besten Dank und LG
 

MirkoWK

Sehr aktives Mitglied
14. März 2022
609
209
Huhu @Dreizack Medien,
ich habe da sowas ähnliches Gebaut, um das Datum der letzten Auslieferung rauszufinden mit folgendem Code:


Wird auch top angezeigt alles, jedoch würde ich hier gerne die Auftragsnummer noch mit Anzeigen lassen bzw. die Lieferscheinnummer - cLieferscheinNr ist irgendwie der falsche Wert. Irgend eine Idee?
Im Bild sieht man die momentane Darstellung in der WaWi:

Den Anhang 85570 betrachten


Besten Dank und LG
Hi,

versuchs mal so:

SQL:
SELECT TOP 1
    CONVERT(INT,ah.fAnzahl) AS 'Buchungsmenge',
    ah.dGebucht AS 'Datum: Letze Auslieferung',
    l.cLieferscheinNr AS 'Lieferscheinnummer',
    ah.cChargenNr AS 'Chargennummer',
    ah.dMHD AS 'MHD'
FROM
    dbo.tArtikelHistory ah
    LEFT JOIN tLieferscheinPos lpos ON lpos.kLieferscheinPos = ah.kLieferscheinPos
    LEFT JOIN tLieferschein l ON l.kLieferschein = lpos.kLieferschein
WHERE
    ah.kArtikel = @Key
    AND kBuchungsArt = '20'
ORDER BY
    ah.dGebucht DESC

Viele Grüße
Mirko
 
  • Gefällt mir
Reaktionen: Faruq

Faruq

Aktives Mitglied
6. November 2017
49
6
Mannheim
Hi,

versuchs mal so:

SQL:
SELECT TOP 1
    CONVERT(INT,ah.fAnzahl) AS 'Buchungsmenge',
    ah.dGebucht AS 'Datum: Letze Auslieferung',
    l.cLieferscheinNr AS 'Lieferscheinnummer',
    ah.cChargenNr AS 'Chargennummer',
    ah.dMHD AS 'MHD'
FROM
    dbo.tArtikelHistory ah
    LEFT JOIN tLieferscheinPos lpos ON lpos.kLieferscheinPos = ah.kLieferscheinPos
    LEFT JOIN tLieferschein l ON l.kLieferschein = lpos.kLieferschein
WHERE
    ah.kArtikel = @Key
    AND kBuchungsArt = '20'
ORDER BY
    ah.dGebucht DESC

Viele Grüße
Mirko
Vielen herzlichen Dank! Habe es sehr viel umständlicher gebastelt. Da lernt man immer mehr dazu!

LG
 
  • Gefällt mir
Reaktionen: MirkoWK

diyshop

Aktives Mitglied
15. April 2018
12
4
Lass mir ein Like da :D

SELECT TOP (5)
tArtikelHistory.kArtikel as ArtikelID,
CAST(tArtikelHistory.fAnzahl AS INT) as Stückzahl,
CAST(tArtikelHistory.fEKNetto as NUMERIC(20,2)) as 'EK Netto',

tArtikelHistory.dGebucht as Buchungsdatum,

tBuchungsArt.cName as Buchungsart

FROM tArtikelHistory

LEFT JOIN tBuchungsArt

ON tArtikelHistory.kBuchungsart = tBuchungsArt.kBuchungsart

WHERE kArtikel = @key AND fAnzahl >0 AND tArtikelHistory.kBuchungsArt = 10

ORDER BY dGebucht DESC



Für die Anzahl der Stellen nach dem Komme den zweiten Wert bei "NUMERIC(20,2)" ändern. Also NUMERIC(20,4) für 4 Stellen. Die erste Zahl "20" gibt an, wie viele Stellen der Wert insgesamt hat. Aber ich glaube mit 20 Stellen kommt ihr aus :D
Hallo,
könnte man dazu noch die Lieferscheinnummer anzeigen lassen? VG Guido
 

cdx

Sehr aktives Mitglied
13. März 2013
1.597
52
Hi @Dreizack Medien
Die Abfrage
Code:
SELECT TOP (5)
CAST(tArtikelHistory.fAnzahl AS INT) as Stückzahl,
tArtikelHistory.dGebucht as Buchungsdatum,
tBuchungsArt.cName as Buchungsart
FROM tArtikelHistory
LEFT JOIN tBuchungsArt
ON tArtikelHistory.kBuchungsart = tBuchungsArt.kBuchungsart
WHERE kArtikel = @key AND fAnzahl >0 AND tArtikelHistory.kBuchungsArt = 10
ORDER BY tArtikelHistory.dGebucht DESC
ist schon gut brauchbar. Danke dafür.

Könnte man sie noch anpassen, so dass einfach nur die Gesamtmenge vom letzten Buchungstag angezeigt wird?

Und hat es jemand hinbekommen, dass man nur die Buchungen für ein bestimmtes Lager angezeigt bekommt?
 

Tacticaltrim

Aktives Mitglied
8. April 2012
43
2
Hi, könnte man auch den aktuelle Lagerbestand zu diesem Zeitpunkt des Wareneingangs mit anzeigen lassen? Würde interessant sein, um zu wissen ob man zu Wareneingang schon Lager auf Null war.
 
  • Gefällt mir
Reaktionen: Xnightman
Ähnliche Themen
Titel Forum Antworten Datum
Auftragssplitt nimmt das aktuelle Datum JTL-Wawi 1.8 13
Neu Lieferanten Preis sollte das Datum erkenntlich sein (gültig ab/seit...) JTL-Wawi - Ideen, Lob und Kritik 0
Otto externe Rechnungen werden mit falschem Datum erstellt Otto.de - Anbindung (SCX) 6
Stücklistenartikel - keine Übernahme des ek JTL-Wawi 1.8 1
Neu Abfrage des Lieferantenbestands Eigene Übersichten in der JTL-Wawi 2
Aufträge zusammenfassen - Bestellnummern des Kunden werden nicht übernommen JTL-Wawi 1.8 1
Ausgabe des Warenbestandes mit Fulfillment Lager JTL-Wawi 1.8 0
Verknüpfung des variantenbildenden Merkmals Otto.de - Anbindung (SCX) 0
Neu Umlagerung waehrend des Prozesses eingefroren User helfen Usern - Fragen zu JTL-Wawi 0
Neu Änderung des Auftrags nach Zahlungseingang Paypal Arbeitsabläufe in JTL-Wawi 7
Neu Pulsierender Punkt bei Aufruf des Backends Gelöste Themen in diesem Bereich 12
Neu Update des JTL shops aus der Wawi funktioniert nicht Allgemeine Fragen zu JTL-Shop 1
Neu Falscher Bestand nach Abbruch des Lieferschein-Lösch-Vorgangs JTL-Wawi - Fehler und Bugs 0
Neu Eigene Felder des Auftrages in der Druckvorlage Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Beantwortet Farbe des Auftrages bei Retouren angepasst JTL-Workflows - Ideen, Lob und Kritik 1
Neu Download-Arikel werden im Backend des Kunden nicht angezeigt JTL-Shop - Fehler und Bugs 1
Neu Woran kann es liegen, dass ein neu erstellter Connector-Verkaufskanal nicht in der Statusliste des Workers vorkommt? Shopify-Connector 2
Neu Keine Artikel Details nach Serverumzug (Wechsel des Hosters) Gelöste Themen in diesem Bereich 7
Neu Einstellung: "Bilder des Vaterartikels un der folgenden Variationswerte übernehmen" und der Shopware Server "explodiert" Shopware-Connector 11
Neu Vorlagen: Formel um Textfeld nur auf der letzten Seite der Rechnung darzustellen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Gelöst Packtisch+ 1.8.112 : Rechnung wird bei Teillieferung erzeugt, obwohl als Ausführungsbedingung "Nur bei der letzten Teillieferung" ausgewählt ist. JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 2
Neu Dotliqid Artikelnummer beim letzten Bindestrich aufsplitten User helfen Usern - Fragen zu JTL-Wawi 0
Gelöst "Nur letzten ausführen" führt dennoch mehrere Gelöste Themen in diesem Bereich 3

Ähnliche Themen