Import initial din SVN ROAAUTO/Trunk @HEAD

This commit is contained in:
2026-04-11 17:11:32 +03:00
commit 656d98697f
1856 changed files with 163525 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
#INCLUDE COMUN.H
Define Class appBaseController As Custom
oSettings = Null
lError = .F.
cErrorMessage = ''
oLog = Null
*
Procedure Init
This.oSettings = Createobject("settingsBaseController")
This.oLog = Iif(Type('goLog') = 'O', goLog, Createobject("logBaseController"))
Endproc && INIT
*
Procedure ProcessError(toHash)
Declare laErrors[1]
lnErrorLines = Aerror(laErrors)
lnError = Iif(toHash.HasProperty("nError"), toHash.GetValue("nError"), Transform(laErrors(1)) + ' ' + Transform(laErrors(5)))
lcMethod = toHash.GetValue("cMethod")
lnLine = toHash.GetValue("nLine")
lcError = Iif(toHash.HasProperty("cError"), toHash.GetValue("cError"), Transform(laErrors(2)))
lcCode = Iif(toHash.HasProperty("cCode"), toHash.GetValue("cCode"), Message(1) )
lcCallStack = GetCallStack()
lcUserMessage = toHash.GetValue("cUserMessage")
This.cErrorMessage = lcUserMessage + CRLF + CRLF + ;
'Eroarea nr: ' + Transform(lnError) + CRLF + ;
'Eroarea: ' + Transform(lcError) + CRLF + ;
'Procedura: ' + Transform(lcMethod) + CRLF + ;
'Linia: ' + Transform(lnLine) + CRLF + ;
'Codul: ' + Transform(lcCode) + CRLF + ;
lcCallStack
This.lError = .T.
This.oLog.WriteLog(This.cErrorMessage)
aMessagebox(This.cErrorMessage,0+16,'Eroare')
*!* IF MESSAGEBOX(THIS.cErrorMessage + CRLF + 'Doriti sa iesiti?',16+4,'Eroare') = 6
*!* RETURN TO MASTER
*!* ENDIF
Endproc && ProcessError
*
Procedure Log
Lparameters tcMessage
This.oLog.WriteLog(tcMessage)
Endproc && Log
*
Function GetError
Return This.cErrorMessage
Endfunc && GetError
*
Function HasError
Return This.lError
Endfunc && HasError
*
Function Gethost
Return ""
Endfunc && GetHost
*
Function GetUser
Return ""
Endfunc && GetUser
*
Function GetPassword
Return ""
Endfunc && GetPassword
Enddefine

View File

@@ -0,0 +1,339 @@
Define Class DBAccessController As Custom
cServer = Null
cSchema = Null
cParola = Null
oExecutor = Null
oConn = Null
nHandle = Null
nSucces = 0
lAfiseazaEroare = .T.
***********************************************************************
Procedure Init
If Type('goConn') = 'O'
This.oConn = goConn
Else
This.oConn = Createobject("oConn")
Public goConn
goConn = This.oConn
Endif
If Type('goExecutor') = 'O'
This.oExecutor = goExecutor
Else
This.oExecutor = Createobject("oExecutor")
Public goExecutor
goExecutor = This.oExecutor
Endif
If Type('gnHandle') = 'N'
This.nHandle = gnHandle
Else
This.nHandle = -1
Public gnHandle
gnHandle = -1
Endif
Endproc
***********************************************************************
PROCEDURE conecteaza
Lparameters tcSchema,tcParola
This.cSchema = tcSchema
This.cParola = tcParola
This.nHandle = This.oConn.Connect(This.cServer,This.cSchema,This.cParola)
ENDPROC
***********************************************************************
PROCEDURE deconecteaza
This.oConn.Disconnect(This.nHandle)
This.cSchema = Null
This.cParola = Null
This.nHandle = -1
ENDPROC
***********************************************************************
Procedure setServer
Lparameters tcServer
This.cServer = tcServer
Endproc
***********************************************************************
Procedure setSchemaParola
Lparameters tcSchema,tcParola
If This.nHandle <> -1
This.oConn.Disconnect(This.nHandle)
Endif
This.conecteaza(tcSchema,tcParola)
Endproc
***********************************************************************
Procedure copiaza_structura_cursor
Lparameters tcSursa,tcDestinatie
LOCAL lnIndex
If !Empty(tcSursa) And !Empty(tcDestinatie)
If Used(tcSursa)
Dimension laStructura(1,18)
If Used(tcDestinatie)
Use In (tcDestinatie)
Endif
Afields(laStructura,tcSursa)
*!* lnIndex = ALEN(laStructura,1)+1
*!* DIMENSION laStructura(lnIndex,18)
*!* laStructura[lnIndex,1] = "RN"
*!* laStructura[lnIndex,2] = "N"
*!* laStructura[lnIndex,3] = 10
*!* laStructura[lnIndex,4] = 0
*!* laStructura[lnIndex,5] = .F.
*!* laStructura[lnIndex,6] = laStructura[lnIndex-1,6]
*!* laStructura[lnIndex,7] = []
*!* laStructura[lnIndex,8] = []
*!* laStructura[lnIndex,9] = []
*!* laStructura[lnIndex,10] = laStructura[lnIndex-1,10]
*!* laStructura[lnIndex,11] = laStructura[lnIndex-1,11]
*!* laStructura[lnIndex,12] = laStructura[lnIndex-1,12]
*!* laStructura[lnIndex,13] = []
*!* laStructura[lnIndex,14] = []
*!* laStructura[lnIndex,15] = []
*!* laStructura[lnIndex,16] = []
*!* laStructura[lnIndex,17] = 1
*!* laStructura[lnIndex,18] = 1
Create Cursor (tcDestinatie) From Array laStructura
Release laStructura
Else
amessagebox("Eroare interna 2 - copiaza structura cursor",16,"Eroare")
Endif
Else
amessagebox("Eroare interna 1 - copiaza structura cursor",16,"Eroare")
Endif
Endproc
***********************************************************************
Function apeleaza_sql_hash
Lparameters toHash,tcNumeCursor
LOCAL lcSql
lcSql = [select ] + toHash.getValue('cColumns') + ;
[ from ] + toHash.getValue('cTables') + ;
IIF(!Empty(toHash.getValue('cWhere')),[ where ] + toHash.getValue('cWhere'),[]) + ;
IIF(!Empty(toHash.getValue('cGroupBy')),[ group by ] + toHash.getValue('cGroupBy'),[]) + ;
IIF(!Empty(toHash.getValue('cOrderBy')),[ order by ] + toHash.getValue('cOrderBy'),[])
RETURN This.apeleaza_sql(lcSql,tcNumeCursor)
endfunc
***********************************************************************
Function apeleaza_sql
Lparameters tcSql,tcNumeCursor
Local lcNumeCursor,lcAlias,llSucces
llSucces = .F.
lcAlias = Alias()
lcNumeCursor = [codbctemp]
If Used(lcNumeCursor)
Use In (lcNumeCursor)
Endif
This.nSucces = This.oExecutor.oExecute(tcSql,lcNumeCursor)
llSucces = This.verificaSucces()
If llSucces
If !Used(tcNumeCursor)
This.copiaza_structura_cursor(lcNumeCursor,tcNumeCursor)
Endif
Select (tcNumeCursor)
Zap In (tcNumeCursor)
Append From Dbf(lcNumeCursor)
Go Top
If Used(lcNumeCursor)
Use In (lcNumeCursor)
Endif
If !Empty(lcAlias)
Select (lcAlias)
Endif
Endif
Return llSucces
Endfunc
***********************************************************************
Function apeleaza_procedura
Lparameters tcApelProcedura,tcNumeCursor
Local lcNumeCursor,lcAlias,llSucces,lcDeclaratie
llSucces = .F.
lcAlias = Alias()
If !Empty(tcNumeCursor)
lcNumeCursor = [codbctemp]
lcSql = [{call ] + tcApelProcedura + [}]
If Used(lcNumeCursor)
Use In (lcNumeCursor)
Endif
Else
lcSql = [begin ] + tcApelProcedura + [; end;]
Endif
This.nSucces = This.oExecutor.oExecute(lcSql,lcNumeCursor)
llSucces = This.verificaSucces()
If llSucces And !Empty(tcNumeCursor)
If !Used(tcNumeCursor)
This.copiaza_structura_cursor(lcNumeCursor,tcNumeCursor)
Endif
Select (tcNumeCursor)
Zap In (tcNumeCursor)
Append From Dbf(lcNumeCursor)
Go Top
If Used(lcNumeCursor)
Use In (lcNumeCursor)
Endif
Endif
If !Empty(lcAlias)
Select (lcAlias)
Endif
Return llSucces
Endfunc
***********************************************************************
Function apeleaza_procedura_o
Lparameters tcApelProcedura,tcSirTip
Local lcNumeCursor,lcAlias,llSucces,lcNumeVariabila,lnParametri, lcTip
Dimension laSir[1]
llSucces = .F.
lcAlias = Alias()
lnParametri = Getwordcount(tcSirTip,[|])
Dimension laSir[lnParametri]
For i = 1 To lnParametri
lcTip = Getwordnum(tcSirTip,i,[|])
lcNumeVariabila = [p] + lcTip + [Parametru] + Alltrim(Str(i))
lcDeclaratie = [Private ] + lcNumeVariabila
&lcDeclaratie
DO case
CASE UPPER(lcTip) = 'N'
lcDeclaratie = lcNumeVariabila + [ = 0]
CASE UPPER(lcTip) = 'C'
lcDeclaratie = lcNumeVariabila + [ = '']
Otherwise
lcDeclaratie = lcNumeVariabila + [ = Null]
endcase
&lcDeclaratie
tcApelProcedura = Strtran(tcApelProcedura,[@p]+Padl(Alltrim(Str(i)),2,[0]),[@]+lcNumeVariabila)
Endfor
lcSql = [{call ] + tcApelProcedura + [}]
This.nSucces = This.oExecutor.oExecute(lcSql)
llSucces = This.verificaSucces()
If llSucces
For i = 1 To lnParametri
lcNumeVariabila = [p] + Getwordnum(tcSirTip,i,[|]) + [Parametru] + Alltrim(Str(i))
loVariabila = &lcNumeVariabila
laSir[i] = loVariabila
lcDeclaratie = [Release ] + lcNumeVariabila
&lcDeclaratie
Endfor
ELSE
For i = 1 To lnParametri
laSir[i] = Null
Endfor
Endif
If !Empty(lcAlias)
Select (lcAlias)
Endif
Return laSir
Endfunc
***********************************************************************
Function apeleaza_functie
Lparameters tcApelFunctie,tcTip
Local lcCursor,luReturn
lcCursor = [crstaf010101]
lcSql = [select ] + tcApelFunctie + [ as valoare from dual]
This.nSucces = This.oExecutor.oExecute(lcSql,lcCursor)
If This.verificaSucces()
Select (lcCursor)
luReturn = valoare
If Used(lcCursor)
Use In (lcCursor)
Endif
Do Case
Case Isnull(luReturn)
Return Null
Case Type('luReturn') <> tcTip
Return Val(luReturn)
Otherwise
Return luReturn
Endcase
Else
Return Null
Endif
Endfunc
***********************************************************************
Function getEroare
Return Iif(Between(This.oExecutor.nEroare,20000,21000),This.oExecutor.cEroare,[])
Endfunc
***********************************************************************
Function getSucces
Return This.nSucces
Endfunc
***********************************************************************
Function getSchema
Return This.cSchema
Endfunc
***********************************************************************
Procedure setAfiseazaEroare
Lparameters tlAfiseazaEroare
This.lAfiseazaEroare = tlAfiseazaEroare
Endproc
***********************************************************************
Procedure getAfiseazaEroare
Return This.lAfiseazaEroare
Endproc
***********************************************************************
Function verificaSucces
Local llReturn
llReturn = .T.
If This.nSucces < 0
IF This.lAfiseazaEroare OR (!BETWEEN(This.oExecutor.nEroare,20000,21000))
amessagebox(This.oExecutor.cEroare,16,"Eroare")
ENDIF
llReturn = .F.
Endif
Return llReturn
Endfunc
***********************************************************************
Function setTranzactieManuala
Local lnSucces
lnSucces = SQLSetprop(This.nHandle,"Transactions",2)
If lnSucces < 0
If This.lAfiseazaEroare
amessagebox("Programul nu a reusit sa treaca pe tranzactie manuala! Reintrati in program si incercati din nou!",16,"Eroare")
Endif
llReturn = .F.
Else
llReturn = .T.
Endif
Return llReturn
Endfunc
***********************************************************************
Function setTranzactieAutomata
Local lnSucces,llReturn
lnSucces = SQLSetprop(This.nHandle,"Transactions",1)
If lnSucces < 0
If This.lAfiseazaEroare
amessagebox("Programul nu a reusit sa treaca pe tranzactie automata! Iesiti din program si intrati din nou!",16,"Eroare")
Endif
llReturn = .F.
Else
llReturn = .T.
Endif
Return llReturn
Endfunc
***********************************************************************
Function confirmaOperatii
Local lnSucces,llReturn
lnSucces = Sqlcommit(This.nHandle)
If lnSucces < 0
If This.lAfiseazaEroare
amessagebox("Eroare la COMMIT!",16,"Eroare")
Endif
llReturn = .F.
Else
llReturn = .T.
Endif
Return llReturn
Endfunc
***********************************************************************
Function revocaOperatii
Local lnSucces,llReturn
lnSucces = Sqlrollback(This.nHandle)
If lnSucces < 0
If This.lAfiseazaEroare
amessagebox("Eroare la ROLLBACK!",16,"Eroare")
Endif
llReturn = .F.
Else
llReturn = .T.
Endif
Return llReturn
Endfunc
***********************************************************************
Enddefine

View File

@@ -0,0 +1,66 @@
#INCLUDE COMUN.H
Define Class logBaseController As Session
cLog = ''
cOutputFile = ''
lAdditive = .T.
********************************************************************
Procedure Init
Lparameters tcOutputfile, tlAdditive
If !Empty(tcOutputfile) And Type('tcOutputFile') = 'C'
This.cOutputFile = tcOutputfile
Endif
If Pcount() = 2 And Type('tlAdditive') = 'L'
This.lAdditive = tlAdditive
Endif
This.Log()
Endproc
********************************************************************
Procedure Log
Lparameters tcMessage, tcProgram
Local lcLog
If Pcount() = 0 Or Type('tcMessage') # 'C' Or Empty(tcMessage)
lcLog = CRLF
Else
lcLog = Ttoc(Datetime()) + ' ' + Sys(0) + CRLF + tcMessage + CRLF
Endi
This.cLog = This.cLog + lcLog
This.WRITELOG()
Endproc
********************************************************************
Procedure ResetLog
This.cLog = ''
Endproc
********************************************************************
Procedure WRITELOG
Lparameters tcMessage, tcOutputfile, tlAdditive
Local lcOutputfile, llAdditive, lcLog
If !Empty(tcOutputfile) And Type('tcOutputFile') = 'C'
lcOutputfile = tcOutputfile
Else
lcOutputfile = This.cOutputFile
Endif
If Pcount() < 3 Or Type('tlAdditive') # 'L'
llAdditive = This.lAdditive
Else
llAdditive = tlAdditive
Endif
If Type('tcMessage') = 'C'
If Empty(tcMessage)
lcLog = CRLF
Else
lcLog = Ttoc(Datetime()) + ' ' + Sys(0) + CRLF + tcMessage + CRLF
Endif
Else
lcLog = This.cLog
Endif
If !Empty(lcOutputfile)
Strtofile(lcLog, lcOutputfile, llAdditive)
Endif
Endproc
********************************************************************
Enddefine
*

View File

@@ -0,0 +1,249 @@
#INCLUDE COMUN.H
#INCLUDE MVC.H
Define Class LoginController As Custom
oDBController = Null
oControllerSetari = Null
oUtilizator = Null
*!* oFirma = Null
oView = Null
nTipLogin = Null
cFormLogin = Null
cProcLogin = Null
nTipVerificare = 0
*!* 0 = verificare utilizator si parola
*!* 1 = verificare utilizator si parola cu id-ul dat ca parametru
*!* 2 = verificare utilizator si parola cu nivelul dat ca parametru
nIdUtil = Null
nNivelAcces = Null
cExplicatie = "Autentificare"
cRestaurant = Null
***********************************************************************
Procedure Init
Lparameters toDbController,toControllerSetari,tnTipVerificare,tnParametru,tcDenumire
This.oDBController = toDbController
This.oControllerSetari = toControllerSetari
This.oUtilizator = Createobject("UtilizatorModel")
*!* This.oFirma = CREATEOBJECT("FirmaModel")
This.nTipLogin = 2
This.cFormLogin = [Login] + Iif(This.nTipLogin=2,[CodBare],[])
This.cProcLogin = [Login] + Iif(This.nTipLogin=2,[CodBare],[])
This.nTipVerificare = IIF(TYPE('tnTipVerificare')<>'N',0,tnTipVerificare)
Do Case
Case This.nTipVerificare = 1
This.nIdUtil = tnParametru
This.nNivelAcces = Null
This.cExplicatie = This.cExplicatie + [ ] + ALLTRIM(tcDenumire)
Case This.nTipVerificare = 2
This.nNivelAcces = tnParametru
This.nIdUtil = Null
This.cExplicatie = This.cExplicatie + [ nivel minim : ] + ALLTRIM(tcDenumire)
Otherwise
This.oDBController.setLoginController(This)
This.nIdUtil = Null
This.nNivelAcces = Null
Endcase
Endfunc && INIT
***********************************************************************
Procedure conecteaza
Local lcParolaSchema,lcServer,lcSchema,lcParola
lcServer = This.oControllerSetari.getServerSetari()
This.oDBController.setServer(lcServer)
This.oDBController.setSchemaParola(This.oControllerSetari.getSchemaSecurity(lcServer),This.oControllerSetari.getParolaSecurity(lcServer))
lnIdFirmaSetari = This.oControllerSetari.getIdFirmaSetari()
If !Empty(lnIdFirmaSetari)
lcParolaSchema = This.oDBController.getParolaSchema(lnIdFirmaSetari)
IF !EMPTY(lcParolaSchema)
lnPoz = AT('$',lcParolaSchema)
lcSchema = SUBSTR(lcParolaSchema,1,lnPoz-1)
lcParola = SUBSTR(lcParolaSchema,lnPoz+1)
This.oDBController.setSchemaParola(lcSchema,lcParola)
If This.nTipVerificare = 0
This.oControllerSetari.verificaVersiuni()
Endif
ENDIF
Endif
Endproc
***********************************************************************
PROCEDURE deconecteaza
This.oDBController.deconecteaza()
This.oUtilizator.reseteazaDate()
ENDPROC
***********************************************************************
Function getIdUtil
Return This.oUtilizator.getIdUtil()
Endfunc
***********************************************************************
Function getUtilizator
Return This.oUtilizator.getUtilizator()
Endfunc
***********************************************************************
Function getSex
Return This.oUtilizator.getSex()
Endfunc
***********************************************************************
Procedure setInTura
LPARAMETERS tlInTura
This.oUtilizator.setInTura(tlInTura)
Endproc
***********************************************************************
Function getInTura
Return This.oUtilizator.getInTura()
Endfunc
***********************************************************************
Function getNivelAcces
Return This.oUtilizator.getNivelAcces()
Endfunc
***********************************************************************
Function getIdRestaurant
Return This.oControllerSetari.getIdRestaurant()
Endfunc
***********************************************************************
FUNCTION setRestaurant
LPARAMETERS tcRestaurant
This.cRestaurant = tcRestaurant
_Screen.Caption = gcExplicatieProgram + [ * ] + tcRestaurant
ENDFUNC
***********************************************************************
FUNCTION getRestaurant
RETURN This.cRestaurant
ENDFUNC
***********************************************************************
Function getIdSucursala
Return This.oControllerSetari.getIdSucursala()
Endfunc
*********************************************************************
Function getIdMama
Return This.oControllerSetari.getIdMama()
Endfunc
*********************************************************************
Function getEMama
Return This.oControllerSetari.getEMama()
Endfunc
*********************************************************************
FUNCTION getFirma
LOCAL loFirma
loFirma = This.oControllerSetari.getoFirma()
RETURN NVL(loFirma.firma,[ ])
endfunc
***********************************************************************
Procedure lanseazaLogin
If This.conecteaza()
Do Form (This.cFormLogin) With This,This.cExplicatie Name This.oView
Else
amessagebox("Nu s-a putut stabili conexiunea cu serverul!",16,"Eroare")
Endif
Endproc && List
***********************************************************************
Procedure verificaUtilizator
Parameters tcParola,tcUtilizator
Local lcCod,lcUtilizator
This.oDBController.setAfiseazaEroare(.F.)
lcCod = This.oDBController.verifica_drepturi_utilizator(tcParola,;
This.oControllerSetari.getIdFirmaSetari(),This.oControllerSetari.getNumeProgram(),;
This.nTipVerificare,IIF(This.nTipVerificare=2,This.nNivelAcces,This.nIdUtil),tcUtilizator)
If !ISNULL(lcCod)
This.oUtilizator.actualizeazaDate(tcParola,lcCod,tcUtilizator)
IF this.nTipVerificare = 0
This.oControllerSetari.citesteSetariSchema(This.oUtilizator.getIdUtil())
This.setRestaurant(This.oDBController.initializeaza_restaurant(This.oControllerSetari.getIdRestaurant()))
ENDIF
Else
This.oUtilizator.reseteazaDate()
Endif
IF This.verificaSucces()
This.oView.Release()
Else
If This.nTipLogin = 1
*!* lcErrorMessage = "Combinatie utilizator/parola invalida!"
This.oView.txtUtilizator.SetFocus()
Else
*!* lcErrorMessage = "Cod invalid!"
This.oView.txtParola.Value = []
This.oView.txtParola.SetFocus()
Endif
*!* This.oView.lblMessage.Caption = lcErrorMessage
This.oView.lblMessage.Caption = This.oDBController.getEroare()
Endif
This.oDBController.setAfiseazaEroare(.T.)
Endproc
***********************************************************************
FUNCTION verificaSucces
LOCAL llReturn
IF This.esteAutentificat()
*!* AND ((This.nTipVerificare = 0) OR ;
*!* (This.nTipVerificare = 1 AND This.oUtilizator.getIdUtil() = This.nIdUtil) OR ;
*!* (This.nTipVerificare = 2 AND This.oUtilizator.getNivelAcces() >= This.nNivelAcces))
llReturn = .T.
ELSE
llReturn = .F.
ENDIF
RETURN llReturn
ENDFUNc
***********************************************************************
Function esteAutentificat
Return This.oUtilizator.esteAutentificat()
Endfunc
***********************************************************************
Procedure SetEventsHandlers
Bindevent(This.oView.cmdLogin, "CLICK", This, This.cProcLogin )
Bindevent(This.oView.cmdCancel, "CLICK", This, This.cProcLogin )
Endproc && SetEventsHandler
***********************************************************************
Procedure Login
Local lnRows, lcCommand, lcErrorMessage, lcUtilizator, lcParola, loUtilizator
Declare laEvents[3]
lcErrorMessage = ""
lnRows = Aevents(laEvents,0)
If lnRows = 3
lcCommand = Upper(laEvents(1).Name)
Else
lcCommand = ""
Endif
If lcCommand = 'CMDLOGIN'
lcUtilizator = Alltrim(This.oView.cboUtilizator.Value)
lcParola = Alltrim(This.oView.txtParola.Value)
This.verificaUtilizator(lcParola,lcUtilizator)
Else
This.oView.Release()
Endif
Endproc && Login
***********************************************************************
Procedure LoginCodBare
Local lnRows, lcCommand, lcErrorMessage, lcUtilizator, lcParola, loUtilizator
Declare laEvents[3]
lcErrorMessage = ""
lnRows = Aevents(laEvents,0)
If lnRows = 3
lcCommand = Upper(laEvents(1).Name)
Else
lcCommand = ""
Endif
If Inlist(lcCommand, 'CMDLOGIN')
lcCodBare = Alltrim(This.oView.txtParola.Value)
*!* lcUtilizator = Left(lcCodBare,At("$", lcCodBare)-1)
*!* lcParola = Substr(lcCodBare,At("$", lcCodBare)+1)
lcParola = lcCodBare
This.verificaUtilizator(lcParola)
Else
This.oView.Release()
Endif
Endproc && LoginCodBare
***********************************************************************
PROCEDURE reinitializeazaDate
This.oControllerSetari.citesteSetariSchema(This.oUtilizator.getIdUtil())
ENDPROC
***********************************************************************
PROCEDURE release
This.oUtilizator.Release()
ENDPROC
***********************************************************************
Enddefine

View File

@@ -0,0 +1,184 @@
Define Class oraSettingsController As Custom
oDBController = Null
oDateCalendar = Null
oDateFirma = Null
nIdSucursala = Null
nIdMama = Null
lEMama = Null
Procedure Init
Lparameters toDBController
This.oDBController = toDBController
Endproc
******************************************************************
Procedure initializeaza_firma
Lparameters tnIdFirma,tnIdUtil
This.initializeaza_date_firma(tnIdFirma)
This.initializeaza_calendar()
This.initializeaza_optiuni()
This.initializeaza_utilizator(tnIdUtil)
Endproc
******************************************************************
Procedure initializeaza_utilizator
Lparameters tnIdUtil
This.initializeaza_optiuni_utilizator(tnIdUtil)
This.initializeaza_sesiune_server(tnIdUtil)
Endproc
******************************************************************
Procedure initializeaza_date_firma
Lparameters tnIdFirma
Local loFirma,lcCursor
This.oDateFirma = Null
lcCursor = [crsdatefirma]
If Used(lcCursor)
Use In (lcCursor)
Endif
If This.oDBController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>syn_nom_firme??cWhere=>id_firma=] + Alltrim(Str(tnIdFirma))),lcCursor)
Select (lcCursor)
Scatter Name loFirma
This.oDateFirma = loFirma
This.nIdSucursala = Iif(Nvl(loFirma.id_mama,0) <> 0, loFirma.Id_Firma, Null) && DACA ESTE SUCURSALA - ID-UL SUCURSALA PE CARE IL SCRIU IN TABELE
This.nIdMama = Iif(Nvl(loFirma.id_mama,0) <> 0, loFirma.id_mama, Null)
This.lEMama = Nvl(loFirma.e_mama,0) <> 0
Endif
If Used(lcCursor)
Use In (lcCursor)
Endif
Endproc
******************************************************************
Procedure initializeaza_calendar
Local loCalendar,lcCursor
This.oDateCalendar = Null
lcCursor = [crscalendar]
If Used(lcCursor)
Use In (lcCursor)
Endif
If This.oDbController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>(select * from calendar order by id_calendar desc)??cWhere=>rownum = 1]),lcCursor)
If Reccount(lcCursor) = 0
amessagebox("Nu exista luni deschise in calendar!",48,"Atentie")
Else
Select (lcCursor)
Scatter Name loCalendar
This.oDateCalendar = loCalendar
Endif
Endif
If Used(lcCursor)
Use In (lcCursor)
Endif
Endproc
******************************************************************
PROCEDURE initializeaza_optiuni_utilizator
LPARAMETERS tnIdUtil
LOCAL lcCursor
lcCursor = [crsOptiuniUtilizator]
If Used(lcCursor)
Use In (lcCursor)
Endif
This.oDbController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>optiuni_util??cWhere=>id_util=] +ALLTRIM(STR(tnIdUtil)) + [??cOrderBy=>varname]),lcCursor)
ENDPROC
******************************************************************
Procedure initializeaza_optiuni
Local lcNumeCursor
lcNumeCursor = [v_optiuni]
If This.citeste_optiuni(lcNumeCursor)
Select(lcNumeCursor)
Scan For !Empty(varname) And (Isnull(programe) Or gcNumeProgram$programe)
lcvarname = Alltrim(&lcNumeCursor..varname)
lcvartype = Upper(Alltrim(&lcNumeCursor..Vartype))
Do Case
Case lcvartype = "CHARACTER"
Public gc&lcvarname.
luvarvalue = Alltrim(&lcNumeCursor..varvalue)
gc&lcvarname. = luvarvalue
Case lcvartype = "CURRENCY"
Public gy&lcvarname.
luvarvalue = Ntom(Val(&lcNumeCursor..varvalue))
gy&lcvarname. = luvarvalue
Case lcvartype = "NUMERIC"
Public gn&lcvarname.
luvarvalue = Val(&lcNumeCursor..varvalue)
gn&lcvarname. = luvarvalue
Case lcvartype = "DATETIME"
Public gt&lcvarname.
luvarvalue = Ctot(&lcNumeCursor..varvalue)
gt&lcvarname. = luvarvalue
Case lcvartype = "DATE"
Public gd&lcvarname.
luvarvalue = Ctod(&lcNumeCursor..varvalue)
gd&lcvarname. = luvarvalue
Case lcvartype = "LOGICAL"
Public gl&lcvarname.
luvarvalue = Iif(Inlist(Upper(Left(&lcNumeCursor..varvalue, 1)), "T", "Y"), .T., .F.)
gl&lcvarname. = luvarvalue
Otherwise
pcmsgbuff = "Tip de variabila globala invalid!"
pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Numele variabilei: " + lcvarname
pcmsgbuff = pcmsgbuff + Chr(13) + "Tipul variabilei: " + lcvartype
pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Contactati suportul tehnic."
=aMessagebox(pcmsgbuff, 48)
pcmsgbuff = ""
Endcase
Endscan
Endif
If Used(lcNumeCursor)
Use In (lcNumeCursor)
Endif
Endproc
******************************************************************
PROCEDURE initializeaza_sesiune_server
Lparameters tnIdUtil
Local lcProceduri
lcProceduri = [pack_sesiune.set_Id_Util(] + ALLTRIM(STR(tnIdUtil)) + [);] + ;
[pack_sesiune.setluna(] + ALLTRIM(STR(This.oDateCalendar.luna)) + [);] + ;
[pack_sesiune.setan(] + ALLTRIM(STR(This.oDateCalendar.anul)) + [);] + ;
[pack_sesiune.setlunabal(] + ALLTRIM(STR(This.oDateCalendar.luna)) + [);] + ;
[pack_sesiune.setanbal(] + ALLTRIM(STR(This.oDateCalendar.anul)) + [);] + ;
[pack_contafin.set_data_ron('] + ALLTRIM(This.oDateFirma.schema) + [');] + ;
[pack_sesiune.set_data_ron('] + ALLTRIM(This.oDateFirma.schema) + [');] + ;
[pack_contafin.set_id_sucursala(] + Iif(Nvl(This.oDateFirma.id_mama,0) <> 0, ALLTRIM(STR(This.oDateFirma.Id_Firma)), [NULL]) + [);] + ;
[pack_contafin.set_id_firma(] + ALLTRIM(STR(This.oDateFirma.id_firma)) + [)]
This.oDBController.apeleaza_procedura(lcProceduri)
ENDPROC
******************************************************************
Function scrie_optiuni
Local lcProcedura
lcProcedura = [scrie_optiuni(USER)]
Return This.oDBController.apeleaza_procedura(lcProcedura)
Endfunc
******************************************************************
FUNCTION verificaVersiuni
LPARAMETERS tcNumeProgram,tcVersiuneProgram,tcVersiuneDBTxt
LOCAL lcFunctie
lcFunctie = [pack_migrare.VerificaVersiune(']+tcNumeProgram+[', ']+tcVersiuneProgram+[',']+tcVersiuneDBTxt+[')]
Return This.oDBController.apeleaza_functie(lcFunctie,[C])
ENDfunc
******************************************************************
Function citeste_optiuni
Lparameters tcNumeCursor
This.scrie_optiuni()
Return This.oDBController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>optiuni??cOrderBy=>varname]),tcNumeCursor)
Endfunc
******************************************************************
Function getoFirma
Return This.oDateFirma
Endfunc
******************************************************************
Function getoCalendar
Return This.oDateCalendar
Endfunc
******************************************************************
Function getIdSucursala
Return This.nIdSucursala
Endfunc
******************************************************************
Function getIdMama
Return This.nIdMama
Endfunc
******************************************************************
Function getEMama
Return This.lEMama
Endfunc
******************************************************************
Enddefine

View File

@@ -0,0 +1,202 @@
Define Class ROABaseApplication As Custom
cLastSetClassLib = Null
cLastSetTalk = Null
cLastSetPath = Null
cNumeProgram = [ROA]
cCopyRight = [<5B> ROA Romfast SRL]
cUserNameApp = Null
cExplicatieProgram = Null
cROAPath = Null
cAppPath = Null
cSecurityPath = Null
cGeneralIniFile = Null
oLog = Null
oExecutor = Null
oConn = Null
oExport = Null
oMyXmlHttp = Null
Procedure Init
Lparameters tcNumeProgram
This.cNumeProgram = Upper(Alltrim(tcNumeProgram))
_Screen.Icon = tcNumeProgram + [.ico]
_Screen.Visible=.F.
This.definesteConstante()
This.setMediu()
This.setClase()
This.setProceduri()
This.declaraDLL()
This.setVariabile()
This.setAlteProceduri()
This.initializeazaControllere()
This.setExplicatieProgram()
Endproc
PROCEDURE setVariabile
This.cAppPath = Addbs(ShortPath(GetAppStartPath()))
This.cROAPath = Addbs(Left(This.cAppPath,Rat("\",This.cAppPath,2)-1))
This.cSecurityPath = This.cROAPath + 'Security\'
This.cGeneralIniFile = This.cROAPath + "settings.ini"
ENDPROC
PROCEDURE setAlteProceduri
Set Path To Addbs(Substr(This.cAppPath,1,Rat([\],This.cAppPath,2)))+[COMUNROA\] Additive
ENDPROC
PROCEDURE setExplicatieProgram
Local laVersion
Dimension laVersion(12)
If Agetfileversion(laVersion, Sys(16,0)) > 0
This.cExplicatieProgram = laVersion(10)
IF TYPE('gcExplicatieProgram') = 'C'
gcExplicatieProgram = This.cExplicatieProgram
ENDIF
Endif
Release laVersion
ENDPROC
Procedure definesteConstante
Public LF,CR,CRLF,CTAB,CT_INSUCCES,CT_SUCCES
Store Chr(10) To LF
Store Chr(13) To CR
Store Chr(13) + Chr(10) To CRLF
Store Chr(9) To CTAB
Store -1 To CT_INSUCCES
Store 1 To CT_SUCCES
Endproc
Procedure initializeazaControllere
This.oLog = Createobject("logBaseController",This.cAppPath + "log_" + This.cNumeProgram + "_" + DTOS(DATE()) + ".txt")
This.oExecutor = Createobject("oExecutor")
This.oConn = Createobject("oConn")
This.oExport = Createobject("oExportConfig")
This.oMyXmlHttp = Createobject("MyXMLHTTP", getini(gcGeneralIniFile,'errors','host'))
Endproc
Procedure declaraDLL
Declare Integer Beep In kernel32;
INTEGER dwFreq,;
INTEGER dwDuration
Declare Integer CoCreateGuid In OLE32.Dll String @lcBuffer
Endproc
Procedure setClase
Set Classlib To registry Additive
Set Classlib To Messagebox Additive
Endproc
Procedure setProceduri
Set Procedure To wwxmlhttp.prg Additive
Set Procedure To wwutils.prg Additive
Set Procedure To wwApi.prg Additive
SET PROCEDURE TO oproceduri_comune.prg additive
SET PROCEDURE TO ini.prg additive
Endproc
Procedure setMediu
This.backupMediu()
Set Path To ;Date;Include;FERESTRE;GRAFICE;Help;CLASE;MENIURI;PROGRAME;RAPOARTE;PROGS;LIBS
Push Menu _Msysmenu
Set Century On
Set Date Dmy
Set Ansi On
Set Exact On
Set Talk Off
Set Console Off
Set Safety Off
Close Databases All
Set Deleted On
Set Point To '.'
Set Hours To 24
Set NullDisplay To "*"
Set Mark To '/'
Set Exclusive Off
Set Cpdialog Off
Set Escape Off
Set Notify Off
Set Seconds Off
Set Decimals To 4
Endproc
Procedure backupMediu
This.cLastSetClassLib=Set("CLASSLIB")
This.cLastSetTalk=Set("TALK")
This.cLastSetPath=Set("PATH")
Endproc
Procedure ResetMediu
If Cntbar("_msysmenu")<>7
Pop Menu _Msysmenu
Endif
On Error
On Shutdown
Set Classlib To
Set Path To
Close All
Clear Events
If Inlist(Application.StartMode,4) && EXE
Quit
Endif
This.restoreMediu()
Endproc
Procedure restoreMediu
If Empty(Nvl(This.cLastSetPath,[]))
Set Path To
Else
Set Path To &(This.cLastSetPath)
Endif
If This.cLastSetTalk=="ON"
Set Talk On
Else
Set Talk Off
Endif
Endproc
Function Shutdown
If Type("goApp")=="O" And Not Isnull(goApp)
If Pemstatus(goApp,"OnShutdown",5)
Return goApp.OnShutDown()
Endif
Endif
This.ResetMediu()
Endfunc
Function ErrorHandler(nError,cMethod,nLine)
Local lcErrorMsg,lcCodeLineMsg,lcUserName
Wait Clear
lcErrorMsg=Message()+Chr(13)+Chr(13)
lcErrorMsg=lcErrorMsg+"Method: "+cMethod
lcCodeLineMsg=Message(1)
If Between(nLine,1,10000) And Not lcCodeLineMsg="..."
lcErrorMsg=lcErrorMsg+Chr(13)+"Line: "+Alltrim(Str(nLine))
If Not Empty(lcCodeLineMsg)
lcErrorMsg=lcErrorMsg+Chr(13)+Chr(13)+lcCodeLineMsg
Endif
Endif
lcErrorMsg = Sys(0) + ":" + Iif(Type('GCS')='C'," " + gcS,"") + Chr(13) +Chr(10) + lcErrorMsg
lcUserName = This.cUserNameApp
lcProgram = Juststem(Sys(16,0))
This.oMyXMLHTTP.postError(lcErrorMsg, lcUserName, lcProgram)
If aMessagebox(lcErrorMsg,17,_Screen.Caption)#1
On Error
Return .F.
Endif
Endfunc
Function verificaAplicatie
If !Like(This.cNumeProgram + '*', Upper(Alltrim(Juststem(Sys(16,0)))))
aMessagebox("Nu puteti porni acest program!",0+16,"Atentie")
Return .F.
Endif
Endfunc
Enddefine

View File

@@ -0,0 +1,376 @@
#include security.h
*!* #Define WINDOWHIDE 0x80
*!* #Define WINDOWSHOW 0x40
*!* #define TBAR_AUTOHIDE 1
*!* #define TBAR_KEEPONTOP 2
*!* #define ABM_GETSTATE 0x00000004
*!* #define ABM_SETSTATE 0x0000000A
Define Class settingsBaseController As Custom
cNumeProgram = ''
cAppName = ''
cAppPath = ''
cIniFile = ''
cVersiuneProgram = ''
cVersiuneDBTxt = ''
cROAClientPath = ''
cROAClientIniFile = ''
cIniText = ''
lLog = .F.
cHostErrors = ''
cCursorHost = [crshost]
nTipCriptare = 0
oOraSettingsController = Null
*!* 0 = fara
*!* 1 = vechi
*!* 2 = nou
Procedure Init
Lparameters tcNumeProgram
Declare Long FindWindow In "user32" String lpClassName, String lpWindowName
Declare Long SetWindowPos In "user32" Long HWnd, Long hWndInsertAfter, Long x, Long Y, Long cx, Long cy, Long wFlags
Declare Long SHAppBarMessage In "shell32.dll" Long dwMessage,String @pData
This.cNumeProgram = tcNumeProgram
This.cAppPath = Addbs(ShortPath(GetAppStartPath()))
This.cAppName = Allt(Uppe(Juststem(Sys(16,0))))
This.cIniFile = This.cAppPath + 'settings.ini'
This.cROAClientPath = Addbs(Left(This.cAppPath,Rat("\",This.cAppPath,2)-1))
This.cROAClientIniFile = This.cROAClientPath + 'settings.ini'
If !File(This.cIniFile)
This.InitSettings()
Endif
This.ReadSettings()
This.citesteVersiuneProgram()
This.citesteVersiuneDBTxt()
Endproc
*********************************************************************
Procedure setDBController
Lparameters toDBController
This.oOraSettingsController = Createobject('orasettingscontroller',toDBController)
Endproc
*********************************************************************
Procedure verificaVersiuni
Local lcMesaj,lcMesajVerificare
lcMesajVerificare = This.oOraSettingsController.verificaVersiuni(This.cNumeProgram,This.cVersiuneProgram,This.cVersiuneDBTxt)
If !Empty(Nvl(lcMesajVerificare,[]))
Do Case
Case This.cNumeProgram$Upper(lcMesajVerificare)
lcMesaj = "Trebuie actualizat " + This.cNumeProgram + " la versiunea " + Getwordnum(lcMesajVerificare, 2, ":") + Chr(13) + Chr(10) + ;
"Versiunea actuala este " + Getwordnum(lcMesajVerificare, 3, ":")
Case "DB"$Upper(lcMesajVerificare)
lcMesaj = "Trebuie actualizata baza de date la versiunea " + Getwordnum(lcMesajVerificare, 2, ":") + Chr(13) + Chr(10) + ;
"Versiunea actuala este " + Getwordnum(lcMesajVerificare, 3, ":")
Endcase
AMESSAGEBOX(lcMesaj,0+48, "Actualizare")
Endif
Release lcMesaj,lcMesajVerificare
Endproc
*********************************************************************
Procedure citesteVersiuneProgram
Local lcFisierExe
lcFisierExe = This.cAppPath + This.cAppName + [.exe]
If Agetfileversion(aVersion, lcFisierExe) > 0
This.cVersiuneProgram = Alltrim(aVersion(4))
Else
This.cVersiuneProgram = []
Endif
If Type('aVersion') <> 'U'
Release aVersion
Endif
Endproc
*********************************************************************
Procedure citesteVersiuneDBTxt
Local lcFisierVersiuneDB
lcFisierVersiuneDB = This.cAppPath + 'versiune_db.txt'
If File(lcFisierVersiuneDB)
This.cVersiuneDBTxt = Alltrim(Filetostr(lcFisierVersiuneDB))
Else
This.cVersiuneDBTxt = []
Endif
Release lcFileVersiuneDB
Endproc
*********************************************************************
Procedure InitSettings
If Empty(This.cIniText)
Return
Endif
Strtofile(This.cIniText, This.cIniFile)
Endproc && InitSettings
*!* *********************************************************************
*!* Function HideTaskBar
*!* Local lnHandle,lcInfoBuffer
*!* lnHandle = FindWindow("Shell_TrayWnd", "")
*!* *!* SetWindowPos(lnHandle, 0, 0, 0, 0, 0, WINDOWHIDE)
*!* DEBUG
*!* SUSPEND
*!* lcInfoBuffer = This.num2dword(0) + ;
*!* This.num2dword(lnHandle) + ;
*!* This.num2dword(0) + ;
*!* This.num2dword(0) + ;
*!* This.num2dword(0) + ;
*!* This.num2dword(0)
*!* SHAppBarMessage(ABM_GETSTATE,@lcInfoBuffer)
*!* lcInfoBuffer = This.num2dword(50000) + ;
*!* This.num2dword(lnHandle) + ;
*!* This.num2dword(0) + ;
*!* This.num2dword(0) + ;
*!* This.num2dword(0) + ;
*!* This.num2dword(BITNOT(TBAR_KEEPONTOP))
*!* SHAppBarMessage(ABM_SETSTATE,@lcInfoBuffer)
*!* Endfunc
*!* *********************************************************************
*!* Function ShowTaskBar
*!* Local lnHandle
*!* lnHandle = FindWindow("Shell_TrayWnd", "")
*!* *!* SetWindowPos(lnHandle, 0, 0, 0, 0, 0, WINDOWSHOW)
*!* Endfunc
*!* *********************************************************************
*!* FUNCTION num2dword
*!* LPARAMETERS tnValue
*!* #DEFINE m0 256
*!* #DEFINE m1 65536
*!* #DEFINE m2 16777216
*!* LOCAL b0, b1, b2, b3
*!* b3 = Int(tnValue/m2)
*!* b2 = Int((tnValue- b3*m2)/m1)
*!* b1 = Int((tnValue- b3*m2 - b2*m1)/m0)
*!* b0 = Mod(tnValue, m0)
*!* RETURN Chr(b0)+Chr(b1)+Chr(b2)+Chr(b3)
*!* endfunc
*!* *********************************************************************
Procedure ReadSettings
This.cHostErrors = This.GetVariable([errors],[host])
If Upper(Alltrim(This.GetVariable([errors],[log]))) = [TRUE]
This.lLog = .T.
Else
This.lLog = .F.
Endif
*!* This.citesteSecurity()
Endproc
*********************************************************************
Function getHostErrors
Return This.cHostErrors
Endfunc
*********************************************************************
Function getlLog
Return This.lLog
Endfunc
*********************************************************************
Function getLogPath
Return Iif(This.lLog,This.cAppPath + [log_]+ This.cNumeProgram + [_] + Dtos(Date()) + [.txt],[])
Endfunc
*********************************************************************
Function getUpdateServer
Return This.GetVariable([update],[server])
Endfunc
*********************************************************************
Function getNumeProgram
Return This.cNumeProgram
Endfunc
*********************************************************************
Function getSchemaSecurity
Lparameters tcNumeServer
Local lcAliasVechi,lcSchema
lcSchema = []
lcAliasVechi = Alias()
Select (This.cCursorHost)
Locate For Upper(Alltrim(Host)) = Upper(Alltrim(tcNumeServer))
If Found()
lcSchema = Upper(Alltrim(schema))
Endif
If Used(lcAliasVechi)
Select (lcAliasVechi)
Endif
Return lcSchema
Endfunc
*********************************************************************
Function getParolaSecurity
Lparameters tcNumeServer
Local lcAliasVechi,lcParola
lcParola = []
lcAliasVechi = Alias()
Select (This.cCursorHost)
Locate For Upper(Alltrim(Host)) = Upper(Alltrim(tcNumeServer))
If Found()
lcParola = Alltrim(pwd)
lcParola = Iif(Alltrim(isEncrypted) = [1],EncryptDecrypt(lcParola,ENCRYPTKEY,"decrypt",Iif(This.nTipCriptare=2,"blowfish","old")),lcParola)
Endif
If Used(lcAliasVechi)
Select (lcAliasVechi)
Endif
Return lcParola
Endfunc
*********************************************************************
Function citesteSecurity
Lparameters tcFileExt
Local lcSecurityFile,lcSecurityPath,lnValid,lcFileExt,lcSecurityText,llSucces
llSucces = .T.
lcFileExt = Iif(Empty(tcFileExt),[XML],tcFileExt)
lcSecurityPath = This.cROAClientPath + [SECURITY\]
lcSecurityFile = lcSecurityPath + [roa_security.] + lcFileExt
lnValid = 0
If !File(lcSecurityFile)
AMESSAGEBOX('Nu exista fisierul ' + lcSecurityFile + ' !',0+16,'Atentie')
llSucces = .F.
Else
If Used(This.cCursorHost)
Use In (This.cCursorHost)
Endif
Create Cursor (This.cCursorHost)(Host c(100), schema c(100), pwd v(100), isEncrypted c(1))
lcSecurityText = Filetostr(lcSecurityFile)
If lcFileExt = [XML]
Try
Xmltocursor(lcSecurityFile, "cXML", 512)
Select cXml
Go Top
Scatter Name lofirstrecord
If lofirstrecord.Host="ENCRYPTION"
This.nTipCriptare = 2
Delete
Else
This.nTipCriptare = 1
Endif
Insert Into (This.cCursorHost) (Host, schema, pwd, isEncrypted) ;
SELECT Host, schema, pwd, "1" As isEncrypted ;
from cXml
lnValid = Reccount('cXML')
Use In cXml
Catch To loex
*!* Local loEx As Exception
AMESSAGEBOX('Mesaj: ' + loex.Message + CRLF + ;
'Eroare nr: ' + Alltrim(Transform(loex.ErrorNo)) + CRLF + ;
'Cod: ' + loex.LineContents + CRLF + 'Procedura: ' + loex.Procedure + CRLF + ;
'Linia nr: ' + Alltrim(Transform(loex.Lineno)),0+16,'Eroare')
llSucces = .F.
Finally
Use In (Select('cXML'))
Endtry
Else
Local laHost
Dimension laHost[1]
lnLen = Alines(laHost, lcSecurityText)
If lnLen > 0
For i = 1 To lnLen
lcLinie = laHost[i]
lcHost = Getwordnum(lcLinie, 1, ';')
lcSchema = Getwordnum(lcLinie, 2, ';')
lcPassword = Getwordnum(lcLinie, 3, ';')
lcMode = "0" && necriptat - security.txt
If Empty(lcHost) Or Empty(lcSchema) Or Empty(lcPassword)
Loop
Endif
lnValid = lnValid + 1
Insert Into (This.cCursorHost) (Host, schema, pwd, isEncrypted) Values (lcHost, lcSchema, lcPassword, Iif(Empty(lcMode), '0', lcMode))
Endfor
This.nTipCriptare = 0
Endif
Endif
Endif
Return llSucces
Endfunc
*********************************************************************
Procedure citesteSetariSchema
Lparameters tnIdUtil
This.oOraSettingsController.initializeaza_firma(This.nId,tnIdUtil)
Endproc
******************************************************************
Function getoFirma
Return This.oOraSettingsController.getoFirma()
Endfunc
******************************************************************
Function getAn
Return This.oOraSettingsController.getoCalendar().an
Endfunc
******************************************************************
Function getLuna
Return This.oOraSettingsController.getoCalendar().luna
Endfunc
*********************************************************************
Function getIdSucursala
Return This.oOraSettingsController.getIdSucursala()
Endfunc
*********************************************************************
Function getIdMama
Return This.oOraSettingsController.getIdMama()
Endfunc
*********************************************************************
Function getEMama
Return This.oOraSettingsController.getEMama()
Endfunc
*********************************************************************
Procedure SetVariable
Lparameters tcSection, tcVarname, tuValue
Local lcSection, lcVarname, lcValue
lcSection = Lower(Alltrim(tcSection))
lcVarname = Lower(Alltrim(tcVarname))
lcValue = Transform(tuValue)
SetIni(This.cIniFile, lcSection, lcVarname, lcValue)
Endproc && SetVariable
*********************************************************************
Procedure GetVariable
Lparameters tcSection, tcVarname
Local lcSection, lcVarname, lcValue
lcSection = Lower(Alltrim(tcSection))
lcVarname = Lower(Alltrim(tcVarname))
lcValue = GetIni(This.cIniFile, lcSection, lcVarname)
lcValue = Nvl(lcValue, '')
If Empty(lcValue) And File(This.cROAClientIniFile)
lcValue = GetIni(This.cROAClientIniFile, lcSection, lcVarname)
lcValue = Nvl(lcValue, '')
Endif
Return lcValue
Endproc && GetVariable
*********************************************************************
Function getIniFilePath
Return This.cIniFile
Endfunc
*********************************************************************
*!* FUNCTION GetValue
*!* LPARAMETERS tcSetting
*!*
*!* LOCAL lcSetting, luValue
*!* lcSetting = "THIS." + tcSetting
*!* luValue = ''
*!* IF TYPE(lcSetting) # 'U'
*!* luValue = &lcSetting
*!* ENDIF
*!* RETURN luValue
*!*
*!* ENDFUNC
*!* *********************************************************************
*!* PROCEDURE SetValue
*!* LPARAMETERS tcSetting, tuValue
*!*
*!* LOCAL lcSetting, luValue
*!* lcSetting = "THIS." + tcSetting
*!* luValue = tuValue
*!* IF TYPE(lcSetting) # 'U'
*!* &lcSetting = luValue
*!* ENDIF
*!*
*!* ENDPROC
*!* *********************************************************************
Enddefine && settingsBaseController