Kopiuj
IF @Rozbicie = 0
BEGIN
IF @kontoOd = @kontoDo
BEGIN
SELECT dko_KwotaMa, dko_KwotaWn, dko_Konto, CASE WHEN dko_Status = 5 THEN 'BO' ELSE dkr_NrPelny END AS dkr_NrPelny,
dko_DataDekretacji, dkr_DokumentZrodlowy, pwd_Tekst01,
CASE dkr_KontrolaBilansowania
WHEN 1 THEN ISNULL(vwKontaPrzeciwstawne.Przeciwstawne, 'Grupa kont')
WHEN 0 THEN 'dekret M do N'
ELSE 'BO'
END AS Przeciwstawne,
adr_NazwaPelna, adr_NIP, dkr_DataDokumentu, dko_LpWiersza,
CASE WHEN dko_Status = 5 THEN 'Bilans otwarcia' ELSE dko_Opis END AS dko_Opis
FROM dbo.dkr_Pozycja
LEFT JOIN dkr__Dokument ON dko_IdDokumentu = dkr_Id
LEFT JOIN vwKontaPrzeciwstawne ON dko_ID = IdZapisu
LEFT JOIN sl_RejestrKsiegowy ON rks_Symbol=dkr_Rejestr
LEFT JOIN kh__Kontrahent ON dkr_IdKh = kh_Id
LEFT JOIN adr__Ewid ON kh_Id = adr_IdObiektu AND adr_TypAdresu = 1
LEFT JOIN pw_Dane ON dkr_Id = pwd_IdObiektu
WHERE dko_IdRoku = @IdRoku AND dko_DataDekretacji BETWEEN @DataOd AND @DataDo AND dko_Konto LIKE @kontoOd
AND ((dko_Status = @Status OR dko_Status = 5) OR @Status = 0 )
AND (dkr_Rejestr = @Rejestr OR @Rejestr = '%' OR dko_Status = 5)
AND (@IdyRejestrow = '' OR dko_Status=5 OR rks_Id IN(SELECT id FROM dbo.fnTabelaIdow(@IdyRejestrow)))
ORDER BY dko_DataDekretacji,dko_Konto
END
ELSE
BEGIN
SELECT dko_KwotaMa, dko_KwotaWn, dko_Konto, CASE WHEN dko_Status = 5 THEN 'BO' ELSE dkr_NrPelny END AS dkr_NrPelny,
dko_DataDekretacji, dkr_DokumentZrodlowy, pwd_Tekst01,
CASE dkr_KontrolaBilansowania
WHEN 1 THEN ISNULL(vwKontaPrzeciwstawne.Przeciwstawne, 'Grupa kont')
WHEN 0 THEN 'dekret M do N'
ELSE 'BO'
END AS Przeciwstawne,
adr_NazwaPelna, adr_NIP, dkr_DataDokumentu, dko_LpWiersza,
CASE WHEN dko_Status = 5 THEN 'Bilans otwarcia' ELSE dko_Opis END AS dko_Opis
FROM dbo.dkr_Pozycja
LEFT JOIN dkr__Dokument ON dko_IdDokumentu = dkr_Id
LEFT JOIN vwKontaPrzeciwstawne ON dko_ID = IdZapisu
LEFT JOIN sl_RejestrKsiegowy ON rks_Symbol=dkr_Rejestr
LEFT JOIN kh__Kontrahent ON dkr_IdKh = kh_Id
LEFT JOIN adr__Ewid ON kh_Id = adr_IdObiektu AND adr_TypAdresu = 1
LEFT JOIN pw_Dane ON dkr_Id = pwd_IdObiektu
WHERE dko_IdRoku = @IdRoku AND dko_DataDekretacji BETWEEN @DataOd AND @DataDo
AND ((dko_Konto BETWEEN @kontoOd AND @kontoDo) OR (dko_Konto LIKE @KontoOd OR dko_Konto LIKE @KontoDo) )
AND ((dko_Status = @Status OR dko_Status = 5) OR @Status = 0 )
AND (dkr_Rejestr = @Rejestr OR @Rejestr = '%' OR dko_Status = 5)
AND (@IdyRejestrow = '' OR dko_Status=5 OR rks_Id IN(SELECT id FROM dbo.fnTabelaIdow(@IdyRejestrow)))
ORDER BY dko_DataDekretacji,dko_Konto
END
END
ELSE
BEGIN
SELECT dko_Id, dko_KwotaMa, dko_KwotaWn, dko_Konto, CASE WHEN dko_Status = 5 THEN 'BO' ELSE dkr_NrPelny END AS dkr_NrPelny,
dko_DataDekretacji, dkr_DokumentZrodlowy, pwd_Tekst01,
CASE dkr_KontrolaBilansowania
WHEN 1 THEN ISNULL(vwKontaPrzeciwstawne.Przeciwstawne, 'Grupa kont')
WHEN 0 THEN 'dekret M do N'
ELSE 'BO'
END AS Przeciwstawne,
adr_NazwaPelna, adr_NIP, dkr_DataDokumentu, dko_LpWiersza, dkr_Id, dko_Grupa,
CASE WHEN dko_Status = 5 THEN 'Bilans otwarcia' ELSE dko_Opis END AS dko_Opis
INTO
LEFT JOIN dkr__Dokument ON dko_IdDokumentu = dkr_Id
LEFT JOIN vwKontaPrzeciwstawne ON dko_ID = IdZapisu
LEFT JOIN sl_RejestrKsiegowy ON rks_Symbol=dkr_Rejestr
LEFT JOIN kh__Kontrahent ON dkr_IdKh = kh_Id
LEFT JOIN adr__Ewid ON kh_Id = adr_IdObiektu AND adr_TypAdresu = 1
LEFT JOIN pw_Dane ON dkr_Id = pwd_IdObiektu
WHERE dko_IdRoku = @IdRoku AND dko_DataDekretacji BETWEEN @DataOd AND @DataDo
AND ((dko_Status = @Status OR dko_Status = 5) OR @Status = 0 )
AND (dkr_Rejestr = @Rejestr OR @Rejestr = '%' OR dko_Status = 5)
AND (@IdyRejestrow = '' OR dko_Status=5 OR rks_Id IN(SELECT id FROM dbo.fnTabelaIdow(@IdyRejestrow)))
ORDER BY dko_DataDekretacji,dko_Konto;
IF @kontoOd = @kontoDo
BEGIN
SELECT * FROM (
SELECT
CASE Przeciwstawne WHEN 'Dekret M do N' THEN dko_KwotaMa WHEN 'BO' THEN dko_KwotaMa ELSE dko_KwotaWn END AS dko_KwotaMa,
CASE Przeciwstawne WHEN 'Dekret M do N' THEN dko_KwotaWn WHEN 'BO' THEN dko_KwotaWn ELSE dko_KwotaMa END AS dko_KwotaWn,
CASE Przeciwstawne WHEN 'Dekret M do N' THEN dko_Konto WHEN 'BO' THEN dko_Konto ELSE Przeciwstawne END AS dko_Konto,
dkr_NrPelny, dko_DataDekretacji, dkr_DokumentZrodlowy, pwd_Tekst01,
CASE Przeciwstawne WHEN 'Dekret M do N' THEN Przeciwstawne WHEN 'BO' THEN Przeciwstawne ELSE dko_Konto END AS Przeciwstawne,
adr_NazwaPelna, adr_NIP, dkr_DataDokumentu, dko_LpWiersza, dko_Opis
FROM
WHERE Przeciwstawne LIKE @kontoOd
OR
(dko_Konto LIKE @kontoOd AND (Przeciwstawne = 'dekret M do N' OR Przeciwstawne = 'BO' ) )
UNION ALL
SELECT dko_KwotaMa, dko_KwotaWn, dko_Konto, dkr_NrPelny, dko_DataDekretacji, dkr_DokumentZrodlowy, pwd_Tekst01, Przeciwstawne, adr_NazwaPelna, adr_NIP,
dkr_DataDokumentu, dko_LpWiersza, dko_Opis
FROM
WHERE
(dko_Konto LIKE @kontoOd AND (Przeciwstawne != 'Grupa kont' AND Przeciwstawne != 'dekret M do N' AND Przeciwstawne != 'BO' )
)
AND
not exists(
SELECT dko_id FROM
and Pom.dko_Grupa = GL.dko_Grupa AND Pom.dkr_Id=GL.dkr_Id )
) AS ZAPISY
ORDER BY dko_DataDekretacji, dko_Konto, dkr_NrPelny;
END
ELSE
BEGIN
SELECT * FROM (
SELECT
CASE Przeciwstawne WHEN 'Dekret M do N' THEN dko_KwotaMa WHEN 'BO' THEN dko_KwotaMa ELSE dko_KwotaWn END AS dko_KwotaMa,
CASE Przeciwstawne WHEN 'Dekret M do N' THEN dko_KwotaWn WHEN 'BO' THEN dko_KwotaWn ELSE dko_KwotaMa END AS dko_KwotaWn,
CASE Przeciwstawne WHEN 'Dekret M do N' THEN dko_Konto WHEN 'BO' THEN dko_Konto ELSE Przeciwstawne END AS dko_Konto,
dkr_NrPelny, dko_DataDekretacji, dkr_DokumentZrodlowy, pwd_Tekst01,
CASE Przeciwstawne WHEN 'Dekret M do N' THEN Przeciwstawne WHEN 'BO' THEN Przeciwstawne ELSE dko_Konto END AS Przeciwstawne,
adr_NazwaPelna, adr_NIP, dkr_DataDokumentu, dko_LpWiersza, dko_Opis
FROM
WHERE ((Przeciwstawne BETWEEN @kontoOd AND @kontoDo) OR (Przeciwstawne LIKE @KontoOd OR Przeciwstawne LIKE @KontoDo))
OR (((dko_Konto BETWEEN @kontoOd AND @kontoDo) OR (dko_Konto LIKE @KontoOd OR dko_Konto LIKE @KontoDo) )
AND (Przeciwstawne = 'dekret M do N' OR Przeciwstawne = 'BO' ))
UNION ALL
SELECT dko_KwotaMa, dko_KwotaWn, dko_Konto, dkr_NrPelny, dko_DataDekretacji, dkr_DokumentZrodlowy, pwd_Tekst01, Przeciwstawne, adr_NazwaPelna, adr_NIP,
dkr_DataDokumentu, dko_LpWiersza, dko_Opis
FROM
WHERE
((dko_Konto BETWEEN @kontoOd AND @kontoDo) AND (Przeciwstawne != 'Grupa kont' AND Przeciwstawne != 'dekret M do N' AND Przeciwstawne != 'BO' )
)
AND
not exists(
SELECT dko_id FROM
OR ((dko_Konto BETWEEN @kontoOd AND @kontoDo) AND (Przeciwstawne = 'dekret M do N' OR Przeciwstawne = 'BO' )))
and Pom.dko_Grupa = GL.dko_Grupa AND Pom.dkr_Id=GL.dkr_Id )
) AS ZAPISY
ORDER BY dko_DataDekretacji, dko_Konto, dkr_NrPelny;
END
END