Neu Datum des letzten Wareneingangs anzeigen lassen

Dreizack Medien

Offizieller Servicepartner
SPBanner
10. Februar 2020
133
65
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
23
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
19
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
19
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
133
65
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
133
65
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
19
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
19
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
133
65
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
51
8
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
695
248
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
51
8
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.600
53
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
45
4
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
Neu WARNUNG - Ameise 1.9 übergeht komplette Zeilen, wenn Erscheint am Datum leer ist z.B. weil entfernt/aktualisiert werden soll - HT-Zugriff verweigert JTL-Ameise - Fehler und Bugs 2
Neu Datum einer EK-Änderung vermerken User helfen Usern - Fragen zu JTL-Wawi 6
Lieferschein Formel für Datum JTL-Wawi 1.9 3
Lagerbestand zu bestimmten Datum anzeigen lassen JTL-Wawi 1.9 4
Neu Kategorie für Webshop aktiv setzen unter Beibehaltung des aktiv-Status aller enthaltener Artikel User helfen Usern - Fragen zu JTL-Wawi 6
GPSR für nur einen Artikel des Hersteller JTL-Wawi 1.9 2
Neu Datenbankgröße des Shops Allgemeine Fragen zu JTL-Shop 0
Neu Hatte noch jemand gestern Abend am 29.11. einen kurzzeitigen Ausfall des Shops? JTL-Shop - Fehler und Bugs 8
Sprachvariablen des Auftrags nutzen in eMail-Vorlagen JTL-Wawi 1.9 3
Neu Stückliste des (Stücklisten-)Artikels drucken User helfen Usern - Fragen zu JTL-Wawi 3
Neu Probleme nach update des neuen Shops JTL-Shop - Fehler und Bugs 9
Kassenschnittbeleg wird nach Ausdausch des Kartenlesegerätes nicht mehr ausgedruckt JTL-Vouchers - Fehler und Bugs 0
Neu [Entwarnung] ACHTUNG: JTL Shop 5.3.3 | Nach Update des JTL PayPal Commerce Plugins kein Backend mehr verfügbar (FATAL ERROR) Installation / Updates von JTL-Shop 2
Neu Kumulierte Menge der Artikelpositionen vor dem Speichern des Auftrags einsehen Eigene Übersichten in der JTL-Wawi 1
Korrektur Name des Absenders bei Anforderung der Bestätigung der E-Mail-Adresse Einrichtung JTL-Shop5 1
Neu SQL Code zur Ausgabe des Verkaufspreis je Kundengruppe User helfen Usern 1
Erzeugung des Barcodes für die Gebinde EAN JTL-Wawi 1.9 3
Neu Durchschnittlichen EK der letzten 3 Monate als Übersicht Eigene Übersichten in der JTL-Wawi 17

Ähnliche Themen