Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

basti

Gut bekanntes Mitglied
12. September 2007
774
12
Hallo zusammen,

letztes Jahr habe ich mir eine kleine Query geschrieben, die mir den Lagerbestand rückwirkend zu einem bestimmten Datum ausgibt.
So wie ich das aktuell sehe, passt/funktioniert die Query noch.
Evtl hat ja hier jemand interesse an dieser Query, oder Verbesserungsvorschläge?
Oder ich habe irgendetwas nicht bedacht?

Wäre toll, wenn es die ein oder andere Rückmeldung gibt.

So genug Text:
ACHTUNG: ohne jegliche Garantie auf Richtigkeit und Fehlerfreiheit! SQL Queries immer auf eigene Gefahr!

Code:
declare @InventurDatum AS DATETIME;

SET @InventurDatum = CONVERT(datetime, '30/11/2014', 103);


SELECT 
A.fLagerbestand, 
B.cArtNr, 
B.cName as Bezeichnung, 

CAST((
		select A.fLagerbestand-coalesce(sum(D.fAnzahl),0 ) FROM [eazybusiness].[dbo].[tArtikelHistory] AS D 
		WHERE A.kArtikel=D.kArtikel 
		AND D.dGebucht > @InventurDatum
	) AS int) as "inventur zum InventurDatum",  

	-- B.fVKBrutto, 

	B.fEKNetto, 
	-- A.kArtikel,
	CAST(
	(
	select A.fLagerbestand-coalesce(sum(D.fAnzahl),0) FROM [eazybusiness].[dbo].[tArtikelHistory] AS D 
	WHERE A.kArtikel=D.kArtikel 
	AND D.dGebucht > @InventurDatum
	) AS int)  * B.fEKNetto as EKTotal, 
(select CONVERT(varchar, max(C.dGebucht), 111) FROM [eazybusiness].[dbo].[tArtikelHistory] AS C WHERE A.kArtikel=C.kArtikel AND C.kBuchungsart = 10 AND C.dGebucht <= @InventurDatum ) as lastWareneingang 	
FROM [eazybusiness].[dbo].[tlagerbestand] AS A 

  LEFT JOIN [eazybusiness].[dbo].[tArtikel] AS B ON A.kArtikel = B.kArtikel 
	where 
	CAST (
		(
			select A.fLagerbestand-coalesce(sum(D.fAnzahl),0) FROM [eazybusiness].[dbo].[tArtikelHistory] AS D 
			WHERE A.kArtikel=D.kArtikel 
			AND D.dGebucht >= @InventurDatum 
		) AS int 
	) > 0 
	OR 
	(A.kArtikel NOT IN (SELECT kArtikel  FROM [eazybusiness].[dbo].[tArtikelHistory] WHERE dGebucht > @InventurDatum )
	AND fLagerbestand > 0)
	
order by lastWareneingang asc
 

Shopworker.de

Offizieller Servicepartner
SPBanner
4. Januar 2011
4.117
546
Arnsberg, Sauerland
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

Hallo basti,

danke für die Abfrage, habe die gerade mal an einer Datenbank getestet, läuft sauber durch.


Meiner Meinung nach werden Artikel, welche Kindartikel haben doppelt aufgeführt.

z.B. Artikel

1 ... kein Lagerbestand laut Wawi 6 Stück laut Inventurabfrage
1a ... Kindartikel von 1 ... 4 Stück lagernd 4 Stück laut Inventurabfrage
1b ... Kindartikel von 1 ... 2 Stück lagernd 2 Stück laut Inventurabfrage

Kann das jemand bestätigen?

Danach sind die ermittelteten Inventurzahlen "viel" höher als die realen Werte ...
 

basti

Gut bekanntes Mitglied
12. September 2007
774
12
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

hm, ok, kindartikel habe ich nicht berücksichtigt, da wir in dem Fall keine brauchen, aber lässt sich sicher erweitern... ich schaus mir mal an, so bald etwas Zeit ist
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.249
679
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

Solch eine Funktion wünsche ich mir schon lange in JTL, ich hoffe das ist auf ToDo ... eine Lagerbewertung zum Stichtag / Wunschtag ist doch standard?!

In der Hoffnung das JTL mitliest und etwas dazu sagen kann.

@basti
Danke für den Ansatz, weltklasse!
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.249
679
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

Ich gehe aber davon aus, dass diese Funktion noch nicht in Wawi 1.0 / Beta enthalten ist, steht denke ich also nur auf ToDo aktuell, oder?

Immerhin, weltklasse! Danke
 

cdx

Sehr aktives Mitglied
13. März 2013
1.600
53
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

wir haben für sowas eine batch datei die einfach mit hilfe der ameise eine artikelliste erstellt. diese wiederum wird automatisch über einen windowsdienst an einem bestimmten datum zu einer bestimmten uhrzeit gestartet. damit gibts auch keine probleme...
 

basti

Gut bekanntes Mitglied
12. September 2007
774
12
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

@cdx: gute Idee!
Nur leider kann ich mir in der Ameise nicht den günstigsten LieferantenEK oder den EK ausgeben lassen, so weit ich weiß...
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.249
679
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

wir haben für sowas eine batch datei die einfach mit hilfe der ameise eine artikelliste erstellt. diese wiederum wird automatisch über einen windowsdienst an einem bestimmten datum zu einer bestimmten uhrzeit gestartet. damit gibts auch keine probleme...

Du machst damit ja aber eine geregelte Inventur, sprich mit Zeitintervall, richtig?

Es dreht sich hier aber darum, sich rückwirkend zu einem X-beliebigen Datum eine Inventurliste ausleiten zulassen, um den damaligen Warenbestand vergleichen zu können.
 

cdx

Sehr aktives Mitglied
13. März 2013
1.600
53
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

@wawl-dl - ja. wollte es nur für einige die nicht so richtig wissen wie sie es machen sollen als anregung gesagt haben. :D
 

kb-technik

Gut bekanntes Mitglied
9. Mai 2015
100
1
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

Hallo zusammen,

gibt es zu dem SQL ein Update (Var-Kombi-Kinder werden doppelt aufgeführt)?
cName as Bezeichnung ist auch nicht mehr aktuelle.

Würd mich tierisch über ein Update freuen. Müssen bei uns alle Variationsartikel mit Bestandsführung in Variationen einbeziehen (keine Vaterartikel).
Desweiteren müssen wir das Warenlager exakt angeben (Filter) und nur Artikel, die keine Stückliste sind.
Wir sind im Moment auf v1.0.9.2.

Beste Grüße
kb-technik
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.249
679
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

Vielleicht gibt es bereits JTL genauere Release-Infos dazu? :)
 

itnetwork

Aktives Mitglied
21. Oktober 2011
7
0
AW: Inventurliste rückwirkend zum bestimmten Datum (MSSQL-Query)

@basti
wäre es möglich eine Aktualisierung des Scipts anzufertigen, da ab 1.0 das Script nicht mehr läuft...

Vielen Dank vorab.
 

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.195
271
Das Script funktioniert noch so, wenn man einfach die sechste Zeile löscht, bzw. unter "SELECT" den Punkt mit cName entfernt.
 

kaefer

Sehr aktives Mitglied
23. Januar 2014
512
32
Nuernberg
Hallo,

wann ist dies endlich im JTL möglich
den Warenbestand für ein bestimmtes Datum ausgeben zu können?

Benötigt man doch immer für eine Bilanz
und andere Wawi´s können dies seit Jahrzehnte

Bitte um Rückinfo

Danke