|
|
Strona 1 z 1
|
[ Posty: 11 ] |
|
Obroty i stany magazynowe z podziałem na magazyny
Autor |
Wiadomość |
symfonia_zamula
Rejestracja: 2021-08-20, 08:04 Posty: 23 Pomógł: 3
|
Obroty i stany magazynowe z podziałem na magazyny
Cześć, próbowałem napisać zapytanie SQL, które wyrzuci mi do Excela towar z podziałem na wszystkie magazyny, ich obroty i w drugim zapytaniu stan na kazdym z magazynow na konkretny dzien. Bez opisu tabel ciężko jest coś stworzyć, szkoda, że Sage nie udostępnia dokumentacji. Na razie mam coś takiego ale wciąż wyniki się różnią z tym co wypluwa program. Kod: select mz.kod as Kod_towaru, mz.opis as Nazwa_towaru, kh.kod as Magazyn, tw.typks as Kategoria, CASE WHEN iloscwp < 0 THEN iloscwp *(-1) ELSE 0 END as Ilosc_plus, przychod *-1 as Przychod, CASE WHEN iloscwp > 0 THEN iloscwp ELSE 0 END as Ilosc_minus, rozchod as Rozchod from hm.mz as mz inner join hm.kh as kh on kh.id = mz.magazyn inner join hm.tw as tw on mz.idtw = tw.id where mz.flag NOT IN ('9984', '9728', '8704', '8960') and mz.bufor = 0 and mz.kompensata = 0
Czy byłby ktoś w stanie poprawić kod, żeby wynik się zgadzał?
|
2021-08-24, 13:22 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
Zenek N
Rejestracja: 2010-11-25, 09:46 Posty: 448 Pomógł: 8
|
Re: Obroty i stany magazynowe z podziałem na magazyny
Jaka wersja Symfoni ?
|
2021-08-25, 13:27 |
|
|
symfonia_zamula
Rejestracja: 2021-08-20, 08:04 Posty: 23 Pomógł: 3
|
Re: Obroty i stany magazynowe z podziałem na magazyny
Symfonia ERP Handel 2021.3
|
2021-08-26, 14:21 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Obroty i stany magazynowe z podziałem na magazyny
Z dokumentacją nie wiele łatwiej
|
2021-08-26, 16:05 |
|
|
Arek44
Rejestracja: 2016-06-03, 17:42 Posty: 48 Pomógł: 10
|
Re: Obroty i stany magazynowe z podziałem na magazyny
(1)
Kolega złapie sobie przy pomocy SQL Server Profiler jakie zapytanie leci do bazy przy interesujących go zestawieniach, a następnie poprzerabia je wg własnych potrzeb. Tak będzie chyba najłatwiej. Np. dla zestawienia "Stany magazynowe towarów na dzień..." Profiler wypluł poniższe zapytanie. Kod: SELECT TW.id ,TW.katalog ,TW.rodzaj ,TW.znacznik ,TW.typ ,TW.subtyp ,TW.subtypext ,TW.vatsp ,TW.sww ,TW.pcn ,TW.jm ,TW.jmdef ,TW.jmdod1 ,TW.przeljmdod1 ,TW.jmdod2 ,TW.przeljmdod2 ,TW.przelkg ,TW.przeluz ,TW.jmuzup ,TW.nazwa ,TX.opis ,TW.kod ,ISNULL(a.wartosc, 0) + ISNULL(s.wartosc, 0) ,ISNULL(a.ilosc, 0) + ISNULL(s.stan, 0) FROM TW LEFT JOIN TX ON (TX.id = TW.idlongname) JOIN ( SELECT SM.idtw ,sum(ISNULL(SM.wartosc, 0)) wartosc ,sum(ISNULL(SM.stan, 0)) stan FROM SM JOIN ZZ ON ZZ.typ = 101 AND ZZ.baza1 = 20 AND ZZ.baza2 = 20 AND ZZ.id1 = SM.magazyn AND ZZ.id2 = 32770 WHERE SM.magazyn = 65563 GROUP BY SM.idtw ) s ON TW.id = s.idtw LEFT JOIN ( SELECT MZ.idtw ,sum(ISNULL(MZ.ilosc, 0)) ilosc ,sum(ISNULL(przychod, 0) + ISNULL(rozchod, 0)) wartosc FROM MZ JOIN ZZ ON ZZ.typ = 101 AND ZZ.baza1 = 20 AND ZZ.baza2 = 20 AND ZZ.id1 = MZ.magazyn AND ZZ.id2 = 32770 WHERE MZ.data <= '2021-09-06' AND MZ.data >= '2021-09-11' AND ISNULL(MZ.bufor, 0) = 0 AND (ISNULL(MZ.typ, 0) & 0x01) = 0 AND MZ.magazyn = 65563 GROUP BY MZ.idtw ) a ON TW.id = a.idtw WHERE TW.subtyp = 0 AND TW.typ = 0 Oczywiście, żeby zapytanie zadziałało nazwy tabel trzeba uzupełnić o schemat HM.
|
2021-09-10, 13:44 |
|
|
symfonia_zamula
Rejestracja: 2021-08-20, 08:04 Posty: 23 Pomógł: 3
|
Re: Obroty i stany magazynowe z podziałem na magazyny
Czy mógłbyś wytłumaczyć jak do tego doszedłeś? Nie znam SQL server profiler.
|
2021-10-27, 12:39 |
|
|
michalkurzak
Rejestracja: 2015-12-03, 16:37 Posty: 18
|
Re: Obroty i stany magazynowe z podziałem na magazyny
Hej :) Wiecie skąd w zapytaniu jest pierwsza data? Kod: WHERE MZ.data <= '2021-09-06' AND MZ.data >= '2021-09-11' Druga data jest dniem kolejnym po dacie ustawionej w "Stany magazynowe towarów na dzień". Pierwsza? U mnie jest to zawsze 2021-04-30, nie mam pojęcia skąd.
|
2021-10-28, 12:49 |
|
|
michalkurzak
Rejestracja: 2015-12-03, 16:37 Posty: 18
|
Re: Obroty i stany magazynowe z podziałem na magazyny
@symfonia_zamula Jeżeli masz Microsoft SQL Server Management Studio - wejdź w Tools SQL Server Profiler. Najlepiej wtedy zastopować tracking i wyczyścić okno, uruchomić tracking zaraz zanim wykonasz w Symfonii akcję, którą chcesz "zbadać" i zastopować zaraz po niej - łatwiej będzie znaleźć konkretne zapytanie w wynikach.
|
2021-10-28, 13:05 |
|
|
Arek44
Rejestracja: 2016-06-03, 17:42 Posty: 48 Pomógł: 10
|
Re: Obroty i stany magazynowe z podziałem na magazyny
Cytuj: Wiecie skąd w zapytaniu jest pierwsza data? Pierwsza data to data ostatniej operacji magazynowej. Podzapytanie s pobiera aktualne stany, podzapytanie a zmiany ilości i wartości od dnia następnego po dniu na który chcemy mieć zestawienie, dlatego takie, a nie inne daty.
|
2021-11-03, 21:06 |
|
|
symfonia_zamula
Rejestracja: 2021-08-20, 08:04 Posty: 23 Pomógł: 3
|
Re: Obroty i stany magazynowe z podziałem na magazyny
Super. Pomogłeś mi bardzo. Udało mi się dopisać kod w pythonie, który szybko przeleci wszystkie magazyny na dowolny dzień. Dzięki.
|
2021-11-04, 11:41 |
|
|
Arek44
Rejestracja: 2016-06-03, 17:42 Posty: 48 Pomógł: 10
|
Re: Obroty i stany magazynowe z podziałem na magazyny
(2)
Tej pierwszej daty (ostatniej operacji) można nie pobierać w swoim kodzie, tylko ustawić na sztywno na '9999-12-31'.
|
2021-11-04, 13:10 |
|
|
|
Strona 1 z 1
|
[ Posty: 11 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 13 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników
|
|
|
|