Witam wszystkich formowiczów. Napisałem zestawienie pokazujące towary bez dokumentów z uwzględnieniem liczby dni i wyborem magazynów (obecnie ustawione na sztywno). Gdzieś popełniłem błąd ponieważ źle liczy mi datę ostatniej operacji. Sprawdzałem towar w informatorze i ostatni ruch był w 2017 tu pokazuję mi datę 2019. Może ktoś byłby w stanie coś podpowiedzieć.
Z góry dziękuję.
SELECT
sl_GrupaTw.grt_Nazwa AS [grupa towarowa],
tw__Towar.tw_Symbol AS [symbol],
tw__Towar.tw_Nazwa AS [nazwa towaru],
dok_MagRuch.mr_Cena AS [cena przyjęcia],
dok_MagRuch.mr_Data AS [data przyjęcia],
dok_MagRuch.mr_Pozostalo AS [stan],
dok_MagRuch.mr_Cena * dok_MagRuch.mr_Pozostalo AS [wartość],
(SELECT MAX(dok__Dokument.dok_DataWyst) FROM dok__Dokument, dok_Pozycja WHERE dok_Pozycja.ob_TowId = dok_MagRuch.mr_TowId AND dok__Dokument.dok_Id = dok_Pozycja.ob_DokMagId AND dok__Dokument.dok_MagId = dok_MagRuch.mr_MagId) AS [data ost.operacji]
FROM
dok_MagRuch
LEFT JOIN tw__Towar ON tw__Towar.tw_Id = dok_MagRuch.mr_TowId
LEFT JOIN sl_GrupaTw ON sl_GrupaTw.grt_Id = tw__Towar.tw_IdGrupa
LEFT JOIN sl_Magazyn ON dok_MagRuch.mr_MagId = sl_Magazyn.mag_Id
WHERE
dok_MagRuch.mr_MagId > 0 AND
dok_MagRuch.mr_Pozostalo > 0 AND
(getdate() - {I:Ilość dni dez dokumentu:365})>=
(SELECT MAX(dok__Dokument.dok_DataWyst) FROM dok__Dokument, dok_Pozycja WHERE dok_Pozycja.ob_TowId = dok_MagRuch.mr_TowId AND dok__Dokument.dok_Id = dok_Pozycja.ob_DokMagId AND dok__Dokument.dok_MagId = dok_MagRuch.mr_MagId) AND
(getdate() - {I:Ilość dni dez dokumentu:365})>=dok_MagRuch.mr_Data AND
sl_Magazyn.mag_Id = {DB: SELECT sl_Magazyn.mag_Id, sl_Magazyn.mag_Nazwa AS magazyn FROM sl_Magazyn ORDER BY magazyn:magazyn:3:"Mag.1 MATERIAŁY PODSTAWOWE"}
GROUP BY
sl_GrupaTw.grt_Nazwa,
tw__Towar.tw_Symbol,
dok_MagRuch.mr_TowId,
tw__Towar.tw_Nazwa,
dok_MagRuch.mr_Cena,
dok_MagRuch.mr_Data,
dok_MagRuch.mr_Pozostalo,
dok_MagRuch.mr_Cena * dok_MagRuch.mr_Pozostalo,
sl_Magazyn.mag_Nazwa,
dok_MagRuch.mr_MagId