0d1a845a-f667-401a-ad7c-c8b969acce27BAZA_REKLAM29.7cmStringtrueprawa_agencjetrueString=Year(Today)rokListaLatrokrokString=Month(Today)miesiac123456789101112StringListaAgencjiSymbolagencjaListaAgencjiSymbolSymboltrueString1Wydawca:12truetrue21cm0.25cmtrue1cm1cm1cm13f46e4e-7f57-4699-a788-f9c439b9a4ac21cmAgencjaSystem.StringAgentSystem.StringRokSystem.Int32MsSystem.Int32NrRozSystem.StringNettoSystem.DecimalVatSystem.DecimalBruttoSystem.DecimalSumaZaplatSystem.DecimalIloscSystem.Int32=Fields!Agencja.ValueIn=Parameters!agencja.ValueBAZA_REKLAMDECLARE @Korekty TABLE
(
Agencja nvarchar(50),
Agent nvarchar(100),
Rok int,
Ms int,
NrRoz nvarchar(8),
Netto money,
Vat money,
Brutto money,
SumaZaplat money,
Ilosc int
)
INSERT INTO @Korekty
SELECT Agencja, Agent, ROK, MS, NrRoz,
SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc
FROM
(
SELECT AGENCJE.Symbol AS Agencja, AGENCI.Nazwisko + ' ' + AGENCI.Imię AS Agent,
YEAR(Korekta.DATA_SPRZEDAZY) AS ROK, MONTH(Korekta.DATA_SPRZEDAZY) AS MS, Korekta.NUMER_ROZ AS NrRoz,
NETTO = Korekta.Roznica_Netto,
VAT = Korekta.Roznica_Vat,
BRUTTO = Korekta.Roznica_Netto * (1 + Korekta.S_Vat),
0 AS SZap
FROM VIEW_KOREKTY AS Korekta
INNER JOIN AGENCI ON Korekta.NUMER_ROZ = AGENCI.F_ROZ
INNER JOIN AGENCJE ON Korekta.Id_agencji = AGENCJE.Id_agencji
WHERE
YEAR(Korekta.DATA_SPRZEDAZY)=@rok AND MONTH(Korekta.DATA_SPRZEDAZY)=@miesiac
AND (AGENCJE.Id_agencji<>4 OR Korekta.NUMER_ROZ ='KAT') AND (AGENCJE.Id_agencji <>6 OR Korekta.NUMER_ROZ ='POZ')
AND Korekta.SystemKsiegowyId IN (@systemKsiegowy)
GROUP BY AGENCJE.Symbol, AGENCI.Nazwisko + ' ' + AGENCI.Imię, Korekta.ID_FAKTURY, Korekta.DATA_SPRZEDAZY,
YEAR(Korekta.DATA_SPRZEDAZY), Korekta.NUMER_ROZ,
Korekta.Roznica_Netto, Korekta.Roznica_Vat, Korekta.S_Vat
) T
GROUP BY Agencja, Agent, ROK, MS, NrRoz
DECLARE @Faktury TABLE
(
Agencja nvarchar(50),
Agent nvarchar(100),
Rok int,
Ms int,
NrRoz nvarchar(8),
Netto money,
Vat money,
Brutto money,
SumaZaplat money,
Ilosc int
)
INSERT INTO @Faktury
-- sprzedaz - faktury bez korekt
SELECT Agencja COLLATE SQL_Latin1_General_CP1250_CI_AS AS Agencja, Agent COLLATE SQL_Latin1_General_CP1250_CI_AS AS Agent, ROK, MS, NrRoz COLLATE SQL_Latin1_General_CP1250_CI_AS AS NrRoz,
SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc
FROM
(
SELECT AGENCJE.Symbol AS Agencja, AGENCI.Nazwisko + ' ' + AGENCI.Imię AS Agent,
YEAR(FAKTURY.DATA_SPRZEDAZY) AS ROK, MONTH(FAKTURY.DATA_SPRZEDAZY) AS MS, FAKTURY.NUMER_ROZ AS NrRoz,
NETTO = SUM(FAKTURA_DETAILS.NETTO),
VAT = SUM(FAKTURA_DETAILS.NETTO * FAKTURA_DETAILS.S_VAT),
BRUTTO = SUM(FAKTURA_DETAILS.NETTO * (1 + FAKTURA_DETAILS.S_VAT)),
FAKTURY.suma_zaplat AS SZap
FROM FAKTURY
INNER JOIN FAKTURA_DETAILS ON FAKTURY.ID_FAKTURY = FAKTURA_DETAILS.ID_FAKTURY
LEFT JOIN AGENCI ON FAKTURY.NUMER_ROZ = AGENCI.F_ROZ
LEFT JOIN AGENCJE ON FAKTURY.ID_SPRZEDAWCY = AGENCJE.Id_agencji
WHERE
YEAR(FAKTURY.DATA_SPRZEDAZY)=@rok AND MONTH(FAKTURY.DATA_SPRZEDAZY)=@miesiac
AND (AGENCJE.Id_agencji<>4 OR FAKTURY.NUMER_ROZ ='KAT') AND (AGENCJE.Id_agencji <>6 OR FAKTURY.NUMER_ROZ ='POZ')
AND FAKTURY.KOREKTA=0 AND FAKTURY.SystemKsiegowyId IN (@systemKsiegowy)
GROUP BY AGENCJE.Symbol, AGENCI.Nazwisko + ' ' + AGENCI.Imię, FAKTURY.ID_FAKTURY, FAKTURY.DATA_SPRZEDAZY,
YEAR(FAKTURY.DATA_SPRZEDAZY), FAKTURY.NUMER_ROZ, FAKTURY.suma_zaplat, FAKTURY.Korekta
) T
GROUP BY Agencja, Agent, ROK, MS, NrRoz
--ORDER BY Agencja, Agent
UPDATE F
SET F.Netto=F.Netto+K.Netto, F.Vat=F.Vat+K.Vat, F.Brutto=F.Brutto+K.Brutto
FROM @Faktury F, @Korekty K
WHERE F.Agencja=K.Agencja AND F.Agent=K.Agent
INSERT INTO @Faktury
SELECT * FROM @Korekty WHERE NrRoz NOT IN (SELECT NrRoz FROM @Faktury)
SELECT * FROM @Faktury
ORDER BY Agencja, Agent=Parameters!rok.Value=Parameters!miesiac.Value=Parameters!systemKsiegowy.ValuetruerokSystem.Int32BAZA_REKLAMselect distinct year(DATA_W) as rok from dbo.NR where DATA_W is not null and year(DATA_W) >=2009 order by year(DATA_W)desctrueSYMBSystem.StringBAZA_REKLAMSELECT SYMB
FROM [LISTA TYTUŁÓW]
WHERE (st_aktywny = - 1)trueId_agencjiSystem.Int32SymbolSystem.StringBAZA_REKLAMSELECT Id_agencji, Symbol
FROM AGENCJE where aktywna=1 and (@prawa_agencje is null or @prawa_agencje= Id_agencji)=Parameters!prawa_agencje.ValuetrueAgencjaSystem.StringAgentSystem.StringRokSystem.Int32MsSystem.Int32NrRozSystem.StringNettoSystem.DecimalVatSystem.DecimalBruttoSystem.DecimalSumaZaplatSystem.DecimalIloscSystem.Int32=Fields!Agencja.ValueIn=Parameters!agencja.ValueBAZA_REKLAMDECLARE @Korekty TABLE
(
Agencja nvarchar(50),
Agent nvarchar(100),
Rok int,
Ms int,
NrRoz nvarchar(8),
Netto money,
Vat money,
Brutto money,
SumaZaplat money,
Ilosc int
)
INSERT INTO @Korekty
SELECT Agencja, Agent, ROK, MS, NrRoz,
SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc
FROM
(
SELECT AGENCJE.Symbol AS Agencja, AGENCI.Nazwisko + ' ' + AGENCI.Imię AS Agent,
YEAR(Korekta.DATA_SPRZEDAZY) AS ROK, MONTH(Korekta.DATA_SPRZEDAZY) AS MS, Korekta.NUMER_ROZ AS NrRoz,
NETTO = Korekta.Roznica_Netto,
VAT = Korekta.Roznica_Vat,
BRUTTO = Korekta.Roznica_Netto * (1 + Korekta.S_Vat),
0 AS SZap
FROM VIEW_KOREKTY AS Korekta
INNER JOIN AGENCI ON Korekta.NUMER_ROZ = AGENCI.F_ROZ
INNER JOIN AGENCJE ON Korekta.Id_agencji = AGENCJE.Id_agencji
WHERE
YEAR(Korekta.DATA_SPRZEDAZY)=@rok AND MONTH(Korekta.DATA_SPRZEDAZY)=@miesiac
AND (AGENCJE.Id_agencji<>4 OR Korekta.NUMER_ROZ ='KAT') AND (AGENCJE.Id_agencji <>6 OR Korekta.NUMER_ROZ ='POZ')
AND Korekta.SystemKsiegowyId IN (@systemKsiegowy)
GROUP BY AGENCJE.Symbol, AGENCI.Nazwisko + ' ' + AGENCI.Imię, Korekta.ID_FAKTURY, Korekta.DATA_SPRZEDAZY,
YEAR(Korekta.DATA_SPRZEDAZY), Korekta.NUMER_ROZ,
Korekta.Roznica_Netto, Korekta.Roznica_Vat, Korekta.S_Vat
) T
GROUP BY Agencja, Agent, ROK, MS, NrRoz
DECLARE @Faktury TABLE
(
Agencja nvarchar(50),
Agent nvarchar(100),
Rok int,
Ms int,
NrRoz nvarchar(8),
Netto money,
Vat money,
Brutto money,
SumaZaplat money,
Ilosc int
)
INSERT INTO @Faktury
-- sprzedaz - faktury bez korekt
SELECT Agencja COLLATE SQL_Latin1_General_CP1250_CI_AS AS Agencja, Agent COLLATE SQL_Latin1_General_CP1250_CI_AS AS Agent, ROK, MS, NrRoz COLLATE SQL_Latin1_General_CP1250_CI_AS AS NrRoz,
SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc
FROM
(
SELECT AGENCJE.Symbol AS Agencja, AGENCI.Nazwisko + ' ' + AGENCI.Imię AS Agent,
YEAR(FAKTURY.DATA_SPRZEDAZY) AS ROK, MONTH(FAKTURY.DATA_SPRZEDAZY) AS MS, FAKTURY.NUMER_ROZ AS NrRoz,
NETTO = SUM(FAKTURA_DETAILS.NETTO),
VAT = SUM(FAKTURA_DETAILS.NETTO * FAKTURA_DETAILS.S_VAT),
BRUTTO = SUM(FAKTURA_DETAILS.NETTO * (1 + FAKTURA_DETAILS.S_VAT)),
FAKTURY.suma_zaplat AS SZap
FROM FAKTURY
INNER JOIN FAKTURA_DETAILS ON FAKTURY.ID_FAKTURY = FAKTURA_DETAILS.ID_FAKTURY
LEFT JOIN AGENCI ON FAKTURY.NUMER_ROZ = AGENCI.F_ROZ
LEFT JOIN AGENCJE ON FAKTURY.ID_SPRZEDAWCY = AGENCJE.Id_agencji
WHERE
FAKTURA_DETAILS.S_Vat=0
AND YEAR(FAKTURY.DATA_SPRZEDAZY)=@rok AND MONTH(FAKTURY.DATA_SPRZEDAZY)=@miesiac
AND (AGENCJE.Id_agencji<>4 OR FAKTURY.NUMER_ROZ ='KAT') AND (AGENCJE.Id_agencji <>6 OR FAKTURY.NUMER_ROZ ='POZ')
AND FAKTURY.KOREKTA=0 AND FAKTURY.SystemKsiegowyId IN (@systemKsiegowy)
GROUP BY AGENCJE.Symbol, AGENCI.Nazwisko + ' ' + AGENCI.Imię, FAKTURY.ID_FAKTURY, FAKTURY.DATA_SPRZEDAZY,
YEAR(FAKTURY.DATA_SPRZEDAZY), FAKTURY.NUMER_ROZ, FAKTURY.suma_zaplat, FAKTURY.Korekta
) T
GROUP BY Agencja, Agent, ROK, MS, NrRoz
--ORDER BY Agencja, Agent
UPDATE F
SET F.Netto=F.Netto+K.Netto, F.Vat=F.Vat+K.Vat, F.Brutto=F.Brutto+K.Brutto
FROM @Faktury F, @Korekty K
WHERE F.Agencja=K.Agencja AND F.Agent=K.Agent
INSERT INTO @Faktury
SELECT * FROM @Korekty WHERE NrRoz NOT IN (SELECT NrRoz FROM @Faktury)
SELECT * FROM @Faktury
ORDER BY Agencja, Agent=Parameters!systemKsiegowy.Value=Parameters!rok.Value=Parameters!miesiac.ValuetrueAgencjaSystem.StringAgentSystem.StringRokSystem.Int32MsSystem.Int32NrRozSystem.StringNettoSystem.DecimalVatSystem.DecimalBruttoSystem.DecimalSumaZaplatSystem.DecimalIloscSystem.Int32=Fields!Agencja.ValueIn=Parameters!agencja.ValueBAZA_REKLAMDECLARE @Korekty TABLE
(
Agencja nvarchar(50),
Agent nvarchar(100),
Rok int,
Ms int,
NrRoz nvarchar(8),
Netto money,
Vat money,
Brutto money,
SumaZaplat money,
Ilosc int
)
INSERT INTO @Korekty
SELECT Agencja, Agent, ROK, MS, NrRoz,
SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc
FROM
(
SELECT AGENCJE.Symbol AS Agencja, AGENCI.Nazwisko + ' ' + AGENCI.Imię AS Agent,
YEAR(Korekta.DATA_SPRZEDAZY) AS ROK, MONTH(Korekta.DATA_SPRZEDAZY) AS MS, Korekta.NUMER_ROZ AS NrRoz,
NETTO = Korekta.Roznica_Netto,
VAT = Korekta.Roznica_Vat,
BRUTTO = Korekta.Roznica_Netto * (1 + Korekta.S_Vat),
0 AS SZap
FROM VIEW_KOREKTY AS Korekta
INNER JOIN AGENCI ON Korekta.NUMER_ROZ = AGENCI.F_ROZ
INNER JOIN AGENCJE ON Korekta.Id_agencji = AGENCJE.Id_agencji
WHERE
YEAR(Korekta.DATA_SPRZEDAZY)=@rok AND MONTH(Korekta.DATA_SPRZEDAZY)=@miesiac
AND (AGENCJE.Id_agencji<>4 OR Korekta.NUMER_ROZ ='KAT') AND (AGENCJE.Id_agencji <>6 OR Korekta.NUMER_ROZ ='POZ')
AND Korekta.SystemKsiegowyId IN (@systemKsiegowy)
GROUP BY AGENCJE.Symbol, AGENCI.Nazwisko + ' ' + AGENCI.Imię, Korekta.ID_FAKTURY, Korekta.DATA_SPRZEDAZY,
YEAR(Korekta.DATA_SPRZEDAZY), Korekta.NUMER_ROZ,
Korekta.Roznica_Netto, Korekta.Roznica_Vat, Korekta.S_Vat
) T
GROUP BY Agencja, Agent, ROK, MS, NrRoz
DECLARE @Faktury TABLE
(
Agencja nvarchar(50),
Agent nvarchar(100),
Rok int,
Ms int,
NrRoz nvarchar(8),
Netto money,
Vat money,
Brutto money,
SumaZaplat money,
Ilosc int
)
INSERT INTO @Faktury
-- sprzedaz - faktury bez korekt
SELECT Agencja COLLATE SQL_Latin1_General_CP1250_CI_AS AS Agencja, Agent COLLATE SQL_Latin1_General_CP1250_CI_AS AS Agent, ROK, MS, NrRoz COLLATE SQL_Latin1_General_CP1250_CI_AS AS NrRoz,
SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc
FROM
(
SELECT AGENCJE.Symbol AS Agencja, AGENCI.Nazwisko + ' ' + AGENCI.Imię AS Agent,
YEAR(FAKTURY.DATA_SPRZEDAZY) AS ROK, MONTH(FAKTURY.DATA_SPRZEDAZY) AS MS, FAKTURY.NUMER_ROZ AS NrRoz,
NETTO = SUM(FAKTURA_DETAILS.NETTO),
VAT = SUM(FAKTURA_DETAILS.NETTO * FAKTURA_DETAILS.S_VAT),
BRUTTO = SUM(FAKTURA_DETAILS.NETTO * (1 + FAKTURA_DETAILS.S_VAT)),
FAKTURY.suma_zaplat AS SZap
FROM FAKTURY
INNER JOIN FAKTURA_DETAILS ON FAKTURY.ID_FAKTURY = FAKTURA_DETAILS.ID_FAKTURY
LEFT JOIN AGENCI ON FAKTURY.NUMER_ROZ = AGENCI.F_ROZ
LEFT JOIN AGENCJE ON FAKTURY.ID_SPRZEDAWCY = AGENCJE.Id_agencji
WHERE
FAKTURA_DETAILS.S_Vat<>0
AND YEAR(FAKTURY.DATA_SPRZEDAZY)=@rok AND MONTH(FAKTURY.DATA_SPRZEDAZY)=@miesiac
AND (AGENCJE.Id_agencji<>4 OR FAKTURY.NUMER_ROZ ='KAT') AND (AGENCJE.Id_agencji <>6 OR FAKTURY.NUMER_ROZ ='POZ')
AND FAKTURY.KOREKTA=0 AND FAKTURY.SystemKsiegowyId IN (@systemKsiegowy)
GROUP BY AGENCJE.Symbol, AGENCI.Nazwisko + ' ' + AGENCI.Imię, FAKTURY.ID_FAKTURY, FAKTURY.DATA_SPRZEDAZY,
YEAR(FAKTURY.DATA_SPRZEDAZY), FAKTURY.NUMER_ROZ, FAKTURY.suma_zaplat, FAKTURY.Korekta
) T
GROUP BY Agencja, Agent, ROK, MS, NrRoz
--ORDER BY Agencja, Agent
UPDATE F
SET F.Netto=F.Netto+K.Netto, F.Vat=F.Vat+K.Vat, F.Brutto=F.Brutto+K.Brutto
FROM @Faktury F, @Korekty K
WHERE F.Agencja=K.Agencja AND F.Agent=K.Agent
INSERT INTO @Faktury
SELECT * FROM @Korekty WHERE NrRoz NOT IN (SELECT NrRoz FROM @Faktury)
SELECT * FROM @Faktury
ORDER BY Agencja, Agent=Parameters!systemKsiegowy.Value=Parameters!rok.Value=Parameters!miesiac.Valuetrue19cm1cm