Hej,
Z racji tego że jednak najwyraźniej nikt nie dysponował takim raportem jak szukałem (jeden z kolegów pomógł ale to jeszcze nie było to czego szukałem) to zakasałem rękawy i sam sobie napisałem potrzebny wydruk. Na razie jest w fazie testów - koleżanki mają sprawdzić czy wszystko dobrze się liczy. No a potem będzie czas na doszlifowanie pewnych elementów jak np. dodatkowo pokazywanie marży (kwotowo i procentowo) osiągniętej na danym kontrahencie. A wygląda to tak:
Acha, trzeba kliknąć aby otworzyć w większym rozmiarze
No i oczywiście jeśli okaże się że wszystko bangla poprawnie i że będą na niego chętni to zostanie upubliczniony
Kyniu
Raport "Sprzedaż do klientów według grup towarowych"
Moderator: mikey
- wojtek
- Posty: 359
- Rejestracja: 14 gru 2007, 12:23
- Rola: Administrator CDN XL
- Wersja: 9.8
- Lokalizacja: pomorskie
Re: Raport "Sprzedaż do klientów według grup towarowych"
a może by podejść do sprawy nieco inaczej i zrobić to w formie widoku i dane prezentować w excelu
pozdrawiam
Kod: Zaznacz cały
USE [baza]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [CDN].[SPRZEDAZ_GRUPY]
AS
SELECT
CDN.TwrGrupaPelnaNazwa(G1.TGD_GidNumer) as Towar_GrupaPelnaNazwa,
IsNull(G1.TGD_Kod,'ND') AS Towar_Grupa,
IsNull(Twr_Kod,'A-Vista') AS Towar_Kod,
IsNull(Twr_Nazwa,'A-Vista') AS Towar_Nazwa,
KntKarty.Knt_Akronim AS Klient_Akronim,
KntKarty.Knt_Nazwa1 AS Klient_Nazwa,
Year(convert(datetime,TrN_Data3-36163,105))AS Rok,
DatePart(quarter,(convert(datetime,TrN_Data3-36163,105))) AS Kwartal,
Month(convert(datetime,TrN_Data3-36163,105))AS Data_Miesiac,
DatePart(week,(convert(datetime,TrN_Data3-36163,105)))-1 AS Tydzien_Roku,
DatePart(weekday,(convert(datetime,TrN_Data3-36163,105))) AS Dzien_Tygodnia,
convert(datetime,TrN_Data3-36163,105) Data_DataZakSpr,
TrS_Ilosc AS Ilosc,
TrE_UpustKnt As UpustKlienta,
convert(decimal(15,1),TrE_Rabat) As Rabat,
TrE_Poczatkowa AS Cena_Przed_Rabatem,
TrE_Cena AS Cena_Po_Rabacie,
CASE WHEN TrS_Ilosc=0
THEN (TRE_KsiegowaNetto/(SELECT Count(*) FROM cdn.TraSElem TS WHERE TRS_GidTyp=TrE_GidTyp and Trs_GidNumer=TrE_GidNumer and Trs_GidLp=TrE_GidLP))
ELSE CASE WHEN TrE_FlagaNB='B' THEN TrE_Cena*TrS_Ilosc/((100+TrE_StawkaPod)/100)
ELSE (TrE_Cena*TrS_Ilosc) END END
AS Przychod_Netto,
CASE WHEN TrS_Ilosc=0 THEN (TRE_KsiegowaBrutto/(SELECT Count(*) FROM cdn.TraSElem TS WHERE TRS_GidTyp=TrE_GidTyp and Trs_GidNumer=TrE_GidNumer and Trs_GidLp=TrE_GidLP))
ELSE TrE_Cena*TrS_Ilosc*(1+TrE_StawkaPod/100) END
AS Przychod_Brutto,
TrS_KosztKsiegowy AS Koszt,
(round((CASE WHEN TrS_Ilosc=0 THEN (TRE_KsiegowaNetto/(SELECT Count(*) FROM cdn.TraSElem TS WHERE TRS_GidTyp=TrE_GidTyp and Trs_GidNumer=TrE_GidNumer and Trs_GidLp=TrE_GidLP))
ELSE (CASE WHEN TrE_FlagaNB='B' THEN TrE_Cena*TrS_Ilosc/((100+TrE_StawkaPod)/100)
ELSE TrE_Cena*TrS_Ilosc END) END) * (TrN_KursL/TrN_KursM),2)-TrS_KosztKsiegowy) AS Wynik,
TrS_GIDTyp, TrS_GIDNumer, TrS_GIDLp, TrS_SubGIDLp
FROM cdn.TraNag TraNag
INNER JOIN cdn.Obiekty
ON (TrN_GidTyp=Ob_GidTyp)
INNER JOIN cdn.TraElem TraElem
ON (TraNag.TrN_GIDTyp = TraElem.TrE_GIDTyp
AND TraNag.TrN_GIDNumer = TraElem.TrE_GIDNumer)
LEFT OUTER JOIN (CDN.KntKarty KntKarty left outer join cdn.KntGrupyDom K0
ON (Knt_GidTyp=K0.KGD_GidTyp and Knt_GidNumer=K0.KGD_GidNumer) left outer join cdn.KntGrupyDom K1
ON (K0.KGD_GrOTyp=K1.Kgd_GidTyp And K0.KGD_GrONumer=K1.Kgd_GidNumer))
ON (TraNag.TrN_KntTyp = KntKarty.Knt_GIDTyp
AND TraNag.Trn_KntNumer = KntKarty.Knt_GIDNumer )
LEFT OUTER JOIN CDN.KntKarty KntD
ON (TraNag.TrN_KnDTyp=KntD.Knt_GIDTyp
AND TraNag.TrN_KnDNumer=KntD.Knt_GIDNumer)
LEFT OUTER JOIN CDN.KntAdresy AdW
ON (TraNag.TrN_AdWTyp=AdW.KnA_GIDTyp
AND TraNag.TrN_AdWNumer=AdW.KnA_GIDNumer)
LEFT OUTER JOIN CDN.TraSElem TraSElem
ON (TraElem.TrE_GIDTyp = TraSElem.TrS_GIDTyp
AND TraElem.TrE_GIDNumer = TraSElem.TrS_GIDNumer
AND TraElem.TrE_GIDLP = TraSElem.TrS_GIDLP)
LEFT OUTER Join cdn.Dostawy ON Dst_GidTyp=TrS_DstTyp and Dst_GidNumer=TrS_DstNumer
LEFT OUTER JOIN cdn.Magazyny
ON (TrS_MagTyp=Mag_GidTyp AND TrS_MagNumer=Mag_GidNumer)
LEFT OUTER JOIN (CDN.TwrKarty TwrKarty inner join cdn.TwrGrupyDom G0
ON (Twr_GidTyp=G0.TGD_GidTyp and Twr_GidNumer=G0.TGD_GidNumer) inner join cdn.TwrGrupyDom G1
ON (G0.TGD_GrOTyp=G1.Tgd_GidTyp And G0.TGD_GrONumer=G1.Tgd_GidNumer))
ON (TraElem.TrE_TwrTyp = TwrKarty.Twr_GIDTyp
AND TraElem.TrE_TwrNumer = TwrKarty.Twr_GIDNumer
AND TraElem.TrE_TwrLP = TwrKarty.Twr_GIDLP)
WHERE (TrN_GidTyp in (2001,2003,2005,2009,2013,2033,2034,2037,2041,2042,2045))
-
- Posty: 417
- Rejestracja: 21 mar 2008, 10:10
- Rola: Administrator CDN XL
- Lokalizacja: Świętokrzyskie, Kielce
Re: Raport "Sprzedaż do klientów według grup towarowych"
Z różnych powodów (nie ma o czym dyskutować, niech będzie że tak już po prostu mam) nie chcę operować na poziomie bazy czyli tworzyć procedury, widoku, etc... zapisywanych w bazie. Stąd wydruk wydaje mi się najbardziej neutralnym podejściem, aczkolwiek ma swoje wady.wojtek pisze:a może by podejść do sprawy nieco inaczej i zrobić to w formie widoku i dane prezentować w excelu
Kyniu