Autor Wątek: Zestawienie Towar | Sprzedaż FS | Korekta KFS  (Przeczytany 1899 razy)

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

Offline FLOKER

  • Nowy użytkownik
  • *
  • Wiadomości: 4
  • Reputacja +0/-0
  • Wersja programu: -
Zestawienie Towar | Sprzedaż FS | Korekta KFS
« dnia: Sierpień 20, 2019, 21:15:40 »
Witam wszystkich użytkowników forum.

Zaznaczę odrazu, że jestem świeżym użytkownikiem forum jak i SQL;)

Mam pytanie techniczne czy uda się zrobić zestawienie SQL sprzedaży FS za dany okres dla danego Kontrahenta, które będzie wyświetlało kolumny w następujący sposób:

Filrt - Kontrahent:

Towar | Sprzedaż FS Ilość danego towaru (Suma dla towaru z danego okresu) | Korekta KFS Ilość danego towaru (suma dla towaru z danego okresu)

"Wyciągnięcie" danych każdego z osobna dla sprzedaży FS i Korekt KFS nie jest problemem, ale "złożyć" to w jedną tabelę już tak. Czy mogę prosić o zasugerowanie kierunku działania?

Dziękuję:)


Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9208
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Zestawienie Towar | Sprzedaż FS | Korekta KFS
« Odpowiedź #1 dnia: Sierpień 20, 2019, 21:24:42 »
Pokaż jak zrobisz dla każdego dokumentu osobno to powiem Ci co dalej
Sławek, Zduńska Wola

Offline FLOKER

  • Nowy użytkownik
  • *
  • Wiadomości: 4
  • Reputacja +0/-0
  • Wersja programu: -
Odp: Zestawienie Towar | Sprzedaż FS | Korekta KFS
« Odpowiedź #2 dnia: Sierpień 20, 2019, 21:32:34 »
Pokaż jak zrobisz dla każdego dokumentu osobno to powiem Ci co dalej

birds22 nie wiem czy to dobry kierunek, dla Korekt np.:

SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
ob_Ilosc [Ilość suma Korekt],
FROM dok_Pozycja
join dok__Dokument ON ob_DokHanId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
WHERE
dok_Typ = 6
dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
GROUP BY tw_Symbol, tw_Nazwa
« Ostatnia zmiana: Sierpień 20, 2019, 21:37:36 wysłana przez FLOKER »

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9208
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Zestawienie Towar | Sprzedaż FS | Korekta KFS
« Odpowiedź #3 dnia: Sierpień 20, 2019, 22:22:51 »
A po co masz GROUP BY skoro nie masz żadnej funkcji agregującej (np SUM)?
Sławek, Zduńska Wola

Offline FLOKER

  • Nowy użytkownik
  • *
  • Wiadomości: 4
  • Reputacja +0/-0
  • Wersja programu: -
Odp: Zestawienie Towar | Sprzedaż FS | Korekta KFS
« Odpowiedź #4 dnia: Sierpień 20, 2019, 22:35:36 »
A po co masz GROUP BY skoro nie masz żadnej funkcji agregującej (np SUM)?

birds22 masz rację, powinno być:

SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość suma Korekt],
FROM dok_Pozycja
join dok__Dokument ON ob_DokHanId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
WHERE
dok_Typ = 6
dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
GROUP BY tw_Symbol, tw_Nazwa

NIe mam przed sobą komputera z Subiektem ale FS o ile pamiętam to = dok_Typ = 2, poniżej podliczenie dla FS.

SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (ob_Ilosc) [Ilość suma Sprzedaż],
FROM dok_Pozycja
join dok__Dokument ON ob_DokHanId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
WHERE
dok_Typ = 2
dok_DataWyst BETWEEN {DR:Data:2011-01-01:2011-12-31}
GROUP BY tw_Symbol, tw_Nazwa



Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4871
  • Reputacja +172/-11
Odp: Zestawienie Towar | Sprzedaż FS | Korekta KFS
« Odpowiedź #5 dnia: Sierpień 20, 2019, 23:41:43 »
Dla faktur zbiorczych z tego zestawienia wyjdą numery domów.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9208
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Zestawienie Towar | Sprzedaż FS | Korekta KFS
« Odpowiedź #6 dnia: Sierpień 21, 2019, 09:18:57 »
SELECT
tw_Symbol [Symbol towaru],
tw_Nazwa [Nazwa towaru],
SUM (case when dok_typ=2 then ob_Ilosc ELSE 0 end) [Ilość suma Faktur],
SUM (case when dok_typ=6 then ob_Ilosc ELSE 0 end) [Ilość suma Korekt]
FROM dok_Pozycja
join dok__Dokument ON ob_DokHanId = dok_Id
join tw__Towar ON ob_TowId = tw_Id
WHERE
dok_Typ in (2,6)
and dok_DataWyst BETWEEN '20190101' and '20191231'
GROUP BY tw_Symbol, tw_Nazwa

Połączenie faktur i korekt to jest właśnie pikuś a niestety podstawowe zapytania są biedne (tak jak napisał @candy). Spróbuj wypisać WZ dodaj do niej fakturę zbiorczą i zmień na niej ilość. Zobacz co pokaże Ci zestawienie.
Sławek, Zduńska Wola

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4871
  • Reputacja +172/-11
Zestawienie Towar | Sprzedaż FS | Korekta KFS
« Odpowiedź #7 dnia: Sierpień 21, 2019, 09:41:35 »
Dodałbym jeszcze:
Na takiej frze zbiorczej w jednej pozycji zmień ilość, w drugiej cenę, w trzeciej ilość i cenę  i jeszcze dodaj czwartą, nową pozycję.
To samo zrób dla KFS.
Póki tego nie ogarniesz wszelkie zestawienia z fakturami zbiorczymi albo korektami będą do kitu.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Forum Użytkownikow Subiekt GT

Zestawienie Towar | Sprzedaż FS | Korekta KFS
« Odpowiedź #7 dnia: Sierpień 21, 2019, 09:41:35 »