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

[Comarch ERP XL] Odbudowa CDN.Wolne

 Poniżej skrypt do odbudowy CDN.Wolne:


declare @rok int = year(getdate())

exec [CDN].[OdbudujWolne] @rok, 1

04 czerwca 2021

[SQL] przykład kursora

 Przykład kursora w mssql:


DECLARE kursor CURSOR FOR
SELECT Ename, Sal FROM Emp WHERE Sal > 200
DECLARE @nazwisko VARCHAR(50), @pensja INT
PRINT 'Pracownicy o pensji wyższej niż 200:'
OPEN kursor 
FETCH NEXT FROM kursor INTO @nazwisko, @pensja 
WHILE @@FETCH_STATUS = 0
   BEGIN 
      PRINT @nazwisko + ' ' + Cast(@pensja As Varchar)
      FETCH NEXT FROM kursor INTO @nazwisko, @pensja 
   END 
CLOSE kursor 
DEALLOCATE kursor

23 kwietnia 2021

[SQL] Czyszczenie pliku tempdb w sql server

Poniżej przykład:

--zwalnia zasoby tempdb
DBCC FREESYSTEMCACHE ('ALL')
DBCC FREEPROCCACHE
--czysci dany plik

USE [tempdb]
GO
DBCC SHRINKFILE (N'temp6' , EMPTYFILE)
GO

--kasuje dany plik
USE [tempdb]
GO
ALTER DATABASE [tempdb]  REMOVE FILE [temp6]
GO

18 marca 2021

[Comarch ERP XL] Kod Kontrahenta z Zapisu księgowego

 Zapytanie wyciągające kh z zapisów księgowych


SELECT distinct CDN.NazwaObiektu(TrN_GIDTyp,trn_gidnumer,0,2)AS dok, (select knt_akronim from cdn.kntkarty where knt_gidnumer = TrN_KntNumer) KodKH, 

case when trn_nettor =0 then TrN_NettoP else  TrN_NettoR end KwotaNetto , (select TrV_DataOP from cdn.travat where trv_gidnumer = TrN_GIDNumer) DataVat, 

(select TrV_StawkaPod from cdn.travat where trv_gidnumer = TrN_GIDNumer) StawkaPod

FROM CDN.dekrety A

LEFT OUTER JOIN CDN.DziennikElem B ON A.DT_GIDNumer = B.DEL_GIDNumer

AND A.DT_GIDLp = B.DEL_GIDLp

LEFT OUTER JOIN CDN.dziennik C ON B.DEL_GIDNumer = C.DZK_GIDNumer

LEFT OUTER JOIN CDN.dekrety D ON D.DT_GIDNumer = A.DT_GIDNumer

AND D.DT_GIDLp = A.DT_GIDLp

AND D.DT_Waluta = A.DT_Waluta

AND D.DT_DC = 3 - A.DT_DC


LEFT OUTER JOIN CDN.Zrodla ON CDN.Zrodla.ZRO_DTNumer = a.DT_GIDNumer

AND CDN.Zrodla.ZRO_DTLp = a.DT_GIDLp

LEFT OUTER JOIN CDN.Predekrety ON CDN.Predekrety.PDT_GIDTyp = CDN.Zrodla.ZRO_TRNTyp

AND CDN.Predekrety.PDT_GIDNumer = CDN.Zrodla.ZRO_TRNNumer

LEFT OUTER JOIN CDN.TraNag ON CDN.TraNag.TrN_GIDTyp = CDN.Predekrety.PDT_GIDTyp

AND CDN.TraNag.TrN_GIDNumer = CDN.Predekrety.PDT_GIDNumer



WHERE  DEL_DokumentZrodlowy = 'demo'

26 lutego 2021

[ERP XL] Wyszukanie adresu korenspondencyjnego

 Po niżej zapytanie na znalezienie adresu korenspodencyjnego, nalezy powiazac z knaadresy


select 1 from  cdn.obiektydomyslne where ObD_DomNumer = KnA_GIDNumer AND KnA_KntNumer = ObD_ObiNumer