Przeterminowane Należności (w tym płatności częściowe)

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

lmaz
Posty: 5
Rejestracja: 28 lip 2015, 15:32
Rola: Użytkownik CDN XL
Wersja: 2014

Przeterminowane Należności (w tym płatności częściowe)

Post autor: lmaz »

Witam,
potrzebuję utworzyć zapytanie pokazujące przeterminowane należności z ujęciem płatności częściowych z lat 2014/2015.
Przeglądając forum znalazłem wskazówki dotyczące wykorzystania tabel CDN.TraNag oraz CDN.TraPlat.
Prosiłbym o weryfikację poniższego zapytania, oraz korektę.

Kod: Zaznacz cały

SELECT TrN_DokumentObcy,
		TrN_ZamDokumentObcy,
		TrN_NettoP,
		TrN_NettoR,
		TrP_Pozostaje,
		TrP_Kwota,
		KnA_Akronim
FROM CDN.TraNag left join CDN.TraPlat on 
TrN_GIDTyp = TrP_GIDTyp AND TrN_GIDNumer = TrP_GIDNumer
left join CDN.KntAdresy on
KnA_GIDTyp = TrN_AdWTyp AND KnA_GIDNumer = TrN_AdWNumer
where (Trn_DataRoz = 0) AND ((TrN_DeklRok = '2014')  OR (TrN_DeklRok = '2015')) AND TrN_TrNTyp = 3;

Awatar użytkownika
STAY_PJE
Posty: 646
Rejestracja: 24 wrz 2009, 12:08
Rola: Konsultant CDN XL
Lokalizacja: Warszawa i od Helu do Wawelu
Kontakt:

Re: Przeterminowane Należności (w tym płatności częściowe)

Post autor: STAY_PJE »

Konstrukcja zapytania jest poprawna, nie napisałeś jednak czy zależy Ci na uzyskaniu stanu obecnego czy historycznego. Jeśli obecnego to wystarczy odnieść się do tabeli TraPlat, w której zapisana jest informacja o kwocie pozostającej do zapłaty na dzień dzisiejszy. Jeśli chcesz uzyskać stan historyczny to musisz odnieść się do tabeli CDN.Rozliczenia. Temat korzystania z tej tabeli był już poruszany na forum.

lmaz
Posty: 5
Rejestracja: 28 lip 2015, 15:32
Rola: Użytkownik CDN XL
Wersja: 2014

Re: Przeterminowane Należności (w tym płatności częściowe)

Post autor: lmaz »

Stanu obecnego.

lmaz
Posty: 5
Rejestracja: 28 lip 2015, 15:32
Rola: Użytkownik CDN XL
Wersja: 2014

Re: Przeterminowane Należności (w tym płatności częściowe)

Post autor: lmaz »

Czyli jeżeli chcę skorzystać z tabeli TraPlat to dla przeterminowanych należności to komórka TrP_Pozostaje (Kwota pozostająca do zapłaty), TrP_Rozliczona = 0, TrP_Typ = 2.
Taka forma weźmie przeterminowane należności, czy bieżące należności, czy jedne i drugie. Jeżeli chcę tylko należności z lat 2014/2015 nie powinienem ograniczyć wyników datą z pola TrN_Termin. Czy przy takich ograniczeniach nie skorzystać z tabeli TraNag.
Druga kwestia dla bieżących należności jakie podać ograniczenia, czy też data z komórki TrN_Termin.

john_doe
Posty: 649
Rejestracja: 26 maja 2008, 22:15
Rola: Inny

Re: Przeterminowane Należności (w tym płatności częściowe)

Post autor: john_doe »

daj select z cdn.preliminarzview złącz z kontrahentami. polecam

lmaz
Posty: 5
Rejestracja: 28 lip 2015, 15:32
Rola: Użytkownik CDN XL
Wersja: 2014

Re: Przeterminowane Należności (w tym płatności częściowe)

Post autor: lmaz »

próbowałem, nie jestem w stanie ograniczyć wyników zapytania korzystając cdn.preliminarzview tylko do danych które mnie interesują.
dopiero uczę się struktury bazy i pewnie w tym jest problem.

taszek
Posty: 588
Rejestracja: 12 wrz 2012, 13:20
Rola: Administrator CDN XL
Wersja: 2016

Re: Przeterminowane Należności (w tym płatności częściowe)

Post autor: taszek »

Ja mam takie zapytanie na wyciąganie należności:

Kod: Zaznacz cały

SELECT TTV_Dokument, Knt_Akronim
			,Knt_Nazwa1, Knt_Nazwa2, Knt_Nazwa3 ,Knt_Ulica, Knt_KodP, Knt_Miasto
			,CAST(CDN.TSToDate((CDN.Data(1800,12,28)+TTV_Data),0) as Date) Data
			,RTRIM(TrP_FormaNazwa) FormaPlatnosci
			,CAST(CDN.TSToDate(TrP_Termin, 0) as Date) Termin
			,SUM(TrP_Kwota) Kwota
			,SUM(TrP_Pozostaje) Pozostaje
			,TrP_Waluta Waluta
			,TrP_Typ Typ
			FROM CDN.TraPlat
			JOIN CDN.PodmiotyView ON TrP_KntTyp = PODV_GIDTyp AND TrP_KntNumer = PODV_GIDNumer
			LEFT OUTER JOIN CDN.KntKarty ON PODV_GIDTyp = Knt_GIDTyp AND PODV_GIDNumer = Knt_GIDNumer
			LEFT OUTER JOIN CDN.TrpTrnView ON TrP_GIDTyp = TTV_GIDTyp AND TrP_GIDNumer = TTV_GIDNumer AND TrP_GIDLp = TTV_GIDLp
			LEFT OUTER JOIN CDN.TraNag ON TrP_SpiTyp = TrN_GIDTyp AND TrP_SpiNumer = TrN_GIDNumer
			WHERE TrP_Rozliczona=0 AND (TRP_Typ=2 AND TRP_GIDTyp NOT IN(1497,1529,1320,1498,2010,3352,4146,2977) OR TRP_Typ=1 AND TRP_GIDTyp IN(2009,2013,2041,2045,2044,2042,2043,1625,1832,2008,4146,2977)) AND TRP_KntTyp<>944 AND TRP_GIDTyp<>0 AND TRP_KntTyp<>4304 AND TRP_KntTyp<>48 AND TrP_Waluta like '%' AND Knt_GIDNumer <> 0
			GROUP BY TrP_Termin, TrP_GIDTyp, TrP_Waluta, TrP_FormaNazwa, TrpTrnView.TTV_Dokument, PODV_Akronim, TTV_Data, TTV_DokumentObcy, TrN_NrKorekty, TrP_Typ, Knt_Akronim, Knt_Nazwa1, Knt_Nazwa2, Knt_Nazwa3 ,Knt_Ulica, Knt_KodP, Knt_Miasto
Jeżeli chcesz ograniczyć do przeterminowanych to dodaj TrP_Termin w warunku
Pozdrawiam
Wojtek Cyrklewicz

lmaz
Posty: 5
Rejestracja: 28 lip 2015, 15:32
Rola: Użytkownik CDN XL
Wersja: 2014

Re: Przeterminowane Należności (w tym płatności częściowe)

Post autor: lmaz »

Wielkie dzięki.

scribe
Posty: 446
Rejestracja: 07 gru 2010, 13:47
Rola: Inny
Wersja: 9.6.1

Re: Przeterminowane Należności (w tym płatności częściowe)

Post autor: scribe »

taszek pisze:Ja mam takie zapytanie na wyciąganie należności:

Kod: Zaznacz cały

SELECT TTV_Dokument, Knt_Akronim
			,Knt_Nazwa1, Knt_Nazwa2, Knt_Nazwa3 ,Knt_Ulica, Knt_KodP, Knt_Miasto
			,CAST(CDN.TSToDate((CDN.Data(1800,12,28)+TTV_Data),0) as Date) Data
			,RTRIM(TrP_FormaNazwa) FormaPlatnosci
			,CAST(CDN.TSToDate(TrP_Termin, 0) as Date) Termin
			,SUM(TrP_Kwota) Kwota
			,SUM(TrP_Pozostaje) Pozostaje
			,TrP_Waluta Waluta
			,TrP_Typ Typ
			FROM CDN.TraPlat
			JOIN CDN.PodmiotyView ON TrP_KntTyp = PODV_GIDTyp AND TrP_KntNumer = PODV_GIDNumer
			LEFT OUTER JOIN CDN.KntKarty ON PODV_GIDTyp = Knt_GIDTyp AND PODV_GIDNumer = Knt_GIDNumer
			LEFT OUTER JOIN CDN.TrpTrnView ON TrP_GIDTyp = TTV_GIDTyp AND TrP_GIDNumer = TTV_GIDNumer AND TrP_GIDLp = TTV_GIDLp
			LEFT OUTER JOIN CDN.TraNag ON TrP_SpiTyp = TrN_GIDTyp AND TrP_SpiNumer = TrN_GIDNumer
			WHERE TrP_Rozliczona=0 AND (TRP_Typ=2 AND TRP_GIDTyp NOT IN(1497,1529,1320,1498,2010,3352,4146,2977) OR TRP_Typ=1 AND TRP_GIDTyp IN(2009,2013,2041,2045,2044,2042,2043,1625,1832,2008,4146,2977)) AND TRP_KntTyp<>944 AND TRP_GIDTyp<>0 AND TRP_KntTyp<>4304 AND TRP_KntTyp<>48 AND TrP_Waluta like '%' AND Knt_GIDNumer <> 0
			GROUP BY TrP_Termin, TrP_GIDTyp, TrP_Waluta, TrP_FormaNazwa, TrpTrnView.TTV_Dokument, PODV_Akronim, TTV_Data, TTV_DokumentObcy, TrN_NrKorekty, TrP_Typ, Knt_Akronim, Knt_Nazwa1, Knt_Nazwa2, Knt_Nazwa3 ,Knt_Ulica, Knt_KodP, Knt_Miasto
Jeżeli chcesz ograniczyć do przeterminowanych to dodaj TrP_Termin w warunku
dlaczego w tym zapytaniu dokumenty FSK z wartością ujemną są pokazywane jako wartość dodatnia?
całkowicie zielony

taszek
Posty: 588
Rejestracja: 12 wrz 2012, 13:20
Rola: Administrator CDN XL
Wersja: 2016

Re: Przeterminowane Należności (w tym płatności częściowe)

Post autor: taszek »

No bo płatność w FSK również jest kwotą dodatnią tylko typ płatności jest jako zobowiązanie, a nie należność.
Jeśli chcesz to zmodyfikuj to zapytanie tak, aby przy kwocie rozpatrzyć typ płatności, jeśli należność to normalnie a jeśli zobowiązanie to to pomnóż razy -1
Pozdrawiam
Wojtek Cyrklewicz

ODPOWIEDZ