Witam wszystkich! Próbuję napisać zestawienie pokazujące sprzedaż wg asortymentu na podstawie zadanej daty zakończenia sprzedaży. Niestety nie liczy jak należy i rozjeżdża się z tym co jest zapisane na kontach w rewizorze. Ma może ktoś pomysł co może tu nie grać. Na razie skupiam się tylko na netto. Oto kod
SELECT
dok__Dokument.dok_DataZakonczenia AS [data sprz],
dok__Dokument.dok_DataWyst AS [data wyst],
dok__Dokument.dok_NrPelny AS [nr],
tw__Towar.tw_Nazwa AS [nazwa],
tw__Towar.tw_Symbol AS [symbol],
sl_GrupaTw.grt_Nazwa AS [grupa],
dok_Pozycja.ob_Ilosc AS [ilość],
dok_Pozycja.ob_Jm AS [j.m.],
dok_Pozycja.ob_WartBrutto AS [brutto],
dok_Pozycja.ob_WartNetto * dok_Pozycja.ob_Znak AS [netto],
dok_Pozycja.ob_WartMag AS [koszt],
(dok_Pozycja.ob_WartNetto-dok_Pozycja.ob_WartMag) AS [zysk netto],
CASE dok_Pozycja.ob_WartMag
WHEN 0 THEN 100
ELSE ((dok_Pozycja.ob_WartNetto/dok_Pozycja.ob_WartMag-1)*100)
END AS [marża %]
FROM dok__Dokument, dok_Pozycja, tw__Towar, sl_GrupaTw
WHERE
(dok__Dokument.dok_Typ=2 OR dok__Dokument.dok_Typ=6) AND
(dok__Dokument.dok_DataZakonczenia BETWEEN {DR: Data}) AND
dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn:Magazyn:0:(nie podano wartości)}) AND
(dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria:Kategoria:0:(nie podano wartości)})) AND
dok_Pozycja.ob_DokHanId=dok__Dokument.dok_Id AND
tw__Towar.tw_Id=dok_Pozycja.ob_TowId AND
sl_GrupaTw.grt_Id=tw__Towar.tw_IdGrupa