Po wymianie PW z OP-em takie cuś nam z tego wyszło:
SELECT
'Symbol'=tt.tw_Symbol
,'Nr. Kat'=tt.tw_DostSymbol
,'Nazwa' = CASE
WHEN tt.tw_Nazwa = ''
THEN '(Brak nazwy towaru)'
ELSE CASE
WHEN tt.tw_Nazwa IS NULL
THEN '(Usługa jednorazowa)'
ELSE tt.tw_Nazwa
END
END
,'Grupa'=slg.grt_Nazwa
,'Sprzedane_SUM'=SUM(z.ob_IloscMag * z.ob_Znak)
,'Brutto_Sum'=SUM(z.ob_WartBrutto * z.ob_Znak)
,'Netto_Sum'=SUM(z.ob_WartNetto * z.ob_Znak)
,'Dost_T'=SUM(ts1.st_Stan-ts1.st_StanRez)
,'Dost_D'=SUM(ts2.st_Stan-ts2.st_StanRez)
,'Sum_Dost'=SUM((ts1.st_Stan-ts1.st_StanRez)+(ts2.st_Stan-ts2.st_StanRez))
,'Koszt'=SUM(CASE
WHEN (z.ob_TowRodzaj & 6) > 0
THEN 0
ELSE dbo.fnZestSub_KosztSpr({D:Data OD:SELECT convert(date,getdate())}, z.ob_Id) * z.ob_Znak
END)
,'Zysk'=SUM((
z.ob_WartNetto - CASE
WHEN (z.ob_TowRodzaj & 6) > 0
THEN 0
ELSE dbo.fnZestSub_KosztSpr({D:Data OD:SELECT convert(date,getdate())}, z.ob_Id)
END
) * z.ob_Znak)
,'Marża' = CONVERT(MONEY, CASE
WHEN SUM(z.ob_WartNetto * z.ob_Znak) <> 0
THEN (
SUM((
z.ob_WartNetto - CASE
WHEN (z.ob_TowRodzaj & 6) > 0
THEN 0.0000
ELSE dbo.fnZestSub_KosztSpr({D:Data OD:SELECT convert(date,getdate())}, z.ob_Id)
END
) * z.ob_Znak) / SUM(z.ob_WartNetto * z.ob_Znak)
) * 100
ELSE 0.0000
END)
FROM vwZstSprzWgKhnt z
LEFT JOIN tw__Towar tt ON ob_TowId = tt.tw_Id AND ((z.dok_DataWyst >= {D:Data OD:SELECT convert(date,getdate())}) AND (z.dok_DataWyst <= {D:Data DO:SELECT convert(date,getdate())}))
LEFT JOIN sl_GrupaTw slg ON tt.tw_IdGrupa = slg.grt_Id
left join tw_Stan ts1 on tt.tw_Id=ts1.st_TowId and ts1.st_MagId={DB:select m1.mag_Id,m1.mag_Nazwa from sl_Magazyn m1 order by m1.mag_Nazwa:magazyn 1:1:TAM Sklep Tamka 37 }
left join tw_Stan ts2 on tt.tw_Id=ts2.st_TowId and ts2.st_MagId={DB:select m2.mag_Id,m2.mag_Nazwa from sl_Magazyn m2 order by m2.mag_Nazwa:magazyn 2:2:MDG Sklep Dzielna 5}
WHERE dok_Status <> 2
AND ((z.dok_DataWyst >= {D:Data OD:SELECT convert(date,getdate())}) AND (z.dok_DataWyst <= {D:Data DO:SELECT convert(date,getdate())}))
and ((z.dok_Podtyp & 0xffff) | ((z.dok_typ & 0xffff) * 65536)) in ({CHL_DB:select convert(int,0x020000),'Faktura sprzedaży' union all select convert(int,0x020001),'Faktura sprzedaży detaliczna' union all select convert(int,0x020002),'Faktura sprzedaży zbiorcza' union all select convert(int,0x020003),'Faktura zaliczkowa' union all select convert(int,0x040000),'Rachunek sprzedaży' union all select convert(int,0x060000),'Korekta faktury sprzedaży' union all select convert(int,0x060001),'Korekta faktury sprzedaży do nieistniejącego' union all select convert(int,0x0E0000),'Zwrot detaliczny' union all select convert(int,0x0E0001),'Zwrot detaliczny do nieistniejącego' union all select convert(int,0x150000),'Paragon' union all select convert(int,0x150002),'Paragon imienny' union all select convert(int,0x150003),'Paragon odebrany z kasy' union all select convert(int,0x150001),'Dokument fiskalny' union all select convert(int,0x020004),'FSzc Faktura sprzedaży zaliczkowa częściowa' union all select convert(int,0x020005),'FSzk Faktura sprzedaży zaliczkowa końcowa' union all select convert(int,0x060002),'KFSzc Korekta całkowita faktury zaliczkowej cząstkowej':typ dokumentu:131072,131074,131075,262144,393216,393217,917504,917505,1376256,1376258,1376259,1376257,131076,131077,393218:bez faktur detalicznych})
AND (z.dok_MagId IN ({CHL_DB: select distinct dd.dok_MagId, slm.mag_Nazwa from dok__Dokument dd inner join sl_Magazyn slm on dd.dok_MagId=slm.mag_Id and dd.dok_Typ in (2,6,14,21) UNION ALL SELECT -1, ' [dowolny magazyn]' order by slm.mag_Nazwa:magazyn:-1:dowolny})
or -1 IN ({CHL_DB: select distinct dd.dok_MagId, slm.mag_Nazwa from dok__Dokument dd inner join sl_Magazyn slm on dd.dok_MagId=slm.mag_Id and dd.dok_Typ in (2,6,14,21) UNION ALL SELECT -1, ' [dowolny magazyn]' order by slm.mag_Nazwa:magazyn:-1:dowolny}))
AND z.ob_TowRodzaj & 15 > 0
and (z.dok_KatId IN ({CHL_DB: select distinct dd.dok_KatId, slk.kat_Nazwa from dok__Dokument dd inner join sl_Kategoria slk on dd.dok_KatId=slk.kat_Id and dd.dok_Typ in (2,6,14,21) UNION ALL SELECT -1, ' [brak kategorii]' UNION ALL SELECT - 2, ' (wszystkie kategorie)' order by kat_Nazwa:kategoria dokumentu:-2:wszystkie kategorie})
or -2 in ({CHL_DB: select distinct dd.dok_KatId, slk.kat_Nazwa from dok__Dokument dd inner join sl_Kategoria slk on dd.dok_KatId=slk.kat_Id and dd.dok_Typ in (2,6,14,21) UNION ALL SELECT -1, ' [brak kategorii]' UNION ALL SELECT - 2, ' (wszystkie kategorie)' order by kat_Nazwa:kategoria dokumentu:-2:wszystkie kategorie}))
and (z.dok_RodzajOperacjiVat IN ({CHL_DB: SELECT -1 AS operacja_id, '(wszystkie transakcje)' AS operacja_nazwa UNION ALL SELECT 0, 'S - sprzedaż krajowa' UNION ALL SELECT 1, 'EX - eskport poza kraje EU' UNION ALL SELECT 2, 'WDT - wewnętrzspólnotowa dostawa towarów' UNION ALL SELECT 3, 'WTTD - transakcja trójstronna (dostawa)' UNION ALL SELECT 4, 'EXU - eksport usług' UNION ALL SELECT 6, 'OOS - odwrotne obciążenie (sprzedaż)' UNION ALL SELECT 12, 'SPTK - sprzedaż poza terytorium kraju' UNION ALL SELECT 21, 'OOU - odwrotne obciążenie świadczenie usług':rodzaj transakcji VAT:-1:wszystkie rodzaje})
or -1 in({CHL_DB: SELECT -1 AS operacja_id, '(wszystkie transakcje)' AS operacja_nazwa UNION ALL SELECT 0, 'S - sprzedaż krajowa' UNION ALL SELECT 1, 'EX - eskport poza kraje EU' UNION ALL SELECT 2, 'WDT - wewnętrzspólnotowa dostawa towarów' UNION ALL SELECT 3, 'WTTD - transakcja trójstronna (dostawa)' UNION ALL SELECT 4, 'EXU - eksport usług' UNION ALL SELECT 6, 'OOS - odwrotne obciążenie (sprzedaż)' UNION ALL SELECT 12, 'SPTK - sprzedaż poza terytorium kraju' UNION ALL SELECT 21, 'OOU - odwrotne obciążenie świadczenie usług':rodzaj transakcji VAT:-1:wszystkie rodzaje}))
and (tt.tw_IdGrupa IN ({CHL_DB:select distinct grupa_id=tt.tw_IdGrupa, grupa_nazwa=slg.grt_Nazwa from tw__Towar tt inner join sl_GrupaTw slg on tt.tw_IdGrupa=slg.grt_Id union all select -1, ' [wszystkie grupy]' order by grt_nazwa:z grupy:2:Zabawki})
or -1 in ({CHL_DB:select distinct grupa_id=tt.tw_IdGrupa, grupa_nazwa=slg.grt_Nazwa from tw__Towar tt inner join sl_GrupaTw slg on tt.tw_IdGrupa=slg.grt_Id union all select -1, ' [wszystkie grupy]' order by grt_nazwa:z grupy:2:Zabawki}))
and (z.ob_TowRodzaj IN ({CHL_DB: select -1 as rodzaj_id, '(dowolny)' as rodzaj_nazwa union all select 1, 'towar' union all select 8, 'komplet' union all select 2, 'usługa' union all select 4, 'opakowanie zwrotne':rodzaj elementu:-1:dowolny})
or -1 in ({CHL_DB: select -1 as rodzaj_id, '(dowolny)' as rodzaj_nazwa union all select 1, 'towar' union all select 8, 'komplet' union all select 2, 'usługa' union all select 4, 'opakowanie zwrotne':rodzaj elementu:-1:dowolny}))
and z.ob_towid IN ({LM:TW:Towar:(select tw_id from tw__towar):wszystkie})
and isnull(z.dok_platnikid,-1) IN ({LM:KH:Klient:(select kh_id from kh__kontrahent union all select -1):wszyscy})
and
(tw_Zablokowany IN ({LI:Dowolny#-1#Aktywny#0#Nieaktywny#1#:Towary o statusie:-1:dowolny}) or -1 IN ({LI:Dowolny#-1#Aktywny#0#Nieaktywny#1#:Towary o statusie:-1:dowolny}))
GROUP BY tt.tw_DostSymbol
,tt.tw_Nazwa
,tt.tw_Symbol
,slg.grt_Nazwa