
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER VIEW [dbo].[FakturyZaplacone]
AS
SELECT A.id_Agencji AS AgencjaId, A.Symbol AS Agencja, T.Symb AS Tytul, F.id_faktury AS FakturaId, 
-- jesli korekta to odejmij roznice od sumy szczegolow faktury
CASE
WHEN K.Roznica_Netto IS NULL THEN ROUND(SUM(FD.NETTO), 2)
ELSE ROUND(SUM(FD.NETTO) + K.Roznica_Netto, 2)
END AS FakturaNetto, 
CASE 
WHEN K.Roznica_Netto IS NULL THEN ROUND(SUM((FD.S_VAT + 1) * FD.NETTO), 2)
ELSE ROUND(SUM((FD.S_VAT + 1) * FD.NETTO) + K.Roznica_Brutto, 2)
END AS FakturaBrutto, 
FakturaWaluta = 
CASE
WHEN (F.waluta_miano IS NULL OR F.waluta_miano = '') THEN 'PLN'
ELSE F.waluta_miano
END,
F.waluta_brutto AS FakturaWalutaBrutto, 
W.brutto AS WplataBrutto, 
W.waluta_brutto AS WplataWalutaBrutto,
YEAR(W.dataWplaty) AS Rok,
MONTH(W.dataWplaty) AS Miesiac
FROM Faktura_Details FD
INNER JOIN dbo.[LISTA TYTUŁÓW] T on T.ID=FD.TYTUL
INNER JOIN faktury F on F.id_faktury=FD.id_faktury
INNER JOIN Wplaty W ON W.idFaktury=F.id_faktury
LEFT OUTER JOIN Agencje A on A.id_agencji = F.id_sprzedawcy
LEFT OUTER JOIN dbo.VIEW_KOREKTY AS K ON K.idZamowienia = F.idZamowienia
WHERE 
F.KOREKTA <> 1 
AND W.dataWplaty IS NOT NULL
--narazie wlacz faktury z Poznania i Katowic, jesli bedzie trzeba je wylaczycto odkomentuj:
--AND F.Numer_Roz <> 'POZ' AND F.Numer_Roz <> 'KAT'
GROUP BY F.id_faktury, F.numer_rok, F.suma_zaplat, F.waluta_miano, F.waluta_brutto, 
A.id_Agencji, A.Symbol, T.Symb, W.brutto, W.waluta_brutto, K.Roznica_Netto, K.Roznica_Brutto,
W.dataWplaty
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

