Wciągnięcie modyfikacji danych w księgach rozliczeniowych - OPTIMA
DECLARE @Od date = '2026-01-01'; -- okno akcji: początek roku
DECLARE @Do date = '2026-07-08'; -- koniec półotwarty = do 7 lipca włącznie
DECLARE @StareOd date = '2025-01-01'; -- "stare księgi": rok 2025
DECLARE @StareDo date = '2026-01-01';
IF OBJECT_ID('tempdb..#baza') IS NOT NULL DROP TABLE #baza;
SELECT
n.DeN_DeNId,
n.DeN_Dziennik,
n.DeN_NrDziennika,
n.DeN_DataDok,
n.DeN_Bufor,
n.DeN_TS_Zal,
n.DeN_TS_Mod,
CASE WHEN n.DeN_TS_Zal >= @Od AND n.DeN_TS_Zal < @Do
THEN 'Nowy wpis z datą 2025'
ELSE 'Modyfikacja starego wpisu' END AS TypZmiany,
CASE WHEN n.DeN_TS_Zal >= @Od AND n.DeN_TS_Zal < @Do
THEN n.DeN_TS_Zal ELSE n.DeN_TS_Mod END AS AkcjaTS
INTO #baza
FROM CDN.DekretyNag n
WHERE n.DeN_DataDok >= @StareOd AND n.DeN_DataDok < @StareDo -- księga 2025
AND ( (n.DeN_TS_Zal >= @Od AND n.DeN_TS_Zal < @Do)
OR (n.DeN_TS_Mod >= @Od AND n.DeN_TS_Mod < @Do) ); -- ruszone w 2026
-- 1) LISTA SZCZEGÓŁOWA
SELECT
b.DeN_Dziennik,
b.DeN_NrDziennika,
b.DeN_DataDok AS DataKsieg_2025,
b.AkcjaTS AS KiedyRuszone_2026,
b.TypZmiany,
b.DeN_Bufor,
e.DeE_KontoWn,
e.DeE_KontoMa,
e.DeE_Kwota,
e.DeE_Kategoria,
e.DeE_Dokument
FROM #baza b
JOIN CDN.DekretyElem e ON e.DeE_DeNId = b.DeN_DeNId
ORDER BY b.AkcjaTS, b.DeN_Dziennik, b.DeN_NrDziennika, e.DeE_Lp;
-- 2) PODSUMOWANIE: ile dokumentów dot. 2025 ruszono w kolejnych miesiącach 2026
SELECT
DATEFROMPARTS(YEAR(b.AkcjaTS), MONTH(b.AkcjaTS), 1) AS MiesiacAkcji,
b.TypZmiany,
COUNT(*) AS LiczbaDokumentow,
SUM(CASE WHEN b.DeN_Bufor = 1 THEN 1 ELSE 0 END) AS WBuforze
FROM #baza b
GROUP BY DATEFROMPARTS(YEAR(b.AkcjaTS), MONTH(b.AkcjaTS), 1), b.TypZmiany
ORDER BY MiesiacAkcji, TypZmiany;
DROP TABLE #baza;
Wynik:
