*!*	Parameters tnScrie_Sterge, tlModificare, tlRul

*!*	#Define crlf Chr(13) + Chr(10)
*!*	Local lnSucces

*!*	ON ERROR deconecteaza()

*!*	lnSucces = -1
*!*	If Reccount('actactan') = 0
*!*		Messagebox('Nu s-a inregistrat nota contabila.')
*!*		Return lnSucces
*!*	Endif

*!*	If Empty(tnScrie_Sterge) Or Isnull(tnScrie_Sterge)
*!*		tnScrie_Sterge = 0
*!*	Endif

*!*	If !Used('ACTACTAN')
*!*		Messagebox('Nu exista fisierul <actactan>.')
*!*		Return lnSucces
*!*	Endif

*!*	If tnScrie_Sterge = 2
*!*		Select actactan
*!*		Locate
*!*		lnCod = cod
*!*	Endif

*!*	*!*	modificare 18.09.2007
*!*	If tnScrie_Sterge = 2 And !tlModificare And Used('rul_temp') And Reccount('rul_temp') > 0
*!*		Private pcMesaj
*!*		Store '' To pcMesaj
*!*		lcSql = [begin ] + gcS +[.verifica_stoc(] + Alltrim(Str(lnCod)) + [,?@pcMesaj); end;]
*!*		lnSucces = executaSql(lcSql,"",.t.)
*!*		If lnSucces < 0
*!*	*		Messagebox(goExecutor.oPrelucrareEroare(),16,"Eroare")
*!*			Return lnSucces
*!*		Endif
*!*		If !Isnull(pcMesaj)
*!*			Messagebox(pcMesaj,48,"Atentie")
*!*			Release pcMesaj
*!*			Return -5
*!*		Endif
*!*		Release pcMesaj
*!*	Endif
*!*	*!*	modificare 18.09.2007	^

*!*	&& RESETARE VARIABILE
*!*	lcSql = [begin pack_contafin.reset_variables(); end;]
*!*	lnSucces = executaSql(lcSql,'',.t.)
*!*	If lnSucces < 0
*!*	*	Messagebox('Resetare variabile ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*		Return lnSucces
*!*	Endif
*!*	&&------------------------------------------------------------------------------------
*!*	llManualTransactions = Iif(SQLGetprop(gnhandle,"Transactions")=2,.T.,.F.)

*!*	If lnSucces > 0
*!*		If !tlModificare And !llManualTransactions
*!*			lnSucces = SQLSetprop(gnhandle,"Transactions",2)
*!*		Endif
*!*	Endif
*!*	&& SETARE VARIABILE

*!*	If lnSucces > 0
*!*		lcSql = [begin pack_contafin.set_idutil(?gnIdUtil); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*		If lnSucces < 0
*!*	*		Messagebox('Setare ID utilizator ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*		Endif
*!*	Endif
*!*	If lnSucces > 0
*!*		pddata = {}
*!*		lcSql = [begin pack_contafin.set_dataora(?pddata); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('Setare DataOra ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		lcSql = [begin pack_contafin.set_an(?gnAn); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('Setare An ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		lcSql = [begin pack_contafin.set_luna(?gnLuna); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('Setare Luna ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0 And tnScrie_Sterge <> 2
*!*		&& genereaza un cod de operatie
*!*		lcSql = [begin pack_contafin.SET_COD('] + gcS +['); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox(goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif
*!*	&&------------------------------------------------------------------------------------
*!*	If lnSucces > 0
*!*		&& seteaza id_sucursala
*!*		lcSql = [begin pack_contafin.SET_ID_SUCURSALA(?gnIdSucursala); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox(goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		lnSucces = sql_temp_insert('actactan','ACT_TEMP')

*!*		If lnSucces > 0 And tlRul
*!*			If Used('rul_temp') And Reccount('rul_temp')>0
*!*				lnSucces = sql_temp_insert('rul_temp','RUL_TEMP')
*!*			Endif
*!*			If Used('RUL_TEMP_OBINV') And Reccount('RUL_TEMP_OBINV')>0
*!*				lnSucces = sql_temp_insert('rul_temp_obinv','RUL_TEMP_OBINV')
*!*			Endif
*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		&& SCRIE IN ACT
*!*		If tnScrie_Sterge <> 2
*!*			If lnSucces > 0
*!*				lcSql = [begin pack_contafin.SCRIE_IN_ACT('] + gcS +['); end;]
*!*				lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*				If lnSucces < 0
*!*	*!*					Messagebox('SCRIE_IN_ACT ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*				Endif
*!*			Endif
*!*		Else
*!*			If tlModificare
*!*				lnSterge = 0
*!*			Else
*!*				lnSterge = 1
*!*			Endif
*!*			lcSql = [begin pack_contafin.STERGE_DIN_ACT('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(lnCod)) + [,] + Alltrim(Str(gnIdUtil)) + [,] + Alltrim(Str(lnSterge))+ [); end;]
*!*			lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*			If lnSucces < 0
*!*	*!*				Messagebox('STERGE_DIN_ACT ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*			Endif

*!*		Endif
*!*	Endif
*!*	If lnSucces > 0 And tlRul
*!*		&& SCRIE IN RUL
*!*		If tnScrie_Sterge <> 2
*!*			lcSql = [begin pack_contafin.SCRIE_IN_RUL(?gcS); end;]
*!*			lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*			If lnSucces < 0
*!*	*!*				Messagebox('SCRIE IN RUL ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*			Endif
*!*		Else

*!*			lcSql = [begin pack_contafin.STERGE_DIN_RUL('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(lnCod)) + [,] + Alltrim(Str(gnIdUtil)) + [); end;]
*!*			lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*			If lnSucces < 0
*!*	*!*				Messagebox('STERGE DIN RUL ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*			Endif

*!*		Endif
*!*	Endif

*!*	If lnSucces > 0 And tlRul And Used('RUL_TEMP_OBINV') And Reccount('RUL_TEMP_OBINV')>0
*!*		&& SCRIE IN RUL_OBINV
*!*		If tnScrie_Sterge <> 2
*!*			lcSql = [begin pack_contafin.SCRIE_IN_RUL_OBINV(?gcS); end;]
*!*			lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*			If lnSucces < 0
*!*	*!*				Messagebox('SCRIE IN RUL_OBINV ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*			Endif
*!*		Else

*!*			lcSql = [begin pack_contafin.STERGE_DIN_RUL_OBINV('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(lnCod)) + [,] + Alltrim(Str(gnIdUtil)) + [); end;]
*!*			lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*			If lnSucces < 0
*!*	*!*				Messagebox('STERGE DIN RUL_OBINV ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*			Endif

*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		&& SCRIE IN BALANTA
*!*		lcSql = [begin pack_contafin.SCRIE_IN_BALANTA('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,] + Alltrim(Str(tnScrie_Sterge)) + [); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('SCRIE_IN_BALANTA ' +goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		&& SCRIE IN BALANTA_PARTENERI
*!*		lcSql = [begin pack_contafin.SCRIE_IN_BALANTA_PARTENERI('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,'',] + Alltrim(Str(tnScrie_Sterge)) + [); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('SCRIE_IN_BALANTA_PARTENERI '+goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		&& SCRIE IN IREG_PARTENERI
*!*		*	lcSql = [begin pack_contafin.SCRIE_IN_IREG_PARTENERI('] + gcS +[',] + ALLTRIM(STR(gnAn)) + [,] + ALLTRIM(STR(gnLuna)) + [,'',] + ALLTRIM(STR(tnScrie_Sterge)) + [,1); end;]
*!*		lcSql = [begin pack_contafin.EXECUTA_SCRIE_IN_IREG('] + gcS +[',] + Alltrim(Str(gnAn)) + [,] + Alltrim(Str(gnLuna)) + [,'',] + Alltrim(Str(tnScrie_Sterge)) + [,0); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)
*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('Executa_SCRIE_IN_INREGISTRARI_PARTENERI '+goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		&& SCRIE IN CUMP
*!*		Select infisiere
*!*		Locate For Cont = '4426'
*!*		lcCorespD = Alltrim(coresp_d)
*!*		lcCorespC = Alltrim(coresp_c)
*!*		lcCorespDtva = Alltrim(coresp_d) + [,4428,4427]
*!*		lcCorespCtva = Alltrim(coresp_c)
*!*		lcExceptii = [-1]
*!*		lcSql = [select distinct cont_c as exceptie from ] + gcS + [.exceptii_ireg where cont in (] + ;
*!*			lcCorespD + [) and invers = 1]
*!*		lnSucces = executaSql(lcSql,'cont_exceptii',.t.)
*!*		If lnSucces > 0
*!*			Select cont_exceptii
*!*			Scan
*!*				lcExceptii = lcExceptii + ',' + Alltrim(exceptie)
*!*			Endscan
*!*			Use In cont_exceptii
*!*		Endif
*!*		If gnAn >= 2007
*!*			lcSql = [begin PACK_CONTAFIN.SCRIE_JV_2007(?gnAn, ?gnLuna, ] + ;
*!*				Iif(tnScrie_Sterge <> 2, 'pack_contafin.nScriere', 'pack_contafin.nStergere') + [); end;]
*!*		Else
*!*			lcSql = [begin pack_contafin.EXECUTA_SCRIE_TVA('] + gcS +[', 'cump', 1.19, 1.09, '] + ;
*!*				lcCorespDtva +[', '] + lcCorespD +[', '] + lcCorespCtva +[', '] + lcCorespC + ;
*!*				[','4426', '] + lcExceptii +[',] + pcan + [, ] + pcnl + [,] + Alltrim(Str(tnScrie_Sterge)) + [ ); end;]
*!*		Endif
*!*		lnSucces = executaSql(lcSql,'',.t.)
*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('SCRIE_IN_CUMP ' +goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		&& SCRIE IN VANZ
*!*		Select infisiere
*!*		Locate For Cont = '4427'
*!*		lcCorespD = Alltrim(coresp_d)
*!*		lcCorespC = Alltrim(coresp_c)+ [,5121,5311]
*!*		lcCorespDtva = Alltrim(coresp_d)
*!*		lcCorespCtva = Alltrim(coresp_c) + [,4428,4426]
*!*		*	lcExceptii = [667,622,419]
*!*		lcExceptii = [419]
*!*		lcSql = [select distinct cont_c as exceptie from ] + gcS + [.exceptii_ireg where cont in (] + lcCorespC + [) and invers = 1]
*!*		lnSucces = executaSql(lcSql,'cont_exceptii',.t.)
*!*		If lnSucces > 0
*!*			Select cont_exceptii
*!*			Scan
*!*				lcExceptii = lcExceptii + ',' + Alltrim(exceptie)
*!*			Endscan
*!*			Use In cont_exceptii
*!*		Endif
*!*		If gnAn >= 2007
*!*			lcSql = [begin PACK_CONTAFIN.SCRIE_JC_2007(?gnAn, ?gnLuna, ] + ;
*!*				Iif(tnScrie_Sterge <> 2, 'pack_contafin.nScriere', 'pack_contafin.nStergere') + [); end;]
*!*		Else
*!*			lcSql = [begin pack_contafin.EXECUTA_SCRIE_TVA('] + gcS +[', 'vanz', 1.19, 1.09, '] + ;
*!*			lcCorespDtva +[', '] + lcCorespD +[', '] + lcCorespCtva +[', '] + lcCorespC +[','4427', '] + ;
*!*			lcExceptii +[',] + pcan + [, ] + pcnl + [,] + Alltrim(Str(tnScrie_Sterge)) + [ ); end;]
*!*		Endif
*!*		lnSucces = executaSql(lcSql,'',.t.)
*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('SCRIE_IN_VANZ '+goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif


*!*	*!*	lcSql = [SELECT * FROM ] + gcS + [.ACT_TEMP]
*!*	*!*	lcCursor = [crsACT_TEMP]
*!*	*!*	lnSucces = executaSql(lcSql,lcCursor)
*!*	*!*	SELECT crsACT_TEMP
*!*	*!*	BROWSE
*!*	*!*	USE IN CRSACT_TEMP

*!*	If lnSucces > 0 And tlRul
*!*		Private pcTabel
*!*		pcTabel = [STOC]
*!*		pcIdTabel = [ID_STOC]
*!*		pcConditie = [2=2]
*!*		lcSql = [begin pack_contafin.SCRIE_IN_Stoc(?gcS,?gnAn,?gnLuna,0,?pcTabel,?pcIdTabel,?pcConditie); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('SCRIE IN STOC ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0 And tlRul And Used('RUL_TEMP_OBINV') And Reccount('RUL_TEMP_OBINV')>0
*!*		Private pcTabel
*!*		pcTabel = [STOC_OBINV]
*!*		pcIdTabel = [ID_STOC]
*!*		pcConditie = [2=2]
*!*		lcSql = [begin pack_contafin.SCRIE_IN_Stoc_OBINV(?gcS,?gnAn,?gnLuna,0,?pcTabel,?pcIdTabel,?pcConditie); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox('SCRIE IN STOC_OBINV ' + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*	Endif

*!*	If lnSucces > 0
*!*		Private pcMesajRefacereNota
*!*		pcMesajRefacereNota = ""
*!*		lcSql = [begin pack_refacere_nota.refacere_nota(?gnAn,?gnLuna,?@pcMesajRefacereNota); end;]
*!*		lnSucces = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces < 0
*!*	*!*			Messagebox(goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif
*!*		If !Empty(Nvl(pcMesajRefacereNota,''))
*!*			Messagebox(pcMesajRefacereNota,0+48,'Atentie')
*!*		Endif
*!*		Release pcMesajRefacereNota
*!*	Endif

*!*	If !tlModificare And !llManualTransactions
*!*		If lnSucces < 0
*!*			lcSql = "ROLLBACK"
*!*		Else
*!*			lcSql = "COMMIT"
*!*		Endif
*!*		lnSucces2 = executaSql(lcSql,'',.t.)

*!*	*!*		If lnSucces2 < 0
*!*	*!*			Messagebox(lcSql + Chr(13) + goExecutor.cEroare,0+16,"Eroare")
*!*	*!*		Endif

*!*		lnSucces2 = SQLSetprop(gnhandle,"Transactions",1)
*!*		If lnSucces2 < 0
*!*			Messagebox([Programul nu a reusit sa treaca pe tranzactie automata. ] + ;
*!*			[Iesiti din program si intrati din nou!],0+48,'Atentie!')
*!*		Endif
*!*	Endif


*!*	*!*	IF USED('CRS_ACT')
*!*	*!*		USE IN CRS_ACT
*!*	*!*	ENDIF
*!*	*!*	IF USED('rul_temp')
*!*	*!*		USE IN rul_temp
*!*	*!*	ENDIF
*!*	*!*	IF USED('rul_temp_obinv')
*!*	*!*		USE IN rul_temp_obinv
*!*	*!*	ENDIF

*!*	Return lnSucces
#Define crlf Chr(13) + Chr(10)

Public gcdatapath, gcapppath, gnhandle

gnhandle = conecteaza([jcsserver],[mariusm_auto],[123])

gcapppath = Justpath(Sys(16,0))
*!*	gcapppath = Addbs(Justpath(Sys(16,0)))
*!*	gcapppath = Left(gcapppath,Rat("\",gcapppath,2))
*!*	gcdatapath = ADDBS(gcapppath) + [datemenu]
*!*	SET PATH TO (gcdatapath)

Set Path To (gcapppath)
sql_temp_insert([xnote],[xnote])

&& ------------------------------------------------------------------------------------
Procedure sql_temp_insert
	Lparameters tcAlias,tcTableName


	If !Used(Addbs(gcapppath) + tcAlias)
		Use (Addbs(gcapppath) + tcAlias)
	Endif

	Local lcAlias,lcCursor,lnSucces
	Private poIreg
	Local lcVariable

	If Empty(tcAlias)
		lcAlias = 'ACTACTAN'
	Else
		lcAlias = Upper(Alltrim(tcAlias))
	Endif
	If Empty(tcTableName)
		lcTableName = 'ACT_TEMP'
	Else
		lcTableName = Upper(Alltrim(tcTableName))
	Endif

	lcCursor = 'crs_Coloane'
	lcSql = [SELECT COLUMN_NAME AS COLOANA from user_tab_columns WHERE table_name = ?lcTableName]
	lnSucces = executaSql(lcSql,lcCursor,.T.)
	*!*		If lnSucces < 0
	*!*			Messagebox('Eroare la selectare coloane din ' + lcTableName + Chr(13) + goExecutor.cEroare,0+16,'Eroare')
	*!*		Endif

	If lnSucces > 0
		***
		Select (lcAlias)
		lnCount = Fcount()
		Select (lcAlias)
		lcFields = []
		lcValues = []
		lcInsert = []
		Scatter Name poIreg
		For i = 1 To lnCount
			?i
			Select (lcAlias)
			lcFieldName = Upper(Alltrim(Field(i)))
			lcFieldType = Type(lcFieldName)
			lcFieldValue = Evaluate(lcFieldName)

			Do Case
				Case lcFieldType = "C"
					lcVariable = '?ALLTRIM(poIreg.' + lcFieldName + ')'
	*			CASE lcfieldtype = "L"
	*				lcvariable = IIF(&poIreg.lcFieldName,[1,],[0,]
				Otherw
					lcVariable = '?poIreg.' + lcFieldName
			Endcase

			Select CRS_COLOANE
			Locate For Upper(Alltrim(COLOANA)) == lcFieldName
			If !Found()
				Loop
			Endif
			lcFields = lcFields + [,] + lcFieldName
			lcNumber = '0'
			lcDate = ''
			lcString = ''

			&& FAC NULL ID-URILE CU VALOARE 0
			If Inlist(lcFieldName, 'ID_SUCURSALA')
				If poIreg.id_sucursala = 0
					poIreg.id_sucursala = Null
				Endif
			Endif
			lcValues = lcValues + [,] + lcVariable

		Endfor

		lcFields = Substr(lcFields,2)
		lcValues = Substr(lcValues,2)


		&& INSERT INTO ACT_TEMP
		lcInsert = [INSERT INTO ] + lcTableName + [ (] + lcFields + [) VALUES (] + lcValues + [)]


		Scan
			lnSucces = executaSql(lcInsert,'',.T.)
			If lnSucces < 0
				Messagebox([eroare])
				Exit
			Endif
		Endscan

	Endif
	If Used('crs_coloane')
		Use In CRS_COLOANE
	Endif
	USE IN (SELECT(Addbs(gcapppath) + tcAlias))
	
	Return lnSucces

Endproc && sql_temp_insert



************************	inceput conecteaza ***************************
Procedure conecteaza
	Lparameters tcHost, tcUser, tcPassword

	gnhandle = SQLConnect(tcHost, tcUser, tcPassword)
	If gnhandle < 1
		Aerror(laEroare)
		Messagebox(laEroare(2))
	Endif

	Return gnhandle
Endproc

**************************** inceput executaSql ***************************
Function executaSql
	Lparameters cmdSql, crsName, tlShowErr
	Local lnSucces

	lnSucces = -1

	If Pcount() < 2 And !m.tlShowErr
		crsName=""
	Endif

	If gnhandle > 0
		lnSucces=SQLExec(gnhandle,cmdSql,crsName)

		If lnSucces < 0 And m.tlShowErr
			Aerror(laEroare)
			eroaresql(@laEroare,cmdSql)
		Endif
	Endif

	Return lnSucces
Endfunc

*************************	inceput deconecteaza ************************
Function  deconecteaza
	*Lparameters lnConn
	Local lnSucces

	lnSucces = -1
	If lnConn > 0
		lnSucces = SQLDisconnect(gnhandle)
	Endif

	On Error
	Return lnSucces
Endfunc

*******************************	inceput eroareSql **********************************
Procedure eroaresql
	Lparameters laErr, lcSql

	External Array laErr

	Local lcMesaj

	lcMesaj = [Eroare # : ] + Alltrim(Str(laErr(1))) + crlf + ;
		[Mesajul : ] + laErr(2) + ;
		IIF(!Empty(laErr(3)), [Eroare OLE : ] + laErr(3) ,[]) + ;
		[Aplicatie : ] + laErr(4) + ;
		IIF(Pcount() = 2, crlf + lcSql, [])
	Messagebox(lcMesaj,0+16)

Endproc
