Stany zerowe

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

Moderator: mikey

Emill
Posty: 8
Rejestracja: 16 lis 2010, 15:52
Rola: Użytkownik CDN XL
Wersja: 9.6

Stany zerowe

Post autor: Emill »

Witam
Mam taki problem ze zrobieniem stanów zerowych aby zobaczyć w jakim miesiącu był ostatni ruch na nich :(
Może ktoś ma coś podobnego byłbym wdzięczny.
Emil

Jaras
Posty: 250
Rejestracja: 29 paź 2010, 13:08
Rola: Użytkownik CDN XL
Wersja: 9.6

Re: Stany zerowe

Post autor: Jaras »

Witam, poszukaj na forum.
Pamiętam, że jest jakieś zapytanie, które pokazuje towar bez żadnego ruchu w danym okresie.

Awatar użytkownika
STAY_PJE
Posty: 646
Rejestracja: 24 wrz 2009, 12:08
Rola: Konsultant CDN XL
Lokalizacja: Warszawa i od Helu do Wawelu
Kontakt:

Re: Stany zerowe

Post autor: STAY_PJE »

Jeśli nie znalazłeś to może taki krótki skrypcik rozwiąże sprawę:
select [kod towaru]=twr_kod, [ostatni dokument rok]=rok, [ostatni dokument miesiąc]=miesiac from cdn.twrKarty
left join
(select rok=max(trn_RokMiesiac)/100, miesiac=max(trn_trnmiesiac)%100
from cdn.tranag join cdn.traelem on tre_gidnumer=trn_gidnumer
where tre_twrnumer=twr_gidnumer
where not exists (select 1 from cdn.twrZasoby where twz_twrnumer=twr_gidnumer and twz_ilspr>0)

Awatar użytkownika
wacek
Posty: 709
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

Re: Stany zerowe

Post autor: wacek »

STAY_PJE pisze:Jeśli nie znalazłeś to może taki krótki skrypcik rozwiąże sprawę:
select [kod towaru]=twr_kod, [ostatni dokument rok]=rok, [ostatni dokument miesiąc]=miesiac from cdn.twrKarty
left join
(select rok=max(trn_RokMiesiac)/100, miesiac=max(trn_trnmiesiac)%100
from cdn.tranag join cdn.traelem on tre_gidnumer=trn_gidnumer
where tre_twrnumer=twr_gidnumer
where not exists (select 1 from cdn.twrZasoby where twz_twrnumer=twr_gidnumer and twz_ilspr>0)
eee ale oso chodzi :D
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

elmiq
Posty: 1025
Rejestracja: 23 sie 2010, 10:04
Rola: Administrator CDN XL
Lokalizacja: Warszawa

Re: Stany zerowe

Post autor: elmiq »

Ja też nie do końca wiem czemu służy to zapytanie :D
Swoją drogą to nick Wacek, a stopka Robert ? Celowa dezinformacja, czy rozdwojenie jaźni ? :D
Mateusz Świerkosz

http://elmiq.blogspot.com/

Awatar użytkownika
wacek
Posty: 709
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

Re: Stany zerowe

Post autor: wacek »

elmiq pisze:Swoją drogą to nick Wacek, a stopka Robert ? Celowa dezinformacja, czy rozdwojenie jaźni ?
Robert to moje imię a Wacek to ksywa ;). W zasadzie wszyscy znajomi mówią do mnie Wacek. Czasami w pracy ktoś niezorientowany pyta o Pana Wacława i wtedy jest niezły ubaw :D.
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

Awatar użytkownika
wacek
Posty: 709
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

Re: Stany zerowe

Post autor: wacek »

STAY_PJE pisze:Jeśli nie znalazłeś to może taki krótki skrypcik rozwiąże sprawę:
Ten powinien rozwiązać:

Kod: Zaznacz cały

select
	[1]=1
	, t.twr_kod as [Kod towaru]
	, t.twr_nazwa as [Nazwa towaru]
	, isnull(cast(x.Rok as varchar),'-') as [Rok ostatniego dokumentu]
	, isnull(cast(x.Miesiac as varchar),'-') as [Misiąc ostatniego dokumentu]
	, isnull(y.Dokument,'-') as [Rodzaj dokumentu]
from cdn.twrkarty as t
left join
	(
	select max(left(trn_rokmiesiac,4)) as [Rok], max(abs(right(trn_rokmiesiac,2))) as [Miesiac], tre_twrtyp as [TypTwr], tre_twrnumer as [NumerTwr], max(tre_gidnumer) as [NumerTre]
	from cdn.tranag
	join cdn.traelem on trn_gidtyp = tre_gidtyp and trn_gidnumer = tre_gidnumer
	group by tre_twrtyp, tre_twrnumer
	) as x
on t.twr_gidtyp = x.TypTwr and t.twr_gidnumer = x.NumerTwr
left join
	(
	select ob_skrot as [Dokument], trn_gidnumer as [NumerTrn]
	from cdn.obiekty
	join cdn.tranag on ob_gidtyp = trn_gidtyp
	) as y
on x.NumerTre = y.NumerTrn
where t.twr_typ = 1 and not exists (select 1 from cdn.twrzasoby where twz_twrtyp = t.twr_gidtyp and twz_twrnumer = t.twr_gidnumer and twz_ilspr > 0)
order by 4 desc
Oczywiście, wszelkie krytyczne lub pozytywne uwagi wskazane.
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

elmiq
Posty: 1025
Rejestracja: 23 sie 2010, 10:04
Rola: Administrator CDN XL
Lokalizacja: Warszawa

Re: Stany zerowe

Post autor: elmiq »

Tak tylko dodam Wacku, że powinieneś trochę bardziej wziąć złe zapytanie Piotra pod uwagę. Tzn. dobrą praktyką jest korzystanie z dzielenia liczb całkowitych i modulo zamiast funkcji :) A to czy interesują nas tylko dokumenty handlowe, czy też np. importowe są brane po uwagę to już inna sprawa (korekta takiej fakturki też może zmienić stan na 0). Znowu zależy od tego jak się patrzy na problem i czego oczekuje :D
Mateusz Świerkosz

http://elmiq.blogspot.com/

Awatar użytkownika
wacek
Posty: 709
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

Re: Stany zerowe

Post autor: wacek »

elmiq pisze:Tak tylko dodam Wacku, że powinieneś trochę bardziej wziąć złe zapytanie Piotra pod uwagę. Tzn. dobrą praktyką jest korzystanie z dzielenia liczb całkowitych i modulo zamiast funkcji A to czy interesują nas tylko dokumenty handlowe, czy też np. importowe są brane po uwagę to już inna sprawa (korekta takiej fakturki też może zmienić stan na 0). Znowu zależy od tego jak się patrzy na problem i czego oczekuje
:oops:
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

Awatar użytkownika
wacek
Posty: 709
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

Re: Stany zerowe

Post autor: wacek »

elmiq pisze:Tzn. dobrą praktyką jest korzystanie z dzielenia liczb całkowitych i modulo zamiast funkcji
Cenna uwaga. Ja też cały czas się uczę :)
elmiq pisze:czy też np. importowe są brane po uwagę to już inna sprawa
Czy dokumenty importowe np. FAI+FWS+FWZ nie muszą być zawsze kończone przez PZI?
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

ODPOWIEDZ