Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: hansikkk w Grudzień 28, 2015, 15:20:03

Tytuł: Zestawienie prezentujące towary z wycofanym skutkiem mag.
Wiadomość wysłana przez: hansikkk w Grudzień 28, 2015, 15:20:03
Witam,

Mam takie zestawienie:
SELECT        dok__Dokument.dok_DataWyst, dok__Dokument.dok_Status, dok__Dokument.dok_Typ, dok__Dokument.dok_Podtyp, dok_Pozycja.ob_TowId, dok_Pozycja.ob_Ilosc, tw__Towar.tw_Nazwa, dok__Dokument.dok_JestTylkoDoOdczytu
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_Status = 0) AND (dok__Dokument.dok_Podtyp <> 1) AND (dok__Dokument.dok_Typ = 21) AND
                         (dok__Dokument.dok_DataWyst > CONVERT(DATETIME, '2015-01-01 00:00:00', 102)) 
ORDER BY dok__Dokument.dok_DataWyst

Mam kilka problemów:
- chciałbym by nie były uwzględniane dokumenty dla których został wystawiony zwrot lub korekta FVAT
- chciałbym zgrupować towar po nazwie i zsumować ilość - dostaję syntax error, pewnie źle storuję GROUP BY

Czy mógłbym ktoś pomóc?

Pozdrawiam,
Tytuł: Odp: Zestawienie prezentujące towary z wycofanym skutkiem mag.
Wiadomość wysłana przez: candy w Grudzień 28, 2015, 15:32:43
To może najpierw pokaż jak wygląda cała klauzula WHERE po dopisaniu tego OR
Tytuł: Odp: Zestawienie prezentujące towary z wycofanym skutkiem mag.
Wiadomość wysłana przez: hansikkk w Grudzień 28, 2015, 15:47:39
Dodałem na wyczucie nawias i zaczęło działać, obecnie wygląda to tak:
WHERE       (dok__Dokument.dok_Status = 0) AND (dok__Dokument.dok_Podtyp <> 1) AND ((dok__Dokument.dok_Typ = 21) OR (dok__Dokument.dok_Typ = 2)) AND (dok__Dokument.dok_DataWyst > CONVERT(DATETIME, '2015-01-01 00:00:00', 102))
   
Tytuł: Odp: Zestawienie prezentujące towary z wycofanym skutkiem mag.
Wiadomość wysłana przez: candy w Grudzień 28, 2015, 16:04:43
No to masz +2 za wyczucie, ale sugerowałbym zainteresowanie się tym i przeanalizowanie dlaczego wtedy nie zadziałało a teraz działa.
Inaczej następne zestawienie też zadziała jak cię nawiedzi Moc  ;)
Tytuł: Odp: Zestawienie prezentujące towary z wycofanym skutkiem mag.
Wiadomość wysłana przez: hansikkk w Grudzień 28, 2015, 16:24:11
Domyślam się, ale nie to jest problemem.
Dojechałem funkcję GROUP BY, obecnie zapytanie wygląda tak:
SELECT         dok_Pozycja.ob_TowId as ID, tw__Towar.tw_Nazwa as Nazwa, sum(dok_Pozycja.ob_Ilosc) as Ilosc
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_Status = 0) AND (dok__Dokument.dok_Podtyp <> 1) AND ((dok__Dokument.dok_Typ = 21) OR (dok__Dokument.dok_Typ = 2)) AND (dok__Dokument.dok_DataWyst > CONVERT(DATETIME, '2015-01-01 00:00:00', 102))
                           

GROUP BY tw__Towar.tw_Nazwa, dok_Pozycja.ob_TowId 
ORDER BY tw__Towar.tw_Nazwa


Pozostaje ostatnia kwestia, pomijania FVAT i PA gdzie był wystawiony zwrot.
Tytuł: Odp: Zestawienie prezentujące towary z wycofanym skutkiem mag.
Wiadomość wysłana przez: candy w Grudzień 28, 2015, 16:42:46
Znajdź więc dokumenty, do których były zwroty i wyklucz je.

Obawiam się jednak, że w tym zestawieniu jest jeszcze parę potencjalnych luk. 
Nie czuję potrzeby jaką to zestawienie zaspokaja ale:
- wykluczyłeś np PAf, za to bierzesz pod uwagę dokumenty unieważnione - tak miało być?
- nie wiem czy przy FSz dostaniesz to co chcesz. Spróbuj zrobić WZ na 1 szt, z tego FSz z wycofanym skutkiem magazynowym, zmień na tej FSz ilość i zobacz czy to tak miało być
Tytuł: Odp: Zestawienie prezentujące towary z wycofanym skutkiem mag.
Wiadomość wysłana przez: candy w Styczeń 07, 2016, 13:46:59
Widzę że kolega z tych co żądają kategorycznie gotowego rozwiązania, albo strzelają focha i psują reputację.
Nie mam czasu analizować twojego zestawienia, ale rzuciłem okiem i zwróciłem uwagę na 2 potencjalne problemy, które mogą spowodować błędy.
Podpowiedziałem też jak się pozbyć tych ze zwrotami. Jeśli nie zrozumiałeś co to znaczy "wyklucz je" to wystarczyło spytać co przez to rozumiem.