05 kwietnia 2022

[SQL] Wyliczanie marży na podstawie dokumentów

 Wylicznaie marży z dokumentów:




SELECT 

      TrN_GIDTyp                                       AS Seria

  ,tre_twrkod

    , SUM(TrE_Ilosc)                                     AS Ilosc

    , SUM(TrE_KsiegowaNetto)                             AS Wart_Netto

    , SUM(TrE_KsiegowaNetto) - SUM(TrE_KosztRzeczywisty) AS Zysk_netto

    , SUM(TrE_KosztRzeczywisty)                          AS Koszt_netto 

, ((SUM(TrE_KsiegowaNetto) - SUM(TrE_KosztRzeczywisty) )/SUM(TrE_KsiegowaNetto) )*100 as Marza

FROM CDN.TraNag 

    LEFT JOIN CDN.TraElem ON TrE_GIDTyp = TrN_GIDTyp AND TrE_GIDNumer = TrN_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', '2014-05-01 00:00:00') AND DateDiff(DD, '18001228', '2014-05-06 23:59:59')



 --  and 1 in (TrN_MagZNumer,TrN_MagDNumer) 

 GROUP BY 

    TrN_GIDTyp,

tre_twrkod

HAVING SUM(TrE_KsiegowaNetto) <> 0 OR SUM(TrE_KosztRzeczywisty) <> 0

14 grudnia 2021

[CR] Ukrycie nagłówka strony jeżeli na stronie brak wpisów z DB

 Należy umieścić formułę w polu sekcji ukrycia szczegółów:
WhilePrintingRecords; Global BooleanVar finished; finished := OnLastRecord
Następnie wstawić formułę w sekcji ukrycia nagłówka:
Global BooleanVar finished


 

  • Przed zainicjowaniem zmiennej finished pojawi się nagłówek strony.
  • Po wydrukowaniu szczegółowego rekordu zostanie on ustawiony na false.
  • Kiedy w końcu dojdziesz do ostatniej sekcji szczegółów(ostatniego rekordu), finished zostanie ustawiony na true.
  • Jeśli zdarzy ci się dotrzeć do innego nagłówka strony, finished = true to Crystal wyłączy nagłówek.


Znalezione na stackoverflow

19 października 2021

[Comarch ERP XL] Wyrównanie stanu sprzedażowego z magazynowym

Kolejność działań:

  1. wystawienie dokumentu PM gdy stan sprzedazowy jest wiekszy od stanu magazynowego i odwrotnie (WM) gdy stan mag jest większy od stanu sprzedażowego
  2. update ilspr = ilmag na twrzasoby.

30 sierpnia 2021

[Comarch ERP XL] - naprawa zerwanych sesji

 SQL do naprawy zerwanych sesji:


UPDATE A SET SES_Aktywna=2, SES_Stop=DATEDIFF( ss, CONVERT(DATETIME,'19900101',11), getdate()) 

FROM CDN.Sesje A

LEFT JOIN sys.sysprocesses B ON A.SES_ClarionSPID=B.spid AND SES_OpeIdent=CDN.SubstringEx(B.program_name,':',5)

WHERE 

SES_Aktywna in (0)

--SES_Stop=0

AND B.spid is null