Forum Użytkownikow Subiekt GT
InsERT GT => Subiekt GT => Wątek zaczęty przez: maddog13 w Luty 23, 2013, 15:24:06
-
Witajcie
Mam mały problem z zapytaniem wyświetlającym zawartość faktury VAT. Zapytanie wygląda tak:
SELECT
dok__Dokument.dok_Id, dok_Pozycja.ob_DoId, ob_TowId, tw__Towar.tw_Symbol, tw__Towar.tw_Nazwa, dok_Pozycja.ob_Ilosc, dok_Pozycja.ob_Jm, dok_Pozycja.ob_CenaNetto, dok_Pozycja.ob_CenaBrutto,
dok_Pozycja.ob_WartNetto, dok_Pozycja.ob_WartBrutto
FROM
dok__Dokument
INNER JOIN dok_Pozycja ON dok__Dokument.dok_Id = dok_Pozycja.ob_DokHanId
INNER JOIN tw__Towar ON dok_Pozycja.ob_TowId = tw__Towar.tw_Id
WHERE
dok__Dokument.dok_Id = '125176'
Wszystko wygląda pięknie do momentu kiedy dany dokument np faktura nie jest fakturą zbiorczą, wtedy w tabeli dok_Pozycja nie ma żadnych wartości tj. cen i ilości dla danego towaru.
Skąd subiekt bierze te dane skoro nie trzyma ich w tej tabeli? Siedzę i szukam tego od rana i za chiny ludowe nie umiem tego znaleźć. Te dane potrzebne mi są do zewnętrznej aplikacji....
Jak ktoś wie jak obejść ten problem proszę o pomoc....
Z góry serdecznie dziękuję
-
Skąd subiekt bierze te dane skoro nie trzyma ich w tej tabeli?
trzyma trzyma...
Bierze wartości z dokumentów WZ składających się a tę fakturę.
-
aha.... to trzeba by pobrać powiązane dokumenty WZ..... Czyli jedno zapytanie nie rozwiążę tego czyli nie będzie wyświetlało faktur zwykłych i zbiorczych..... Miałbyś może jakiś mały przykład??
-
widzę w tabeli dokumenty WZ które teoretycznie są powiązane z tą fakturą ale nie widzę w tabeli sposobu powiązania tych dokumentów......
-
Zmęczenie daje znać o sobie.... powiązanie jest w kolumnie dok_DoDokId ale jak pobrać dane przy tym założeniu?? proszę podpowiedzcie jak ktoś wie....
-
@Maddog - udało Ci się rozwiązać tą zagadkę? Właśnie stoję przed tym samym problemem. W dok_pozycja nie ma ilości, a jeśli nawet odnajdę dokument powiązany (dok_dodokid) np. WZ to on jest tylko w Dok__dokument, ale nie mogę odnaleźć tej WZ (po dok_id) w dok_pozycja.
SELECT
*
FROM [DBO].[DOK__DOKUMENT]
LEFT JOIN [DBO].[DOK_POZYCJA] ON [DOK__DOKUMENT].[DOK_ID] = (CASE
WHEN [DOK_DODOKID] IS NULL THEN [DOK_POZYCJA].[OB_DOKHANID]
ELSE [DOK__DOKUMENT].[DOK_DODOKID]
END)
WHERE [DOK_DATAWYST] BETWEEN '2018-01-01' AND '2018-09-30'
-
dobra znalazłem tutaj: https://forum.idg.pl/topic/198661-zestawienie-wystawionych-faktur/ (https://forum.idg.pl/topic/198661-zestawienie-wystawionych-faktur/)
...
case when dok_Pozycja.ob_Ilosc=0 THEN
(
select d2.ob_ilosc from dok_pozycja d2 where d2.ob_Id = dok_pozycja.ob_doid
)
ELSE dok_Pozycja.ob_Ilosc END AS ILOSC,
...
-
Widza tajemna? Zamiast dok__Dokument spróbuj jakiś widok np vwZstSprzWgKhnt ...