Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: sciema.fm w Luty 12, 2018, 23:19:39
-
witam,
ostatnio przyszedł na czas powalczyć z własnymi zestawieniami w Subiekcie GT. Konkretnie chciałem stworzyć zestawienie pokazujace należności i zobowiązania wyciągając dodatkowa daną wpisywaną w na rachunku sprzedaży w polu PODTYTUŁ.
Jako że jestem zielony w zapytaniach dla subiekta na bazie waszych postów złożyłem poniższe zapytanie:
SELECT mag_symbol AS [Magazyn],
nzf_data AS [Data powstania],
nzf_numerpelny AS [Dokument],
adr_nazwa AS [Nazwa],
adr_nip AS [NIP],
nzf_wartosc AS [Należność],
nzf_terminplatnosci AS [Termin platności],
nzf_splata AS [Zobowiązanie],
CONVERT(INT, dbo.dok__dokument.dok_plattermin - dbo.dok__dokument.dok_datawyst) AS [Termin w dniach],
dbo.Fndnispoznienia(nzf_terminplatnosci, Getdate()) AS [Spóźnienie],
dok__dokument.dok_podtytul AS [Ile sztuk]
FROM nz__finanse
FULL OUTER JOIN dok__dokument ON nzf_iddokumentauto = dok_id
FULL OUTER JOIN adr__ewid ON nzf_idadresu = adr_id
FULL OUTER JOIN sl_magazyn ON dok_magid = mag_id
WHERE nzf_typ IN ( 39,40,41,42 )
AND adr_typadresu = 1
AND nzf_status = 1
AND dok_typ IN (1,2,3,4,5,6)
AND nzf_wartosc > 0
AND (0={LI:przeterminowane#1#wszystkie#0#:termin zapłaty:1} or dbo.fnDniSpoznienia(nzf_TerminPlatnosci, GetDate())>0)
and nz__Finanse.nzf_Data<{D: Pokaż dokumenty do dnia :GetDate()}
and dok_PlatnikId IN ({LM:KH:Kontrahent:0:Wybierz})
ORDER by Nazwa
Mój problem to że działa dla niektórych kontrahentów i ni w ząb nie mogę dojść dlaczego???? :((( Siedzę już nad tym kilka wieczorów i nic ....:(((
Sprawdzałem już nawet przypisując z reki id danego kontrahenta, czy porównując kartoteki dla kontrahenta dla którego mam wynik i dla tego gdzie nie mam wyniku, etc.
Proszę o pomoc w rozwiązaniu tego problemu.
-
Zastosowałbym następującą metodologię do zdiagnozowania problemu (pewnie są prostsze, ale to tylko sugestia, a nie złota rada).
1. Założyć podmiot demo.
2. Dodać przykładową operację, która nie wyświetli się za pomocą tego zapytania.
3. Odnaleźć ostatni zapis w tabeli nz__Finanse i zobaczyć, czy w polach powiązanych za pomocą JOIN są dane niezbędne do utworzenia połączenia.
4. Jeżeli dane są, to należałoby sprawdzić, czy aby na pewno zastosowany JOIN jest poprawny. Najpierw zacząć od pierwszego JOIN i dodawać kolejne patrząc, czy któryś nie psuje zapytania.