Zamówienia sprzedaży - pozycje niezrealizowane

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

Moderator: mikey

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

Zamówienia sprzedaży - pozycje niezrealizowane

Post autor: wacek »

Witam,
Czy aby pokazać pozycje niezrealizowane z zamówień sprzedaży muszę sięgać do CDN.Rezerwacje, czy wystarczą warunki:

NOT EXISTS (SELECT TrS_ZlcNumer FROM CDN.TraSElem WHERE TrS_ZlcTyp=ZaE_GIDTyp AND TrS_ZlcNumer=ZaE_GIDNumer AND TrS_ZlcLp=ZaE_GIDLp GROUP BY TrS_ZlcNumer HAVING SUM(TrS_Ilosc)=ZaE_Ilosc)
NOT EXISTS (SELECT MaS_ZlcNumer FROM CDN.MagSElem WHERE MaS_ZlcTyp=ZaE_GIDTyp AND MaS_ZlcNumer=ZaE_GIDNumer AND MaS_ZlcLp=ZaE_GIDLp GROUP BY MaS_ZlcNumer HAVING SUM(MaS_Ilosc)=ZaE_Ilosc)
Ostatnio zmieniony 07 paź 2014, 00:40 przez wacek, łącznie zmieniany 1 raz.
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

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

Re: Zamówienia sprzedaży - pozycje niezrealizowane

Post autor: taszek »

Ja swego czasu taki raport zrobiłem dla pozycji niezrealizowanych:

Kod: Zaznacz cały

SELECT	CDN.NumerDokumentu(CDN.DokMapTypDokumentu (ZaN_GIDTyp,ZaN_ZamTyp,ZaN_Rodzaj),0,0,ZaN_ZamNumer,ZaN_ZamRok,ZaN_ZamSeria,ZaN_ZamMiesiac) 'Nr_dokumentu'
		,ZaE_TwrKod 'Towar_Kod'
		,ZaE_TwrNazwa 'Towar_Nazwa'
		,CAST(ISNULL(MAG.Magazyn,0) as DECIMAL(10,0)) 'W magazynie'
		,ZAM.Zamówiona 'Zamówiona'
		,ISNULL(REZ.Niezrealizowana,0) 'Niezrealizowana'
		,ISNULL(REZ.Zarezerowana,0) 'Zarezerwowana'
		,Knt_Akronim 'Knt_Akronim'
		,Knt_Miasto 'Knt_Miasto'
		,CAST(DATEADD(D,ZaN_DataWystawienia,'18001228') as DATE) 'Data Wystawienia'
		,CAST(DATEADD(D,ZaN_DataRealizacji,'18001228') as DATE) 'Data Realizacji'
		,CAST(ISNULL(ZaE_CenaUzgodniona,0) as DECIMAL(10,2)) 'Cena/Szt.'
		,(CASE
			WHEN CAST(ISNULL(MAG.Magazyn,0) as DECIMAL(10,0)) <= CAST(SUM(ISNULL(ZaE_Ilosc,0)) as DECIMAL(10,0)) THEN CAST(ISNULL(MAG.Magazyn,0) * ISNULL(ZaE_CenaUzgodniona,0) as DECIMAL(10,2))
			WHEN CAST(ISNULL(MAG.Magazyn,0) as DECIMAL(10,0)) > CAST(SUM(ISNULL(ZaE_Ilosc,0)) as DECIMAL(10,0)) THEN CAST(SUM(ISNULL(ZaE_Ilosc,0)) * ISNULL(ZaE_CenaUzgodniona,0) as DECIMAL(10,2))
		 END ) 'Wartość'
		,ZaE_Waluta 'Waluta'
FROM CDN.ZamNag
JOIN CDN.KntKarty ON Knt_GIDTyp = ZaN_KntTyp AND Knt_GIDNumer = ZaN_KntNumer
JOIN CDN.KntAdresy AS E ON KnA_GIDNumer = ZaN_KnANumer AND KnA_GIDTyp = ZaN_KnATyp
JOIN CDN.ZamElem ON ZaE_GIDNumer = ZaN_GIDNumer AND ZaE_GIDTyp = ZaN_GIDTyp
LEFT JOIN (SELECT ZaE_TwrNumer 'TwrNr', ZaN_GIDNumer 'ZamNr'
			,CAST(SUM(ISNULL(ZaE_Ilosc,0)) as DECIMAL(10,0)) 'Zamówiona'
			FROM CDN.ZamElem
			JOIN CDN.ZamNag ON ZaE_GIDNumer = ZaN_GIDNumer AND ZaE_GIDTyp = ZaN_GIDTyp
			JOIN CDN.KntKarty ON Knt_GIDTyp = ZaN_KntTyp AND Knt_GIDNumer = ZaN_KntNumer
			JOIN CDN.KntAdresy AS E ON KnA_GIDNumer = ZaN_KnANumer
			WHERE {?CDN_Filtr}
			GROUP BY ZaE_TwrNumer, ZaN_GIDNumer) AS ZAM ON ZAM.TwrNr = ZaE_TwrNumer AND ZAM.ZamNr = ZaE_GIDNumer
LEFT JOIN (SELECT TwZ_TwrNumer
			,SUM(TwZ_Ilosc) 'Magazyn'
			FROM CDN.TwrZasoby
			JOIN CDN.ZamElem ON ZaE_TwrNumer = TwZ_TwrNumer
			JOIN CDN.ZamNag ON ZaE_GIDNumer = ZaN_GIDNumer AND ZaE_GIDTyp = ZaN_GIDTyp 
			JOIN CDN.KntKarty ON Knt_GIDTyp = ZaN_KntTyp AND Knt_GIDNumer = ZaN_KntNumer
			JOIN CDN.KntAdresy AS E ON KnA_GIDNumer = ZaN_KnANumer
			WHERE {?CDN_Filtr} AND ISNULL(TwZ_MagNumer,1) = 1
			GROUP BY TwZ_TwrNumer, ZaE_GIDNumer, ZaE_GIDLp) AS MAG ON ZaE_TwrNumer = MAG.TwZ_TwrNumer
LEFT JOIN (SELECT Rez_ZrdTyp
			,Rez_ZrdNumer
			,ZaE_TwrNumer 'RezTwrNr'
			,CAST(SUM(ISNULL(Rez_Ilosc,0)) as DECIMAL(10,0)) 'Zarezerowana'
			,CAST(SUM(ISNULL(Rez_Ilosc,0) - ISNULL(Rez_IloscMag,0) - ISNULL(Rez_Zrealizowano,0) - ISNULL(Rez_IloscImp,0) - ISNULL(Rez_IloscSAD,0) - ISNULL(Rez_IloscSSC,0)) as DECIMAL(10,0)) 'Niezrealizowana' 
			from CDN.Rezerwacje
			JOIN CDN.ZamElem ON ZaE_GIDTyp = Rez_ZrdTyp AND ZaE_GIDNumer = Rez_ZrdNumer and ZaE_GIDLp = Rez_ZrdLp
			JOIN CDN.ZamNag ON ZaE_GIDNumer = ZaN_GIDNumer AND ZaE_GIDTyp = ZaN_GIDTyp
			JOIN CDN.KntKarty ON Knt_GIDTyp = ZaN_KntTyp AND Knt_GIDNumer = ZaN_KntNumer
			JOIN CDN.KntAdresy AS E ON KnA_GIDNumer = ZaN_KnANumer
			WHERE {?CDN_Filtr}
			GROUP BY Rez_ZrdTyp, Rez_ZrdNumer, ZaE_TwrNumer) AS REZ ON ZaE_GIDTyp = REZ.Rez_ZrdTyp AND ZaE_GIDNumer = REZ.Rez_ZrdNumer AND REZ.RezTwrNr = ZaE_TwrNumer
WHERE {?CDN_Filtr}
GROUP BY ZaN_GIDTyp, ZaN_ZamTyp, ZaN_Rodzaj, ZaN_ZamNumer, ZaN_ZamRok, ZaN_ZamSeria, ZaN_ZamMiesiac, ZaE_TwrKod, ZaE_TwrNazwa, Knt_Akronim, Knt_Miasto, ZaN_DataWystawienia, ZaN_DataRealizacji, ZaE_CenaUzgodniona, ZaE_Waluta, ZAM.Zamówiona, MAG.Magazyn,  REZ.Zarezerowana, REZ.Niezrealizowana
Pozdrawiam
Wojtek Cyrklewicz

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

Re: Zamówienia sprzedaży - pozycje niezrealizowane

Post autor: wacek »

Dzięki kolego, ale chodziło mi o to czy muszę sięgać do CDN.Rezerwacje i sprawdzać ilości czy wystarczy jak sprawdzę ile wyszło przez CDN.TraSElem i CDN.MagSElem.
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

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

Re: Zamówienia sprzedaży - pozycje niezrealizowane

Post autor: taszek »

No jak widać po raporcie ja sięgałem do CDN.Rezerwacje, ponieważ XL też to robi.
Pozdrawiam
Wojtek Cyrklewicz

Awatar użytkownika
viesiek1
Posty: 416
Rejestracja: 03 maja 2011, 18:40
Rola: Administrator CDN XL
Wersja: 2023
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Zamówienia sprzedaży - pozycje niezrealizowane

Post autor: viesiek1 »

Ja zaś wychodzę z założenia, że ZS jest zrealizowany wtedy, gdy jest z niego wystawiony dokument handlowy, a dokładnie FS, FSE i PA:

Kod: Zaznacz cały

SELECT 
      1 AS Lp
    , CDN.NumerDokumentuTRN(9472, ZN1.ZaN_GIDTyp, ZN1.ZaN_GIDTyp, ZN1.ZaN_ZamNumer, ZN1.ZaN_ZamRok, ZN1.ZaN_ZamSeria) AS Nr_zamowienia
    , DATEADD(DD, ZaN_DataWystawienia, '18001228') AS Data
    , ZE1.ZaE_TwrKod AS Kod
    , ZE1.ZaE_TwrNazwa AS Nazwa
    , ZE1.ZaE_Ilosc AS Ilosc
    ,
    (ZE1.ZaE_Ilosc -
		(
		    SELECT ISNULL(SUM(Ilosc), 0) AS Zrealizowane FROM
		    (
			    SELECT SUM(TSE2.TrS_Ilosc) AS Ilosc
			    FROM CDN.ZamNag AS ZN2
				    LEFT JOIN CDN.ZamElem AS ZE2 ON ZE2.ZaE_GIDNumer = ZN2.ZaN_GIDNumer AND ZE2.ZaE_GIDTyp = ZN2.ZaN_GIDTyp
				    LEFT JOIN CDN.TraSElem TSE2 ON TSE2.TrS_ZlcNumer = ZE2.ZaE_GIDNumer and TSE2.TrS_ZlcTyp = ZE2.ZaE_GIDTyp AND TSE2.TrS_ZlcLp = ZE2.ZaE_GIDLp 				
                WHERE TSE2.TrS_GIDTyp IN (2033, 2034, 2037) AND ZN2.ZaN_GIDNumer = ZN1.ZaN_GIDNumer AND ZE2.ZaE_TwrNumer = ZE1.ZaE_TwrNumer AND ZE2.ZaE_GIDLp = ZE1.ZaE_GIDLp
		) AS Zam)
    ) AS Niezrealizowane
    , ZE1.ZaE_JmZ AS Jm
FROM CDN.ZamNag AS ZN1
	LEFT JOIN CDN.ZamElem AS ZE1 ON ZE1.ZaE_GIDNumer = ZN1.ZaN_GIDNumer AND ZE1.ZaE_GIDTyp = ZN1.ZaN_GIDTyp
WHERE 
    (
		(ZE1.ZaE_Ilosc -
			(
			    SELECT ISNULL(SUM(Ilosc), 0) AS Zrealizowane FROM
			    (
			        SELECT SUM(TSE2.TrS_Ilosc) AS Ilosc
			        FROM CDN.ZamNag AS ZN2
			            LEFT JOIN CDN.ZamElem AS ZE2 ON ZE2.ZaE_GIDNumer = ZN2.ZaN_GIDNumer AND ZE2.ZaE_GIDTyp = ZN2.ZaN_GIDTyp
			            LEFT JOIN CDN.TraSElem TSE2 ON TSE2.TrS_ZlcNumer = ZE2.ZaE_GIDNumer and TSE2.TrS_ZlcTyp = ZE2.ZaE_GIDTyp AND TSE2.TrS_ZlcLp = ZE2.ZaE_GIDLp 				
                    WHERE TSE2.TrS_GIDTyp IN (2033, 2034, 2037) AND ZN2.ZaN_GIDNumer = ZN1.ZaN_GIDNumer AND ZE2.ZaE_TwrNumer = ZE1.ZaE_TwrNumer AND ZE2.ZaE_GIDLp = ZE1.ZaE_GIDLp							
			) AS Zam)
		) 
    ) > 0
    AND (ZaN_GIDTyp = 960 AND ZaN_GIDNumer = 433175)
ORDER BY ZE1.ZaE_Pozycja
Wiesław Świergała

tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl

http://www.hydro.com.pl

Skywalker+
Posty: 8
Rejestracja: 11 lip 2022, 13:34
Rola: Użytkownik CDN XL

Re: Zamówienia sprzedaży - pozycje niezrealizowane

Post autor: Skywalker+ »

Witam!
Potrzebuję odwzorować raport CDN XL zamówień zrzucany do Excel (okno GUI CDN XL w załączeniu) wraz informacją o stanie zamówienia.
Próbowałem wykorzystać kody SQL z tego wątka, ale nie udało mi się powtórzyć/odtworzyć rezultatów raportu - zrzutu generowanego przez GUI.
Może ktoś coś ma w tym temacie gotowego?
Z góry dziękuję za pomoc i pozdrawiam,
LK
Załączniki
zestawienie braków z GUI CDN XL Comarch empty.PNG
zestawienie braków z GUI CDN XL Comarch empty.PNG (93.7 KiB) Przejrzano 1976 razy

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

Re: Zamówienia sprzedaży - pozycje niezrealizowane

Post autor: taszek »

Zerknij na widok CDN.ZamElemView - nie jestem pewny nazwy
Pozdrawiam
Wojtek Cyrklewicz

Awatar użytkownika
praiser
Posty: 685
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: Zamówienia sprzedaży - pozycje niezrealizowane

Post autor: praiser »

Nazwa widoku to: CDN.ZamElemListView

Podejście do realizacji zależne jest właściwie od modelu działalności. U siebie uznajemy za coś zrealizowanego gdy indeks jest wydany na WM.

Kod: Zaznacz cały

(....)
, isnull((select sum(mas_ilosc)
		from cdn.magnag
		join cdn.magselem on man_gidtyp=mas_gidtyp and man_gidnumer=mas_gidnumer
		where man_zantyp=zae_gidtyp and man_zannumer=zae_gidnumer and mas_twrtyp=zae_twrtyp and mas_twrnumer=zae_twrnumer
		group by mas_twrnumer
		),0) as [Ilość Zrealizowana]
	, zae_ilosc-isnull((select sum(mas_ilosc)
		from cdn.magnag
		join cdn.magselem on man_gidtyp=mas_gidtyp and man_gidnumer=mas_gidnumer
		where man_zantyp=zae_gidtyp and man_zannumer=zae_gidnumer and mas_twrtyp=zae_twrtyp and mas_twrnumer=zae_twrnumer
		group by mas_twrnumer
		),0) as [Ilość Niezrealizowana]
	, CAST(ZaE_CenaUzgodniona * (zae_ilosc-isnull((select sum(mas_ilosc)
		from cdn.magnag
		join cdn.magselem on man_gidtyp=mas_gidtyp and man_gidnumer=mas_gidnumer
		where man_zantyp=zae_gidtyp and man_zannumer=zae_gidnumer and mas_twrtyp=zae_twrtyp and mas_twrnumer=zae_twrnumer
		group by mas_twrnumer
		),0)) as decimal (18,2)) as [Wartość niezrealizowana]
(....)

--------------------------------
Pozdrawiam
WW

ODPOWIEDZ