SELECT dok_Id, dok_DataWyst, dok_NrPelny, adrh_Nazwa, dok_WartNetto, dok_WartBrutto, dok_Wystawil,
SUM((CASE WHEN (dok_Typ = 2 AND dok_PodTyp = 4) THEN 0 ELSE (CASE WHEN (dok_Pozycja.ob_TowRodzaj&6)>0 THEN 0 ELSE dbo.fnZestSub_KosztSpr('20181031', dok_Pozycja.ob_Id)*dok_Pozycja.ob_Znak END) END) * (CASE WHEN dok_Typ = 14 THEN -1 ELSE 1 END)
+ (CASE WHEN (dok_Typ = 2 AND dok_PodTyp = 5) THEN (CASE WHEN (dok_Pozycja.ob_TowRodzaj&6)>0 THEN 0 ELSE dbo.fnZestSub_KosztSpr('20181031', dok_Pozycja.ob_DoId)*dok_Pozycja.ob_Znak END) ELSE 0 END))
as dok_WartMag,
( dok_WartNetto + (dok_WartOpWyd-dok_WartOpZwr) ) - SUM((CASE WHEN (dok_Typ = 2 AND dok_PodTyp = 4) THEN 0 ELSE (CASE WHEN (dok_Pozycja.ob_TowRodzaj&6)>0 THEN 0 ELSE dbo.fnZestSub_KosztSpr('20181031', dok_Pozycja.ob_Id)*dok_Pozycja.ob_Znak END) END) * (CASE WHEN dok_Typ = 14 THEN -1 ELSE 1 END)
+ (CASE WHEN (dok_Typ = 2 AND dok_PodTyp = 5) THEN (CASE WHEN (dok_Pozycja.ob_TowRodzaj&6)>0 THEN 0 ELSE dbo.fnZestSub_KosztSpr('20181031', dok_Pozycja.ob_DoId)*dok_Pozycja.ob_Znak END) ELSE 0 END))
as Zysk,
Marza = ROUND(CONVERT(MONEY, CASE WHEN ( dok_WartNetto + (dok_WartOpWyd-dok_WartOpZwr) ) <> 0 THEN
100* (( dok_WartNetto + (dok_WartOpWyd-dok_WartOpZwr) ) - SUM((CASE WHEN (dok_Typ = 2 AND dok_PodTyp = 4) THEN 0 ELSE
(CASE WHEN (dok_Pozycja.ob_TowRodzaj&6)>0 THEN 0 ELSE dbo.fnZestSub_KosztSpr('20181031', dok_Pozycja.ob_Id)*dok_Pozycja.ob_Znak END) END)
* (CASE WHEN dok_Typ = 14 THEN -1 ELSE 1 END) + (CASE WHEN (dok_Typ = 2 AND dok_PodTyp = 5) THEN (CASE WHEN (dok_Pozycja.ob_TowRodzaj&6)>0
THEN 0 ELSE dbo.fnZestSub_KosztSpr('20181031', dok_Pozycja.ob_DoId)*dok_Pozycja.ob_Znak END) ELSE 0 END)) ) /
( dok_WartNetto + (dok_WartOpWyd-dok_WartOpZwr) ) ELSE 0.00 END), 2) * (CASE WHEN ((dok_Typ = 14) OR ((dok_Typ = 6) AND (( dok_WartNetto + (dok_WartOpWyd-dok_WartOpZwr) ) < 0))) THEN -1 ELSE 1 END) ,
YEAR(dok_DataWyst) AS Rok
, mag_Symbol + ' ' + mag_Nazwa AS magazyn
FROM vwZstSprzWgDok
LEFT JOIN adr_Historia ON dok_PlatnikAdreshId = adrh_Id
LEFT JOIN dok_Pozycja ON dok_Id = ob_DokHanId
LEFT JOIN sl_Magazyn ON mag_Id = dok_MagId
WHERE (( (dok_DataWyst>='20181001') AND (dok_DataWyst<='20181031') ) AND (dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) IN (131072,131074)) AND (dok_MagId IN (1))) AND dok_Status<>2 AND NOT((dok_Typ = 6) AND (dok_Podtyp = 2))
GROUP BY dok_Id, dok_typ, dok_DataWyst, dok_NrPelny, dok_Wystawil, adrh_Nazwa, dok_WartNetto, dok_WartBrutto, dok_WartMag, dok_WartOpWyd, dok_WartOpZwr, mag_Symbol, mag_Nazwa
ORDER BY dok_Id
W dok_Wystawil powinien pokazywać się użytkownik który wystawił dokument
a błędy w screenach