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ł
Raport Sprzedaż wg grup nie działa
Moderator: mikey
- 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
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ę.
Wiesław Świergała
tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl
http://www.hydro.com.pl
tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl
http://www.hydro.com.pl
Re: Raport Sprzedaż wg grup nie działa
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ł
Paweł
- 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
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
tel: +48 33 829 54 50
e-mail: wieslaw.swiergala@hydro.com.pl
http://www.hydro.com.pl
Re: Raport Sprzedaż wg grup nie działa
viesiek1 dziękuję.
Paweł
Paweł