Struktura Tabel

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, obiekty COM .NET

Moderator: mikey

scribe
Posty: 451
Rejestracja: 07 gru 2010, 13:47
Rola: Inny
Wersja: 9.6.1

Struktura Tabel

Post autor: scribe »

Chodzi mi po głowie temat raportu dotyczcego rotacji przez weekend - czyli co jak długo zalega coś w magazynie, kiedy była sprzedaż - czy ktoś ma aktualna strukturę tabel Optimy na priv?

Comarch ERP Optima - z góry dziękuje
całkowicie zielony

zibi305
Posty: 5
Rejestracja: 14 kwie 2025, 12:54
Rola: Inny
Wersja: 2023

Re: Struktura Tabel

Post autor: zibi305 »

Co to znaczy rotacja?

W tabeli TraNag i TraElem masz odpowiednio dokumenty i pozycje z nich. Jeżeli potrzebujesz podział na dostawy to jeszcze TraSElem i TraSElemDost.

Struktura tych tabel jest prosta w zrozumieniu.

scribe
Posty: 451
Rejestracja: 07 gru 2010, 13:47
Rola: Inny
Wersja: 9.6.1

Re: Struktura Tabel

Post autor: scribe »

nie pykło - w sensie sprzedażowe nie działaja

Kod: Zaznacz cały

SELECT * FROM
(select  TW1.Twr_Kod AS Kod
, TW1.Twr_Nazwa AS Nazwa,
                (
                   SELECT TrN_DataWys
                   FROM CDN.TraNag
                   LEFT JOIN CDN.TraElem ON TrE_TrNId = TrN_GIDNumer AND TrE_TypDokumentu = TrN_GIDTyp
                   WHERE TrE_TwrId = TW1.Twr_GIDNumer
                ) AS Ostatni_dokument,
                (
                   SELECT TrN_DataWys
                   FROM CDN.TraNag
                   LEFT JOIN CDN.TraElem ON TrE_TrEID = TrN_GIDNumer AND TrE_TypDokumentu = TrN_GIDTyp
                   WHERE TrE_TwrId = TW1.Twr_GIDNumer
                ) AS dni_od_rozchodu
                , SUM(TwZ_Ilosc)         AS ilosc_magazyn
                , SUM(TwZ_Wartosc) AS wartosc
          FROM CDN.Towary AS TW1
          LEFT JOIN CDN.TwrZasoby ON TW1.Twr_GIDNumer = TwZ_TwrId 
                                                       
          GROUP BY TW1.Twr_Kod, TW1.Twr_Nazwa, TW1.Twr_GIDNumer,  TwZ_Data
    ) AS Zap     

    ORDER BY Zap.Kod
całkowicie zielony

zibi305
Posty: 5
Rejestracja: 14 kwie 2025, 12:54
Rola: Inny
Wersja: 2023

Re: Struktura Tabel

Post autor: zibi305 »

Kod: Zaznacz cały

USE bazadanych;

WITH DOKUMENTY AS (
	SELECT
		TrN_NumerPelny,
		TrN_DataDok,
		TrE_TwrId,
		TrE_TwrKod,
		TrN_TypDokumentu,
		TrE_Ilosc
	FROM
		CDN.TraNag as tn
	LEFT JOIN
		CDN.TraElem as te
	ON
		tn.TrN_TrNID = te.TrE_TrNId
	WHERE
		tn.TrN_TypDokumentu in (
			307, --PZ
			306, --WZ
			304, --RW
			303, --PW
			310 -- BOM
		)
),
ZASOBY AS (
	SELECT
		TwZ_TwrId,
		TwZ_MagId,
		TwZ_TrSIdDost,
		SUM(TwZ_Ilosc) as TwZ_Ilosc
	FROM
		CDN.TwrZasoby
	GROUP BY
		TwZ_TwrId,
		TwZ_MagId,
		TwZ_TrSIdDost
)
SELECT
	TrN_NumerPelny,
	TrN_DataDok,
	TrE_TwrId,
	TrE_TwrKod,
	TrN_TypDokumentu,
	CASE
		WHEN TrN_TypDokumentu = 307 THEN TrE_Ilosc --PZ
		WHEN TrN_TypDokumentu = 303 THEN TrE_Ilosc --PW
		WHEN TrN_TypDokumentu = 310 THEN TrE_Ilosc --BOM
		WHEN TrN_TypDokumentu = 306 THEN TrE_Ilosc*-1 --WZ
		WHEN TrN_TypDokumentu = 304 THEN TrE_Ilosc*-1 -- RW
		ELSE TrE_Ilosc
	END as Tre_Ilosc
FROM
	DOKUMENTY
WHERE
	TrE_TwrId is not null
ORDER BY 
	TrN_DataDok
Zapytanie, które stosuje. Wystarczy w where dopisać warunek na odpowiednie przedziały dat.

ODPOWIEDZ