Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: Wiliam w Listopad 15, 2012, 12:00:08

Tytuł: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Wiliam w Listopad 15, 2012, 12:00:08
Witam,

Mam pewne zestawienie które chciałbym przerobić.

Cytuj
SELECT tw_Symbol [symbol], tw_nazwa [Nazwa towaru],[1] AS Hurtownia, [2] Zabrze, [3] AS Magazyn3, [4] AS Magazyn4, [5] AS Bytom, [6] AS Czeladź, [7] AS Częstochowa, [8] AS Magazyn8, [9] AS Magazyn9, [10] AS Magazyn10, [11] AS Magazyn11, [12] AS Magazyn12, [13] AS Magazyn13, [14] AS Magazyn14, [15] AS Magazyn15, [16] AS Magazyn16
FROM
(SELECT tw_symbol, tw_nazwa, st_magid, st_stan FROM tw_stan INNER JOIN tw__towar ON tw_id=st_towid where tw_zablokowany=0) Stany
 PIVOT
 (
  SUM(St_stan )
  FOR St_MagId IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16])
 ) pMag


Otóż w chwili obecnej zestawienie pokazuje mi stan towarów na różnych magazynach. Mam pytanie - jak można przerobić to zestawienie abym z górnego filtra wybierał sobie jeden z magazynów? Dodatkowo chciałbym też widzieć kolumnę w której zawarta będzie ilość sprzedanego towaru...

Proszę o pomoc.

Pozdrawiam,
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: dkozlowski w Listopad 15, 2012, 12:19:58
Tu przecież nie ma czego przerabiać, pytasz o zupełnie inne, nowe zestawienie. Ponadto co rozumiesz po pojęciem sprzedaż - jakie dokumenty mają być brane po uwagę, z jaki okres ? No i do czego Ci to potrzebne ?
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Wiliam w Listopad 16, 2012, 08:49:10
Witam,

Chciałbym aby uwzględniał dokumenty typu PA i FS. Zestawienie ma przedstawić ile sprzedałem danego towaru i ile mi go jeszcze zostało (w skrócie).

A może jest takie zestawienie już gotowe w Subiekcie a źle szukam?
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: dkozlowski w Listopad 16, 2012, 10:18:52
Gotowego raczej nie ma, znajdzie się zestawienie, które pokaże stany oraz drugie które pokaże sprzedaż, potem można złożyć je w Excelu, tyle raczej w standardzie. Nie napisałeś do czego Ci to potrzebne.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Wiliam w Listopad 16, 2012, 12:22:30
A ogólnie jest możliwe wykonanie takiego zestawienia? :)

NP. robię akcję "wyprzedaż" i dzięki temu mogę sprawdzać co mi się sprzedało i ile tego jeszcze mam....

Pozdrawiam
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: dkozlowski w Listopad 16, 2012, 12:55:49
A ogólnie jest możliwe wykonanie takiego zestawienia? :)

Oczywiście, że tak. Możesz poczekać, może ktoś z forum je przygotuje za darmo. Może nawet gdzieś jest coś podobnego w zasobach forum.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Wiliam w Listopad 16, 2012, 13:08:46
dkozlowski dziękuje za odpowiedź.
Ja "wyszkubałem" cos takiego:

Cytuj
SELECT
tw_Nazwa AS Nazwa,
SUM (ob_Ilosc) AS Ilosc,
SUM (ob_WartNetto) AS Netto,
SUM (ob_WartVat) AS VAT,
SUM (ob_WartBrutto) AS Brutto
FROM dok_Pozycja
INNER JOIN dok__Dokument ON ob_DokHanId = dok_Id
INNER JOIN tw__Towar ON ob_TowId = tw_Id
WHERE    (dok_Typ IN({CHL:Faktura zakupu#1#Faktura sprzedaży#2#Korekta faktury zakupu#5#Korekta faktury sprzedaży#6#:Typ dokumentu}))
AND dok_Status =1
AND  dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
AND dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
AND (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria:Kategoria}))
GROUP BY tw_Nazwa

I teraz tylko pozostaje jedna "prosta" rzecz - trzeba dodać do kodu kolumnę stan.
Dla mnie nie jest to proste bo dopiero zaczynam zabawę z SQL...
Może potrafi mi ktoś pomóc? :)
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: dkozlowski w Listopad 16, 2012, 13:14:04
Świetna okazja do nauki.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Wiliam w Listopad 16, 2012, 13:22:22
wiem że ma być jeszcz tw_symbol i tw_Stan ale gdzie to już całkowicie nie mam pojęcia.....
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: dkozlowski w Listopad 16, 2012, 17:42:13
Pisz następnym razem wprost o co Ci chodzi.

Cytuj
SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość],
MAX(st_Stan) [Stan],
SUM (ob_WartNetto) [Netto],
SUM (ob_WartVat) [Vat],
SUM (ob_WartBrutto) [Brutto]
FROM dok_Pozycja
join dok__Dokument ON ob_DokHanId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
WHERE (dok_Typ IN({CHL:Faktura zakupu#1#Faktura sprzedaży#2#Korekta faktury zakupu#5#Korekta faktury sprzedaży#6#:Typ dokumentu}))
and dok_Status =1
and  dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria:Kategoria}))
GROUP BY tw_Symbol, tw_Nazwa
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Wiliam w Listopad 16, 2012, 20:48:45
SUPER! O to mi chodziło!
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: gorg81 w Listopad 27, 2012, 16:16:29
Witam Panowie przerobiłem sobie to zestawienie na swoje potrzeby , ale jak to bywa coś nie działa. Mnie chodzi o to aby pobierało mi dane z WZ i PZ


Ponieważ nasza Firma zajmuje się produkcją o przyjmujemy i wydajemy na główny magazyn :) a dopiero potem jest przesuwane. Zresztą nie ważne, ale chodzi mi o to aby były brane pod uwagę PZ i WZ pozmieniałem nazwy plus ob_DokMag ale niestety :( 

Ktoś może mi podpowiedzieć gdzie mam błąd ??




SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość],
MAX(st_Stan) [Stan],
SUM (ob_WartNetto) [Netto],
SUM (ob_WartBrutto) [Brutto]
FROM dok_Pozycja
join dok__Dokument ON ob_DokMagId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
WHERE (dok_Typ IN({CHL:Przyjęcie zewnętrzne#1#Wydanie zewnętrzne#2#:Typ dokumentu}))
and dok_Status =1
and  dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria:Kategoria}))
GROUP BY tw_Symbol, tw_Nazwa
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: dkozlowski w Listopad 27, 2012, 18:49:51
Nie nazwy dokumentów są istotne tylko ich typy : PZ - 10, WZ - 11
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: gorg81 w Listopad 27, 2012, 21:03:07
Daniel jesteś wielki, jestem początkujący w SQL-u.
Podaję poprawne działające dla potomnych. Poniżej, poprawny działające zestawienie.


SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość],
MAX(st_Stan) [Stan],
SUM (ob_WartNetto) [Netto],
SUM (ob_WartBrutto) [Brutto]
FROM dok_Pozycja
join dok__Dokument ON ob_DokMagId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
WHERE (dok_Typ IN({CHL:Przyjęcie zewnętrzne#10#Wydanie zewnętrzne#11#:Typ dokumentu}))
and dok_Status =1
and dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria:Kategoria}))
GROUP BY tw_Symbol, tw_Nazwa

[\code]


Edit
-----------------------------------------------------------------

Panowie dodałem sobie jeszcze Filtracje po grupach, niby się wszystko wyświetla i pokazuje ale coś mi nie działa tak jak bym chciał. Może ktoś sprawdzić u siebie czy działa poprawnie. Ewentualnie jak ktoś widzi gdzie błąd to mi coś podpowie.

SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość],
MAX(st_Stan) [Stan],
SUM (ob_WartNetto) [Netto],
SUM (ob_WartBrutto) [Brutto]
FROM dok_Pozycja
join dok__Dokument ON ob_DokMagId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
WHERE (dok_Typ IN({CHL:Przyjęcie zewnętrzne#10#Wydanie zewnętrzne#11#:Typ dokumentu}))
and dok_Status =1
and dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria:Kategoria}))
and (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów}))
GROUP BY tw_Symbol, tw_Nazwa
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: gorg81 w Grudzień 01, 2012, 07:24:31
Panowie czy ktoś może to zestawienie sql przetestować u Siebie czy działa mu filtorwanie po grupie ??

SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość],
MAX(st_Stan) [Stan],
SUM (ob_WartNetto) [Netto],
SUM (ob_WartBrutto) [Brutto]
FROM dok_Pozycja
join dok__Dokument ON ob_DokMagId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
WHERE (dok_Typ IN({CHL:Przyjęcie zewnętrzne#10#Wydanie zewnętrzne#11#:Typ dokumentu}))
and dok_Status =1
and dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria:Kategoria}))
and (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów}))
GROUP BY tw_Symbol, tw_Nazwa
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: dkozlowski w Grudzień 01, 2012, 08:05:43
U nikogo nie zadziała, gdyż porównujesz kategorię z grupą.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: gorg81 w Grudzień 01, 2012, 08:53:48
No coś mi to podpowiedziało :) , ale czy linijka powinna wyglądąć tak ??

and xxxxx IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów})

i te XXXX są dla nie wiadome.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: gorg81 w Grudzień 01, 2012, 09:04:09
Ogarnąłem :)
Daniel (+)

Dzięki !!!

SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość],
MAX(st_Stan) [Stan],
SUM (ob_WartNetto) [Netto],
SUM (ob_WartBrutto) [Brutto]
FROM dok_Pozycja
join dok__Dokument ON ob_DokMagId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
WHERE (dok_Typ IN({CHL:Przyjęcie zewnętrzne#10#Wydanie zewnętrzne#11#:Typ dokumentu}))
and dok_Status =1
and dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria:Kategoria}))
and tw_IdGrupa IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów})
GROUP BY tw_Symbol, tw_Nazwa

Dla forumowiczów :)
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: dkozlowski w Grudzień 01, 2012, 09:05:04
A już odpisywałem...
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: gorg81 w Grudzień 01, 2012, 09:07:25
Danielu twój system pomocy jest wyjątkowo pomocny  :P Zmusza nie miłosiernie do myślenia.  Masz u mnie Browar.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Mikele w Luty 27, 2013, 09:44:28
Witam bardzo przydatne zestawienie  :)
Chciałbym u siebie zrobić to samo ale na podstawie Przychodu Wewnętrznego.
Jest taka opcja?  :o
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Chris w Luty 27, 2013, 11:55:21
Dokumenty PW mają dok_typ = 12. Trzeba sobie podmienić
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: vodnik w Luty 28, 2013, 09:32:15
Przepraszam z góry za odświeżenie tematu.

Pomoże mi ktoś wrzucić w ten skrypt wybieranie na podstawie Cech Towaru?

Znalazłem coś takiego ale żadne przeróbki kodu mi nie działają pod "where"
and (c.cht_IdCecha in ( {CHL_DB: select ctw_Id, ctw_Nazwa from dbo.sl_CechaTw order by ctw_Nazwa:Cecha:0:Nie wybrana} ) )
A już nie mam totalnie pojęcia jak zrobić gdy: Aby domyślnie pokazywało wszystkie towary (jesli nie wybiore konkretnej cechy)
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: gripex w Luty 28, 2013, 15:38:50
Dodałem możliwość wyboru cechy. Wybór "Nie wybrana" pokazuje wszystko.

SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość],
MAX(st_Stan) [Stan],
SUM (ob_WartNetto) [Netto],
SUM (ob_WartBrutto) [Brutto]
FROM dok_Pozycja
INNER JOIN dok__Dokument ON (ob_DokMagId = dok_Id)
INNER JOIN tw__Towar ON (ob_TowId = tw_Id)
INNER JOIN tw_Stan ON (tw_Id = st_TowId) AND (st_MagId = dok_MagId)
LEFT JOIN dbo.tw_CechaTw ON (tw_Id = cht_IdTowar)
WHERE (dok_Typ IN({CHL:Przyjęcie zewnętrzne#10#Wydanie zewnętrzne#11#:Typ dokumentu:0:Nie wybrany}))
AND (dok_Status =1)

AND dok_DataWyst BETWEEN {DR:DATA:2011-01-01:2011-12-31}
AND (dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn ORDER BY mag_Nazwa:Magazyn:0:Nie wybrany}))
AND (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria ORDER BY kat_Nazwa:Kategoria:0:Nie wybrana}))
AND (tw_IdGrupa IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw ORDER BY grt_Nazwa:Grupa Towarów:0:Nie wybrana}))


AND ( ISNULL(cht_IdCecha,0) = (
CASE WHEN {DB: SELECT ctw_Id = 0, ctw_Nazwa = 'Nie wybrana' UNION ALL SELECT ctw_Id, ctw_Nazwa FROM dbo.sl_CechaTw ORDER BY ctw_Nazwa:Cecha:0:Nie wybrana} = 0 THEN ISNULL(cht_IdCecha,0)
ELSE {DB: SELECT ctw_Id = 0, ctw_Nazwa = 'Nie wybrana' UNION ALL SELECT ctw_Id, ctw_Nazwa FROM dbo.sl_CechaTw ORDER BY ctw_Nazwa:Cecha:0:Nie wybrana} END))



GROUP BY tw_Symbol, tw_Nazwa



Pozdrawiam!
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: zefirek w Maj 07, 2013, 18:41:20
Witam

Jest jeden problem:
Przy przeliczniku (np.: z litrów na m3) źle sumuje - proponuję sumować ob_IloscMag.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: vodnik w Lipiec 26, 2013, 16:59:55
Powyższe zestawienie działa idealnie.
Mam tylko pytanie, czy da się wyniki ilości zmniejszyć do całości, bez wartości po przecinku,
czyli z takiej formy "2,00" zmienić na "2" ?
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Chris w Lipiec 26, 2013, 22:17:06
Zamiast kombinować w zestawieniu, możesz ilość miejsc po przecinku ustawić poprzez opcję Operacje na liście -> Parametry listy. Szybciej i wygodniej.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Aldo w Sierpień 16, 2013, 15:51:07
Nie wiem czy nie wystarczy Ruch towaru w Informatorze o towarze.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: iguan w Grudzień 13, 2013, 07:57:31
Witam, poszukuje dokładnie takiego zestawienia tylko uwzględniającego dokumenty sprzedaży (takie jak w zestawieniu sprzedaż wg asortymentu) zamiast pz i wz jak powyżej. Inaczej mówiąc chodzi o zestawienie sprzedaży wg asortymentu z dodatkową kolumną pokazującą aktualny stan towaru. Czy ktoś ma może takie cudo ew jest w stanie pomóc?
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Aldo w Grudzień 13, 2013, 10:34:17
Filtrowanie po grupie nie działa, ale jak się zaznaczy wszystkie, to pokazuje.
Proponował bym jeszcze zmienić kontrolkę daty na BETWEEN {DR:Data::}
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: markus w Maj 28, 2014, 11:59:27
czy dałoby się zrobić takie zestawienie z rozbiciem na magazyny?

TOWAR | ILOŚĆ SPRZEDANA MAG. 1 | STAN MAG. 1 | ILOŚĆ SPRZEDANA MAG. 2 | STAN MAG. 2 | ILOŚĆ SPRZEDANA MAG. 3 | STAN MAG. 3 |

albo

TOWAR | ILOŚĆ SPRZEDANA MAG. 1 | ILOŚĆ SPRZEDANA MAG. 2 | ILOŚĆ SPRZEDANA MAG. 3 | STAN MAG. 1 | STAN MAG. 2 | STAN MAG. 3 |
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: dkozlowski w Maj 28, 2014, 12:00:36
Tak, dałoby się.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Aldo w Maj 28, 2014, 12:14:49
Otóż w chwili obecnej zestawienie pokazuje mi stan towarów na różnych magazynach. Mam pytanie - jak można przerobić to zestawienie abym z górnego filtra wybierał sobie jeden z magazynów? Dodatkowo chciałbym też widzieć kolumnę w której zawarta będzie ilość sprzedanego towaru...
To zestawienie pokazuje stan magazynu na dziś, bo taka jest speyfika stanu. A sprzedaż chcesz widzieć od początku GT?
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: birds22 w Maj 28, 2014, 12:51:43
Aldo - ale wykopałeś dinozaura :)
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Aldo w Maj 30, 2014, 23:19:37
Aldo - ale wykopałeś dinozaura :)

Hmm.nie jestem programistą i nie znam tego slangu.  ;)

Chciałem tylko pytającemu uświadomić, że stan jest zawsze na jakiś dzień, a sprzedaż jest za okres.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: birds22 w Maj 31, 2014, 00:37:41
Aldo - ale wykopałeś dinozaura :)

Hmm.nie jestem programistą i nie znam tego slangu.  ;)

A zauważyłeś, że odpowiedziałeś na pytanie zamieszczone półtora roku temu? ;)
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: Aldo w Maj 31, 2014, 18:40:33
Aaa, nie załapałem, odpowiadałem na pytanie Markusa pierwsze na tej stronie i chyba coś źle kliknąłem cytuj nie na tym co trzeba  ;D
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: vasgo w Maj 11, 2016, 18:54:46
Ogarnąłem :)
Daniel (+)

Dzięki !!!

SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość],
MAX(st_Stan) [Stan],
SUM (ob_WartNetto) [Netto],
SUM (ob_WartBrutto) [Brutto]
FROM dok_Pozycja
join dok__Dokument ON ob_DokMagId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
join tw_Stan on tw_Id = st_TowId and st_MagId = dok_MagId
WHERE (dok_Typ IN({CHL:Przyjęcie zewnętrzne#10#Wydanie zewnętrzne#11#:Typ dokumentu}))
and dok_Status =1
and dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
and dok_MagId IN ({CHL_DB: SELECT mag_Id, mag_Nazwa FROM sl_Magazyn :Magazyn})
and (dok__Dokument.dok_KatId IN ({CHL_DB: SELECT kat_Id, kat_Nazwa FROM sl_Kategoria:Kategoria}))
and tw_IdGrupa IN ({CHL_DB: SELECT grt_Id, grt_Nazwa FROM sl_GrupaTw :Grupa Towarów})
GROUP BY tw_Symbol, tw_Nazwa

Dla forumowiczów :)

Trochę odgrzebuję ale pomoże ktoś z powyższym? Wszystko super z tym że potrzebuję jeszcze kolumnę i wybór "grupa towarowa".
Czy mógłby ktoś dopisać :) ?
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: virusek w Maj 17, 2017, 21:18:55
Witam,
czytam forum, czytam odnośniki, otworzyłem sobie specyfikację ale jednak nie do końca to działa.

SELECT
tw_Nazwa,
             tw_Symbol [Symbol],
             grt_Nazwa [Grupa],
            MAX(st.st_StanRez) [Rezerwacja],
            (SUM(st_Stan) - SUM(st_StanRez)) as Dostepne,
             SUM(ob_Ilosc * ob_Znak) [Ilość]

FROM vwZstSprzWgKhnt zst


         LEFT JOIN dbo.tw__Towar t ON zst.ob_TowId = t.tw_Id
         LEFT JOIN sl_GrupaTw g ON t.tw_IdGrupa =g. grt_Id
         LEFT JOIN tw_stan st ON  zst.ob_TowId = st.st_towid


WHERE dok_Status=1

            AND dok_DataWyst BETWEEN {DR:Data wystawienia:POPRZEDNI_MIESIAC}
            AND ((dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) IN ({CHL:Dowolny#-1#Faktura VAT sprzedaży#131072#Faktura VAT detaliczna#131073#Faktura VAT zaliczkowa#131075#Faktura VAT zbiorcza#131074#Rachunek sprzedaży#262144#Korekta faktury VAT sprzedaży#393216#Korakta faktury VAT do nieistniejącego#393217#Paragon#1376256#Paragon imienny#1376258#Paragon fiskalny#1376257#Paragon odebrany z kasy#1376259#Zwrot ze sprzadaży detalicznej#917504#Zwrot do nieistniejącego#917505:Typ dokumentu:131072,1376256,1376257,1376258,1376259:Paragony}) ) OR (-1 IN  ({CHL:Dowolny#-1#Faktura VAT sprzedaży#131072#Faktura VAT detaliczna#131073#Faktura VAT zaliczkowa#131075#Faktura VAT zbiorcza#131074#Rachunek sprzedaży#262144#Korekta faktury VAT sprzedaży#393216#Korakta faktury VAT do nieistniejącego#393217#Paragon#1376256#Paragon imienny#1376258#Paragon fiskalny#1376257#Paragon odebrany z kasy#1376259#Zwrot ze sprzadaży detalicznej#917504#Zwrot do nieistniejącego#917505:Typ dokumentu:131072,1376256,1376257,1376258,1376259:Paragony}) )) 
            AND dok_MagId IN ({CHL_DB:SELECT -1 AS mag_Id,'(dowolny)' As mag_Nazwa UNION SELECT mag_Id,mag_Nazwa FROM sl_Magazyn:magazyn:-1:(dowolny)})


 GROUP BY  ob_TowRodzaj, tw_Nazwa, tw_Symbol, grt_Nazwa

Jest to wersja mocno robocza ale widzę parę problemów.
1. Nie zlicza prawidłowo sprzedanego towaru za dany okres 
SUM(ob_Ilosc * ob_Znak) [Ilość]2. Nieprawidłowo pokazuję stan ze wszystkich magazynów
(SUM(st_Stan) - SUM(st_StanRez)) as Dostepne,
Co chcę osiągnąć:
1. Wyciągnąć z dowolnego okresu sprzedaż ilościowo
2. Wyciągnąć ilość zarezerwowaną danego towaru
3. Wyciągnąć stan magazynowy

Kombinuję ale potrzebuję Waszej pomocy.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: birds22 w Maj 17, 2017, 22:07:19
Cytuj
1. Nie zlicza prawidłowo sprzedanego towaru za dany okres 
SUM(ob_Ilosc * ob_Znak) [Ilość]
Przy jednym magazynie może i działało, ale przy wielu magazynach i złączeniu:
LEFT JOIN tw_stan st ON  zst.ob_TowId = st.st_towidpowielasz sprzedaż tyle razy ile jest magazynów


Nie możesz tak łączyć tabeli ze stanami do zestawienia  grupowaniem.
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: virusek w Maj 17, 2017, 23:01:28
Ogólnie wygląda to tak jakby liczył jedną sprzedaną rzecz jako 13 sztuk. 2 sprzedane rzeczy 26 sztuk itd.

Ilość dostępnych przy niektórych pokazuje prawidłową ilość ale przy niektórych także robi mnożnik x2. Mam czegoś 100sztuk, na zestawieniu jest 200sztuk. Najciekawsze jest to, że niektóre produkty są dobrze pokazane a niektóre tak jak wspomniałem mają mnożnik x2

Czy problem rozwiążę jakbym na zestawieniu wykazał każdy Stan magazynu osobno w kolumnach ?

Czyli mam rozumieć, że to co chcę osiągnąć jest do zrobienia :) Tylko kwestia prawidłowego złączenia tabel ?
Tytuł: Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
Wiadomość wysłana przez: birds22 w Maj 18, 2017, 08:17:14
Czy problem rozwiążę jakbym na zestawieniu wykazał każdy Stan magazynu osobno w kolumnach ?
Czyli mam rozumieć, że to co chcę osiągnąć jest do zrobienia :) Tylko kwestia prawidłowego złączenia tabel ?

Oczywiście, że można to osiągnąć, ale trzeba je napisać dobrze.

Jeżeli chcesz się nauczyć to moim zdaniem powinieneś zacząć od zapytania łączącego tabele bez użycia sum (i grupowania). Dopiero wtedy jak zobaczysz w jaki sposób wybierane są wiersze zastosować sumowanie. W taki sposób zrozumiesz jak są ułożone dane. Zwolnij trochę - zacznij od wybraniu kolumn z widoku, jak wszystko będzie OK to podepnij kolejne tabele.

Jeżeli okaże się jednaj, że to nie dla Ciebie to mam w ofercie gotowca, ale to już na PW.