Przerobiłem swoje, sprawdziłem i powinno działać:
SELECT
CONVERT(VARCHAR(10),dok_DataWyst,121) as Data,
dok_Id as Id,
dok_NrPelny as Numer,
adr_Nazwa as Kontrahent,
CASE dok_KwGotowka
WHEN dok_KwWartosc THEN dok_KwGotowka
WHEN dok_KwWartosc*(-1) THEN dok_KwWartosc
WHEN (dok_KwWartosc+dok_KwDoZaplaty)*(-1) THEN dok_KwGotowka*(-1)
ELSE dok_KwGotowka
END as Gotówka,
CASE dok_KwDoZaplaty
WHEN dok_KwWartosc THEN dok_KwDoZaplaty
WHEN dok_KwWartosc*(-1) THEN dok_KwWartosc
WHEN (dok_KwWartosc+dok_KwGotowka)*(-1) THEN dok_KwDoZaplaty*(-1)
ELSE dok_KwDoZaplaty
END as Przelew,
CASE dok_KwDoZaplaty
WHEN dok_KwWartosc THEN dok_KwKarta
WHEN dok_KwWartosc*(-1) THEN dok_KwWartosc
WHEN (dok_KwWartosc+dok_KwKarta)*(-1) THEN dok_KwKarta*(-1)
ELSE dok_KwKarta
END as Karta
FROM
dok__Dokument dok LEFT JOIN adr__Ewid adr ON (dok.dok_OdbiorcaId = adr.adr_IdObiektu)
WHERE
(adr.adr_TypAdresu = 1)
AND
(dok.dok_Typ IN (2,6,21,15))
AND
(dok_DataWyst BETWEEN {DR: Z okresu::})
ORDER BY Data, Id