mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Obroty i stany magazynowe z podziałem na magazyny https://forum.mix-soft.pl/viewtopic.php?f=15&t=10014 |
Strona 1 z 1 |
Autor: | symfonia_zamula [ 2021-08-24, 13:22 ] |
Tytuł: | 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ł? |
Autor: | Zenek N [ 2021-08-25, 13:27 ] |
Tytuł: | Re: Obroty i stany magazynowe z podziałem na magazyny |
Jaka wersja Symfoni ? |
Autor: | symfonia_zamula [ 2021-08-26, 14:21 ] |
Tytuł: | Re: Obroty i stany magazynowe z podziałem na magazyny |
Symfonia ERP Handel 2021.3 |
Autor: | rafal [ 2021-08-26, 16:05 ] |
Tytuł: | Re: Obroty i stany magazynowe z podziałem na magazyny |
Z dokumentacją nie wiele łatwiej |
Autor: | Arek44 [ 2021-09-10, 13:44 ] |
Tytuł: | Re: Obroty i stany magazynowe z podziałem na magazyny |
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. |
Autor: | symfonia_zamula [ 2021-10-27, 12:39 ] |
Tytuł: | 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. |
Autor: | michalkurzak [ 2021-10-28, 12:49 ] |
Tytuł: | 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. |
Autor: | michalkurzak [ 2021-10-28, 13:05 ] |
Tytuł: | 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. |
Autor: | Arek44 [ 2021-11-03, 21:06 ] |
Tytuł: | 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. |
Autor: | symfonia_zamula [ 2021-11-04, 11:41 ] |
Tytuł: | 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. |
Autor: | Arek44 [ 2021-11-04, 13:10 ] |
Tytuł: | Re: Obroty i stany magazynowe z podziałem na magazyny |
Tej pierwszej daty (ostatniej operacji) można nie pobierać w swoim kodzie, tylko ustawić na sztywno na '9999-12-31'. |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |