Lista towarów - stany zerowe - archiwizacja

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

Lukas
Posty: 124
Rejestracja: 28 wrz 2017, 14:57
Rola: Użytkownik CDN XL
Wersja: 2019

Lista towarów - stany zerowe - archiwizacja

Post autor: Lukas »

Cześć,

musimy w firmie zrobić archiwizację kartotek towarowych, które mają stan magazynowy 0 oraz dokumenty (RW/PW/FS/FSE/PZ), które były wystawione na dane kartoteki były przed 2021 rokiem. Jak ugryźć raport, który pokaże mi takie kartoteki? Może być jeszcze filtrowane po grupie towarowej. Na forum były już podobne raporty, natomiast nie pokazują one poprawnie danych (albo nie mogę ich poprawnie przerobić). Myslę, że taki raport przydałby się wielu użytkownikom tego forum.

Pozdrawiam.

Lukas
Posty: 124
Rejestracja: 28 wrz 2017, 14:57
Rola: Użytkownik CDN XL
Wersja: 2019

Re: Lista towarów - stany zerowe - archiwizacja

Post autor: Lukas »

Ewentualnie kolumna z datą ostatniego dokumentu też by była super, moja kolumna coś nie działa

Kod: Zaznacz cały

select dateadd (second, twz_datap,convert(datetime,'1990-01-01',120)) as Data
from cdn.twrkarty
join cdn.twrzasoby on twz_twrnumer=twr_gidnumer
where {filtrsql}
Generalnie to co jest tutaj: viewtopic.php?f=13&t=2977&start=10 byłoby ok, natomiast nie filtruje mi po grupie i z tego co widzę, nie wrzuca mi wszystkich towarów.

Lukas
Posty: 124
Rejestracja: 28 wrz 2017, 14:57
Rola: Użytkownik CDN XL
Wersja: 2019

Re: Lista towarów - stany zerowe - archiwizacja

Post autor: Lukas »

Wniosek taki po chwili walki, w zasobach oraz dostawach nie ma towarów, które mają 0 stan na magazynie, więc wydaje mi się, że raportu nie można uzyskać.

taszek
Posty: 585
Rejestracja: 12 wrz 2012, 13:20
Rola: Administrator CDN XL
Wersja: 2016

Re: Lista towarów - stany zerowe - archiwizacja

Post autor: taszek »

Po pierwsze moim zdaniem masz błąd logiczny, a mianowicie chcesz sprawdzać stany magazynu, a zapytanie robisz dla stanów do sprzedaży.
Po drugie po co wówczas sprawdzać dokumenty handlowe Rw itp. Wystarczy sprawdzać dokumenty WM i PM bo to są magazynowe.

Proszę poniżej zapytanie, które pokazuje towary ze stanem 0 (suma ze wszystkich magazynów), gdzie nie istnieją dokumenty WM/PM po 2020-12-31

Kod: Zaznacz cały

DECLARE @Data INT

SELECT @Data = DATEDIFF(D,'18001228','20210101')

SELECT Twr_Kod
	,Twr_Nazwa
	,isnull(
		sum(
			CASE WHEN MaN_TrNTyp=8 THEN 0-MaS_Ilosc
				 WHEN MaN_TrNTyp=9 THEN CASE WHEN MaN_Stan<3 THEN 0 ELSE MaS_Ilosc END
                 WHEN MaN_TrNTyp=27 THEN CASE WHEN MaN_Stan < 3 AND MaS_Ilosc < 0 THEN 0 ELSE 0- MaS_Ilosc END END
        ),0
     ) AS Ilosc
	,max(Twr_Jm) as Twr_Jm
  FROM CDN.MagNag
  JOIN CDN.MagsElem ON MaN_GIDNumer=MaS_GIDNumer  
  JOIN CDN.TwrKarty TK ON Twr_GIDNumer=MaS_TwrNumer  
  WHERE TK.Twr_Typ in (1,2) AND TK.Twr_GIDTyp = 16 
  AND NOT EXISTS (SELECT * FROM CDN.MagNag JOIN CDN.MagsElem ON MaN_GIDNumer=MaS_GIDNumer  WHERE MaN_Data3 >= @Data AND MaS_TwrNumer = TK.Twr_GIDNumer AND MaN_GIDTyp IN (1601,1089))
  GROUP BY Twr_Kod, Twr_Nazwa
  HAVING isnull(
		sum(
			CASE WHEN MaN_TrNTyp=8 THEN 0-MaS_Ilosc
				 WHEN MaN_TrNTyp=9 THEN CASE WHEN MaN_Stan<3 THEN 0 ELSE MaS_Ilosc END
                 WHEN MaN_TrNTyp=27 THEN CASE WHEN MaN_Stan < 3 AND MaS_Ilosc < 0 THEN 0 ELSE 0- MaS_Ilosc END END
        ),0
     ) = 0
Pozdrawiam
Wojtek Cyrklewicz

ODPOWIEDZ