root/trunk/SQL/Views/VIEW_ZESTAWIENIE_FAKTUR_STARE.txt @ 897

Wersja 865, 3.7 KB (wprowadzona przez marek, 16 years temu)

re #222 - dodano case dla przypadku gdy fakura jest w PLN a zaplata w walucie

Line 
1
2SET ANSI_NULLS ON
3GO
4SET QUOTED_IDENTIFIER ON
5GO
6
7ALTER view [dbo].[VIEW_ZESTAWIENIE_FAKTUR_STARE] as
8SELECT
9FAKTURY.ID_NABYWCY,
10FAKTURY.NUMER,
11FAKTURY.NUMER_ROZ,
12YEAR(FAKTURY.DATA_SPRZEDAZY) AS ROK,
13MONTH(FAKTURY.DATA_SPRZEDAZY) AS MS,
14FAKTURY.DATA_SPRZEDAZY,
15CONVERT(VARCHAR, FAKTURY.NUMER) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROZ) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROK) AS NR_FK,
16[LISTA TYTU£ÓW].SYMB AS TYTUL,
17SUM(FAKTURA_DETAILS.NETTO) AS NETTO,
18FAKTURA_DETAILS.S_VAT,
19SUM(FAKTURA_DETAILS.VAT) AS VAT,
20ROUND(SUM(FAKTURA_DETAILS.NETTO) * (1 + FAKTURA_DETAILS.S_VAT), 2) AS BRUTTO,
21FAKTURY.waluta_brutto,
22FAKTURY.waluta_miano,
23COALESCE(FAKTURY.suma_zaplat, 0) AS suma_zaplat,
24FAKTURY.ID_FAKTURY,
25AGENCI.Symbol,
26AGENCJE.Symbol AS Agencja,
27ZAPLACONO = CASE
28                        WHEN NOT (Wplaty.dataWplaty IS NULL) THEN
29                                CASE
30                                        WHEN dbo.Wplaty.waluta_miano='PLN' THEN
31                                                CASE
32                                                WHEN K.ID_FAKTURY IS NOT NULL THEN
33                                                        CASE
34                                                                WHEN ROUND(K.brutto-Wplaty.brutto,0)<=1 THEN 1
35                                                                ELSE 0
36                                                        END
37                                               
38                                                ELSE
39                                                         CASE
40                                                                WHEN ROUND((ROUND(SUM(FAKTURA_DETAILS.NETTO) * (1 + FAKTURA_DETAILS.S_VAT), 2)-Wplaty.brutto),0)<=1 THEN 1
41                                                                ELSE 0
42                                                         END
43                                                END
44                                        ELSE
45CASE
46                                                WHEN K.ID_FAKTURY IS NOT NULL THEN
47                                                        CASE
48                                                                WHEN ROUND(K.waluta_brutto-Wplaty.waluta_brutto,0)<=1 THEN 1
49                                                                ELSE 0
50                                                        END
51                                               
52                                                ELSE
53                                                CASE
54                                                        WHEN (FAKTURY.waluta_miano IS NULL OR FAKTURY.waluta_miano='') AND ROUND((ROUND(SUM(FAKTURA_DETAILS.NETTO) * (1 + FAKTURA_DETAILS.S_VAT), 2)-Wplaty.brutto),0)<=1 THEN 1
55                                                        WHEN ROUND(FAKTURY.waluta_brutto-dbo.Wplaty.waluta_brutto, 0)<=1 THEN 1
56                                                        ELSE 0
57                                                END
58END
59                        END
60                        ELSE REKLAMA.ZAP£ACONO
61END,
62REKLAMA.ZAP£ACONO,
63reklama.[DATA ZAP£ATY],
64FAKTURY.zaplata_data,
65reklama.[reklamaId],
66KLIENCI.firstname,
67FAKTURY.TERMIN_ZAPLATY,
68Reklama.GRZBIET,FAKTURY.ID_TYTUL,
69Wplaty.dataWplaty,
70Wplaty.brutto as wplata_brutto,
71dbo.Wplaty.waluta_brutto as wplata_waluta_brutto,
72dbo.Wplaty.waluta_miano as wplata_waluta_miano,
73Wplaty.idWplaty,
74FAKTURY.Korekta,
75Wplaty.idZamowienia,
76IsKorekta = CASE WHEN K.ID_FAKTURY IS NOT NULL THEN 1 ELSE 0 END,
77IdKorekty = K.ID_Faktury
78FROM FAKTURY
79LEFT JOIN FAKTURA_DETAILS ON FAKTURY.ID_FAKTURY = FAKTURA_DETAILS.ID_FAKTURY
80LEFT JOIN [LISTA TYTU£ÓW] ON FAKTURY.ID_TYTUL = [LISTA TYTU£ÓW].id
81LEFT JOIN AGENCI ON FAKTURY.NUMER_ROZ = AGENCI.F_ROZ
82LEFT JOIN AGENCJE ON AGENCI.ID_AGENCJI = AGENCJE.Id_agencji
83LEFT JOIN REKLAMA ON FAKTURY.[id_faktury] = reklama.[id_faktury]
84LEFT OUTER JOIN  KLIENCI ON FAKTURY.ID_NABYWCY = KLIENCI.customerId 
85LEFT JOIN Wplaty on FAKTURY.Id_faktury= Wplaty.idfaktury
86LEFT JOIN VIEW_KOREKTY K ON K.idFakturyVat = FAKTURY.ID_FAKTURY
87WHERE FAKTURY.KOREKTA<>1
88GROUP BY
89FAKTURY.ID_NABYWCY,
90FAKTURY.NUMER,
91FAKTURY.NUMER_ROZ,
92FAKTURY.NUMER_ROZ,
93YEAR(FAKTURY.DATA_SPRZEDAZY),
94FAKTURY.DATA_SPRZEDAZY,
95CONVERT(VARCHAR, FAKTURY.NUMER) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROZ) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROK),
96FAKTURY.suma_zaplat,
97FAKTURA_DETAILS.S_VAT,
98FAKTURY.ID_FAKTURY,
99[LISTA TYTU£ÓW].SYMB,
100FAKTURY.waluta_brutto,
101FAKTURY.waluta_miano,
102AGENCI.Symbol,
103AGENCJE.Symbol,
104FAKTURY.ZAPLACONO,
105reklama.[DATA ZAP£ATY],
106FAKTURY.zaplata_data,
107reklama.[reklamaId],
108REKLAMA.ZAP£ACONO,
109KLIENCI.firstname,
110FAKTURY.TERMIN_ZAPLATY,
111Reklama.GRZBIET,FAKTURY.ID_TYTUL,
112Wplaty.dataWplaty,Wplaty.brutto,
113dbo.Wplaty.waluta_brutto,
114dbo.Wplaty.waluta_miano,
115Wplaty.idWplaty,
116FAKTURY.Korekta,
117Wplaty.idZamowienia,
118K.ID_FAKTURY,
119K.brutto,
120K.waluta_brutto
121GO
122
123SET ANSI_NULLS OFF
124GO
125SET QUOTED_IDENTIFIER OFF
126GO
127
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.