Autor Wątek: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU  (Przeczytany 24304 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Wiliam

  • Nowy użytkownik
  • *
  • Wiadomości: 25
  • Reputacja +1/-0
  • Wersja programu: Subiekta GT 1.28 + Niebieski PLUS + Sfera
ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« dnia: 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,

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #1 dnia: 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 ?
Daniel, Białystok.

Offline Wiliam

  • Nowy użytkownik
  • *
  • Wiadomości: 25
  • Reputacja +1/-0
  • Wersja programu: Subiekta GT 1.28 + Niebieski PLUS + Sfera
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #2 dnia: 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?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #3 dnia: 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.
Daniel, Białystok.

Offline Wiliam

  • Nowy użytkownik
  • *
  • Wiadomości: 25
  • Reputacja +1/-0
  • Wersja programu: Subiekta GT 1.28 + Niebieski PLUS + Sfera
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #4 dnia: 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

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #5 dnia: 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.
Daniel, Białystok.

Offline Wiliam

  • Nowy użytkownik
  • *
  • Wiadomości: 25
  • Reputacja +1/-0
  • Wersja programu: Subiekta GT 1.28 + Niebieski PLUS + Sfera
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #6 dnia: 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? :)

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #7 dnia: Listopad 16, 2012, 13:14:04 »
Świetna okazja do nauki.
Daniel, Białystok.

Offline Wiliam

  • Nowy użytkownik
  • *
  • Wiadomości: 25
  • Reputacja +1/-0
  • Wersja programu: Subiekta GT 1.28 + Niebieski PLUS + Sfera
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #8 dnia: 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.....

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #9 dnia: 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
Daniel, Białystok.

Offline Wiliam

  • Nowy użytkownik
  • *
  • Wiadomości: 25
  • Reputacja +1/-0
  • Wersja programu: Subiekta GT 1.28 + Niebieski PLUS + Sfera
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #10 dnia: Listopad 16, 2012, 20:48:45 »
SUPER! O to mi chodziło!

Offline gorg81

  • Użytkownik
  • **
  • Wiadomości: 79
  • Reputacja +3/-0
  • Wersja programu: Subiekt GT Rachmistrz GT - najnowszy
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #11 dnia: 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
« Ostatnia zmiana: Listopad 27, 2012, 16:19:19 wysłana przez gorg81 »
Rzeczy niemożliwe od ręki
Cuda do trzech Dni

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17064
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #12 dnia: Listopad 27, 2012, 18:49:51 »
Nie nazwy dokumentów są istotne tylko ich typy : PZ - 10, WZ - 11
Daniel, Białystok.

Offline gorg81

  • Użytkownik
  • **
  • Wiadomości: 79
  • Reputacja +3/-0
  • Wersja programu: Subiekt GT Rachmistrz GT - najnowszy
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #13 dnia: 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
« Ostatnia zmiana: Listopad 30, 2012, 15:18:12 wysłana przez gorg81 »
Rzeczy niemożliwe od ręki
Cuda do trzech Dni

Offline gorg81

  • Użytkownik
  • **
  • Wiadomości: 79
  • Reputacja +3/-0
  • Wersja programu: Subiekt GT Rachmistrz GT - najnowszy
Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #14 dnia: 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
« Ostatnia zmiana: Grudzień 01, 2012, 08:00:07 wysłana przez gorg81 »
Rzeczy niemożliwe od ręki
Cuda do trzech Dni

Forum Użytkownikow Subiekt GT

Odp: ZESTAWIENIE STAN NA MAGAZYNIE PLUS SPRZEDAŻ DANEGO TOWARU
« Odpowiedź #14 dnia: Grudzień 01, 2012, 07:24:31 »