Raport Sprzedaż wg grup nie działa

Problemy i pomysły związane z funkcjonowaniem modułu Sprzedaż

Moderator: mikey

nabip
Posty: 17
Rejestracja: 22 lut 2011, 09:12
Rola: Administrator CDN XL
Wersja: 10

Raport Sprzedaż wg grup nie działa

Post autor: nabip »

Witam.

W ubiegłym tygodniu zainstalowałem wersję 2015.2.4 SE. Okazuje się, że w tej wersji nie działa wydruk standardowy Sprzedaż wg grup. Czy jest mozliwość naprawienia samemu tego co zepsuł Comarch?

Pozdrawiam

Paweł

Awatar użytkownika
viesiek1
Posty: 425
Rejestracja: 03 maja 2011, 18:40
Rola: Administrator CDN XL
Wersja: 2023
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Raport Sprzedaż wg grup nie działa

Post autor: viesiek1 »

Z infromacji uzyskanej od partnera, którą potwierdzam, wynika, że aby uzyskać prawidłowe wyniki trzeba mieć wciśnięty klawisz: "Pokaż elementy z podgrup". My niestety mamy bardzo rozbudowane drzewo grup towarowych i wciśnięty klawisz po prostu zawiesza u nas listę towarów. Więc skończyło się tym, że musiałem przepisać tą analizę.
Pokaz_elementy_z_podgrup.jpg
Pokaz_elementy_z_podgrup.jpg (8.36 KiB) Przejrzano 4538 razy
Wiesław Świergała

tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl

http://www.hydro.com.pl

nabip
Posty: 17
Rejestracja: 22 lut 2011, 09:12
Rola: Administrator CDN XL
Wersja: 10

Re: Raport Sprzedaż wg grup nie działa

Post autor: nabip »

Dziękuję za odpowiedź. U mnie niestety drzewo grup towarowych jest też bardzo rozbudowane, więc będę musiał zrobić raport od nowa. Mam w związku z tym pytanie: na co zwrócić uwagę, na jakie pola tabel?

Paweł

Awatar użytkownika
viesiek1
Posty: 425
Rejestracja: 03 maja 2011, 18:40
Rola: Administrator CDN XL
Wersja: 2023
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Raport Sprzedaż wg grup nie działa

Post autor: viesiek1 »

Nie ma problemu, mogę się podzielić zapytaniem. W przykładzie poniżej analizuję dwie grupy towarowe - każda grupa to nowy "UNION ALL". Jeśli ma być dla wszystkich grup, czyli dla grupy głównej, to bez UNION i TGD_GrONumer = 0.

Kod: Zaznacz cały

SELECT
      Q.ItemGroup
    , Q.ItemCode
    , Q.ItemSymbol
    , Q.ItemName
    , Q.TwG_GIDNumer
    , Q.TwG_GrONumer
    , SUM(Q.Quantity)  AS Quantity
    , SUM(Q.NettValue) AS NetValue
    , SUM(Q.Cost)      AS Cost
    , SUM(Q.Profit)    AS Profit
    ,
      CASE WHEN SUM(Q.NettValue) <> 0 THEN 
          CASE WHEN SUM(Q.NettValue) - SUM(Q.Cost) >= 0
              THEN ABS(ROUND((SUM(Q.NettValue) - SUM(Q.Cost)) * 100 / SUM(Q.NettValue), 2))
          ELSE - ABS(ROUND((SUM(Q.NettValue) - SUM(Q.Cost)) *100 / SUM(Q.NettValue ), 2)) END
      ELSE
          CASE WHEN SUM(Q.Cost) > 0 THEN -100 ELSE 100 END
      END                                                          AS Margin
    ,
      CASE WHEN SUM(Q.Cost) > 0 THEN
          (SUM(Q.NettValue) - SUM(Q.Cost)) * 100 / SUM(Q.Cost)
      ELSE 100.00 END                                              AS Markup
FROM
(
	SELECT
		  CDN.TwrGrupaPelnaNazwa(TGD_GrONumer) AS ItemGroup
		, TrE_TwrKod                           AS ItemCode
		, Twr_Katalog                          AS ItemSymbol
		, TrE_TwrNazwa                         AS ItemName
		, ISNULL(TrE_Ilosc, 0)                 AS Quantity
		, ISNULL(TrE_KsiegowaNetto, 0)         AS NettValue
		,
		  CASE WHEN TrE_TwrNumer NOT IN (26077, 58979, 58977, 241) THEN
			  ISNULL(TrE_KosztRzeczywisty, 0)
		  ELSE ISNULL(TrE_KsiegowaNetto, 0) END                                    AS Cost
		,
		  CASE WHEN TrE_TwrNumer NOT IN (26077, 58979, 58977, 241) THEN            -- // Cięcie, transport
			  ISNULL(TrE_KsiegowaNetto, 0) - ISNULL(TrE_KosztRzeczywisty, 0) 
		  ELSE 0 END                                                               AS Profit
		, TwG_GIDNumer
		, TwG_GrONumer
	FROM CDN.TwrKarty
		INNER JOIN CDN.TraElem     ON Twr_GIDTyp = TrE_TwrTyp AND Twr_GIDNumer = TrE_TwrNumer
		INNER JOIN CDN.TwrGrupyDom ON Twr_GIDTyp = TGD_GIDTyp AND Twr_GIDNumer = TGD_GIDNumer
		INNER JOIN CDN.TraNag      ON TrE_GIDTyp = TrN_GIDTyp AND TrE_GIDNumer = TrN_GIDNumer
		INNER JOIN CDN.TwrGrupy    ON TGD_GrOTyp = TwG_GIDTyp AND TGD_GrONumer = TwG_GIDNumer
    WHERE
        ( 
            (TrN_GIDTyp IN (2003)) OR 
	        TrN_GIDTyp IN (2034, 2042) OR 
	        ( TrN_GIDTyp IN (2033, 2041) AND TrN_SPITyp IN (2033, 2041) 
            ) OR
        	( TrN_GIDTyp IN (2037, 2045) AND TrN_SPITyp IN (2037, 2045) 
            ) OR 
		    ( TrN_GIDTyp IN (2001, 2009, 2005, 2013) AND TrN_SPITyp <> 0 ) 
	    ) 
        AND TrN_DataMag BETWEEN DateDiff(DD, '18001228', '2015-11-01 00:00:00') AND DateDiff(DD, '18001228', '2015-12-01 23:59:59') 
        AND TrE_TypTwr IN (1, 2, 3, 4)
	    AND
	    (
			  (TGD_GrONumer = 1544)
		    OR ( TGD_GrONumer IN (SELECT TwL_GIDNumer FROM CDN.TwrLinki WHERE TwL_GIDTyp = -16 AND TwL_GRONumer = 1544))
	    )
	    AND (ISNULL(TrE_KsiegowaNetto, 0) != 0 OR ISNULL(TrE_KosztRzeczywisty, 0) != 0)

    UNION ALL
	SELECT
		  CDN.TwrGrupaPelnaNazwa(TGD_GrONumer) AS ItemGroup
		, TrE_TwrKod                           AS ItemCode
		, Twr_Katalog                          AS ItemSymbol
		, TrE_TwrNazwa                         AS ItemName
		, ISNULL(TrE_Ilosc, 0)            AS Quantity
		, ISNULL(TrE_KsiegowaNetto, 0)    AS NettValue
		,
		  CASE WHEN TrE_TwrNumer NOT IN (26077, 58979, 58977, 241) THEN
			  ISNULL(TrE_KosztRzeczywisty, 0)
		  ELSE ISNULL(TrE_KsiegowaNetto, 0) END                                    AS Cost
		,
		  CASE WHEN TrE_TwrNumer NOT IN (26077, 58979, 58977, 241) THEN            -- // Cięcie, transport
			  ISNULL(TrE_KsiegowaNetto, 0) - ISNULL(TrE_KosztRzeczywisty, 0) 
		  ELSE 0 END                                                               AS Profit
		, TwG_GIDNumer
		, TwG_GrONumer
	FROM CDN.TwrKarty
		INNER JOIN CDN.TraElem     ON Twr_GIDTyp = TrE_TwrTyp AND Twr_GIDNumer = TrE_TwrNumer
		INNER JOIN CDN.TwrGrupyDom ON Twr_GIDTyp = TGD_GIDTyp AND Twr_GIDNumer = TGD_GIDNumer
		INNER JOIN CDN.TraNag      ON TrE_GIDTyp = TrN_GIDTyp AND TrE_GIDNumer = TrN_GIDNumer
		INNER JOIN CDN.TwrGrupy    ON TGD_GrOTyp = TwG_GIDTyp AND TGD_GrONumer = TwG_GIDNumer
    WHERE
	    ( 
          (TrN_GIDTyp IN (2003)) OR 
	         TrN_GIDTyp IN (2034, 2042) OR 
	         ( TrN_GIDTyp IN (2033, 2041) AND TrN_SPITyp IN (2033, 2041) 
             ) OR
        	 ( TrN_GIDTyp IN (2037, 2045) AND TrN_SPITyp IN (2037, 2045) 
             ) OR 
		     ( TrN_GIDTyp IN (2001, 2009, 2005, 2013) AND TrN_SPITyp <> 0 ) 
	    ) 
        AND TrN_DataMag BETWEEN DateDiff(DD, '18001228', '2015-11-01 00:00:00') AND DateDiff(DD, '18001228', '2015-12-01 23:59:59') 
        AND TrE_TypTwr IN (1, 2, 3, 4)
	    AND
	    (
			  (TGD_GrONumer = 833)
		   OR ( TGD_GrONumer IN (SELECT TwL_GIDNumer FROM CDN.TwrLinki WHERE TwL_GIDTyp = -16 AND TwL_GRONumer = 833))
	    )
	    AND (ISNULL(TrE_KsiegowaNetto, 0) != 0 OR ISNULL(TrE_KosztRzeczywisty, 0) != 0)
) AS Q
GROUP BY
      Q.ItemGroup
    , Q.ItemCode
    , Q.ItemSymbol
    , Q.ItemName
    , Q.TwG_GIDNumer
    , Q.TwG_GrONumer
HAVING SUM(Q.NettValue) != 0 OR SUM(Q.Cost) != 0
ORDER BY
      Q.ItemGroup
    , Q.ItemCode

Wiesław Świergała

tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl

http://www.hydro.com.pl

nabip
Posty: 17
Rejestracja: 22 lut 2011, 09:12
Rola: Administrator CDN XL
Wersja: 10

Re: Raport Sprzedaż wg grup nie działa

Post autor: nabip »

viesiek1 dziękuję.

Paweł

ODPOWIEDZ