Files
roastart/Programe/oproceduri_start.prg
Marius Mutu b241a639b1 Import initial: surse ROASTART + text FoxBin2Prg in arbore
Binarele VFP raman pe SVN si sunt git-ignored; COMUN e gestionat separat.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A5okKjUKMM5Xk1egq2w81P
2026-08-03 09:34:12 +03:00

507 lines
18 KiB
Plaintext

*************************************************************************************************************
*!* Procedure actualizeaza_etichete
*!* Lparameters toObiectFundal
*!* With toObiectFundal
*!* IF CPCURRENT(1) <> CPCURRENT()
*!* MESSAGEBOX(CPCONVERT(CPCURRENT(1),CPCURRENT(),.cw_meniu2.lb_meniu1.Caption))
*!* MESSAGEBOX(ASC(SUBSTR(.cw_meniu2.lb_meniu1.Caption,4,1)))
*!* endif
*!* .cw_meniu1.lb_meniu1.Caption = tradu(.cw_meniu1.lb_meniu1.Caption)
*!* .cw_meniu2.lb_meniu1.Caption = tradu(.cw_meniu2.lb_meniu1.Caption)
*!* .cw_meniu3.lb_meniu1.Caption = tradu(.cw_meniu3.lb_meniu1.Caption)
*!* .cw_meniu4.lb_meniu1.Caption = tradu(.cw_meniu4.lb_meniu1.Caption)
*!* .cw_meniu5.lb_meniu1.Caption = tradu(.cw_meniu5.lb_meniu1.Caption)
*!* .config.Caption = tradu(.config.Caption)
*!* .actualizari.Caption = tradu(.actualizari.Caption)
*!* .lb_logoff.Caption = tradu(.lb_logoff.Caption)
*!* Endwith
*!* Endproc
*************************************************************************************************************
Procedure adauga_grup_in_favorite
Lparameters tnIdGrupProg
Local lnIdGrupProg,j
lnIdGrupProg=tnIdGrupProg
lcNumeParinte=[scrollcont]+Alltrim(Str(lnIdGrupProg))
lcNumeContainer=[Application.Forms.Item(1).pgf_optiuni1.page1.]+lcNumeParinte
With &lcNumeContainer.
For j=1 To .Objects.Count
If Upper(.Objects(j).Class)=[CW_PROGRAME]
lcNume=.Objects(j).Name
lnIdProg=.Objects(j).nid_prog
adauga_in_favorite(lcNumeParinte,lcNume,lnIdProg,.F.)
Endif
Endfor
Endwith
Endproc && adauga_grup_in_favorite
*************************************************************************************************************
Procedure sterge_grup_din_favorite
Lparameters tnIdGrupProg
Local lnIdGrupProg,j
lnIdGrupProg=tnIdGrupProg
lcNumeParinte=[scrollcont]+Alltrim(Str(lnIdGrupProg))
lcNumeContainer=[Application.Forms.Item(1).pgf_optiuni1.page1.]+lcNumeParinte
With &lcNumeContainer.
For j=1 To .Objects.Count
If Upper(.Objects(j).Class)=[CW_PROGRAME]
lcNume=.Objects(j).Name
lnIdProg=.Objects(j).nid_prog
sterge_din_favorite(lnIdGrupProg,lcNume,lnIdProg)
Endif
Endfor
Endwith
Endproc && sterge_grup_din_favorite
*************************************************************************************************************
Procedure adauga_in_favorite
Lparameters tcNumeParinte,tcNume,tnIdProg,tlArataMesaj
Local llArataMesaj
Store .T. To llArataMesaj
llArataMesaj=tlArataMesaj
lcNume=Alltrim(tcNume)
lcNumeObiect=[Application.Forms.Item(1).pgf_optiuni1.page1.]+Alltrim(tcNumeParinte)+[.]+lcNume
lcNumeContainerFav=[Application.Forms.Item(1).pgf_optiuni1.page1.scrollcont0]
Do Case
Case Type(lcNumeContainerFav+"."+lcNume)='U'
With &lcNumeContainerFav.
lcSql=[begin pack_drepturi.adauga_program_favorit(]+Alltrim(Str(tnIdProg))+[,]+;
ALLTRIM(Str(.nnrobiecte+1))+[,]+Alltrim(Str(gnIdUtil))+[); end;]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Else
lcImagine=&lcNumeObiect..lb_imagine.Picture
&lcNumeObiect..lb_imagine.Picture=Substr(lcImagine,1,Len(lcImagine)-4)+"_fav.png"
.do_adaugaobiect(lcNume,"cw_programe")
.&lcNume..lb_program.Caption= &lcNumeObiect..lb_program.Caption
.&lcNume..lb_imagine.Picture = lcImagine
.&lcNume..cprogram= &lcNumeObiect..cprogram
.&lcNume..Visible=.T.
.&lcNume..nid_grup_prog= 0
.&lcNume..nid_prog = &lcNumeObiect..nid_prog
.&lcNume..nid_grup_prog_tata = &lcNumeObiect..nid_grup_prog
Endif
Endwith
Case llArataMesaj
aMessagebox("Acest program este deja in grupul de programe favorite!",0+48,"Atentie")
Endcase
Endproc && adauga_in_favorite
*************************************************************************************************************
Procedure sterge_din_favorite
Lparameters tnIdGrupParinte,tcNume,tnIdProg
lcNume=Alltrim(tcNume)
lcNumeContainerFav=[Application.Forms.Item(1).pgf_optiuni1.page1.scrollcont0]
If Type(lcNumeContainerFav+"."+lcNume)<>'U'
lcSql=[begin pack_drepturi.sterge_program_favorit(]+Alltrim(Str(tnIdProg))+[,]+;
ALLTRIM(Str(gnIdUtil))+[); end;]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
aMessagebox(goExecutor.cEroare,0+16,'Eroare')
Else
lcNumeObiect=[Application.Forms.Item(1).pgf_optiuni1.page1.scrollcont]+Alltrim(Str(tnIdGrupParinte))+[.]+lcNume
lcImagine=lcNumeContainerFav+[.]+lcNume+[.lb_imagine.Picture]
&lcNumeObiect..lb_imagine.Picture=&lcImagine.
With &lcNumeContainerFav.
.do_stergeobiect(lcNume)
Endwith
Endif
Endif
Endproc && sterge_din_favorite
*************************************************************************************************************
Procedure viz_grup_program
Private pogrupprog,pcschema1,pcselect1
Store '' To pogrupprog
If Used('v_grupprog')
Use In v_grupprog
Endif
llAfisare=.F.
pcschema1 = ['id_grup_prog n(5),explicatie c(150),ordine n(5)']
pcselect1=['select id_grup_prog,explicatie,ordine from vdef_grup_programe where 1=2']
pcorder1=[explicatie]
pcfiltru1 = [2=2]
gencursor('pogrupprog','v_grupprog',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
pogrupprog.ca_baza1.afisare()
*!* Select v_grupprog
*!* Scatter Name poRec
ofrmgrprog=Createobject("frm_grup_prg")
ofrmgrprog.Show(1)
Release ofrmgrprog
Release pogrupprog
Endproc
*************************************************************************************************************
Procedure viz_firme
Private pofirme,pcschema1,pcselect1
Store '' To pofirme
If Used('v_firme')
Use In v_firme
Endif
llAfisare=.F.
pcschema1 = ['']
pcselect1=['select * from SYN_V_nom_firme where 1=2']
pcorder1=[firma]
pcfiltru1 = [2=2]
gencursor('pofirme','v_firme',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
pofirme.ca_baza1.afisare()
Select v_firme
Scatter Name poRec
ofrmfirme=Createobject("frm_firme")
ofrmfirme.Show(1)
Release ofrmfirme
Release pofirme
Endproc
*************************************************************************************************************
*!* modificare v 2.0.29
*!* Procedure mod_parola
*!* gnButon=1
*!* ofrmparola=Createobject("frm_parola_nou")
*!* ofrmparola.Show(1)
*!* Release ofrmparola
*!* If gnButon=1
*!* aMessagebox("Parola a fost schimbata!",0+64,"Modificare parola")
*!* Release All
*!* goApp.SetCaption("ROA Romfast Applications")
*!* Do Form frm_fundal
*!* Endif
*!* Endproc
*!* modificare v 2.0.29 ^
*************************************************************************************************************
Procedure mod_optiuni
If Used('crsoptiuniprog')
Use In crsoptiuniprog
Endif
Do viz_optiuni_prg In update_start.prg
Select * From v_optiuni_programe Into Cursor crsoptiuniprog Readwrite
If Used('v_optiuni_programe')
Use In v_optiuni_programe
Endif
gnButon=1
ofrmoptiuni=Createobject("frm_optiuni_util")
ofrmoptiuni.Show(1)
Release ofrmoptiuni
If gnButon=1
aMessagebox("Modificarile vor fi vizibile la urmatoarea logare!",0+64,"Modificare optiuni")
Endif
Endproc
*************************************************************************************************************
Procedure viz_utilgrupfirma
Private poprograme,pcschema1,pcselect1,poutilgrup,poutilizatori
Store '' To poprograme,poutilgrup,poutilizatori
llAfisare=.F.
pcschema1 = ['']
pcselect1=['select id_util,utilizator from vutilizatori where 1=2']
pcorder1=[utilizator]
pcfiltru1 = [inactiv=0]
gencursor('poutilizatori','v_utilizatori',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
poutilizatori.ca_baza1.afisare()
llAfisare=.F.
pcschema1 = ['']
pcselect1=['select id_dug,id_grup,grup,id_firma,firma from vdef_util_grup where 1=2']
pcorder1=[grup]
pcfiltru1 = [1=2]
gencursor('poutilgrup','v_utilgrf',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
poutilgrup.ca_baza1.afisare()
Select v_utilgrf
Select Distinct id_grup,grup From v_utilgrf Into Cursor v_utgrupuri
Select id_firma,firma From v_utilgrf Into Cursor v_utfirme
pcschema1 = ['']
pcselect1=['select id_program,denumire as program from vdef_grup_drept where 1=2']
pcorder1=[program]
pcfiltru1 = [1=2]
gencursor('poprograme','v_programe',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
poprograme.ca_baza1.afisare()
ofrmutilgf=Createobject("frm_utilgrupf")
ofrmutilgf.Show(1)
If Used('v_utilizatori')
Use In v_utilizatori
Endif
If Used('v_utilgrf')
Use In v_utilgrf
Endif
If Used('v_utgrupuri')
Use In v_utgrupuri
Endif
If Used('v_utfirme')
Use In v_utfirme
Endif
If Used('v_programe')
Use In v_programe
Endif
Release ofrmutilgf
Release poprograme,poutilgrup,poutilizatori
Endproc
*************************************************************************************************************
Procedure viz_utilizatori
Private pogrupuri,pcschema1,pcselect1
Store '' To poutilizatori
llAfisare=.F.
pcschema1 = ['']
pcselect1=['select * from vutilizatori where 1=2']
pcorder1=[utilizator]
pcfiltru1 = [2=2]
gencursor('poutilizatori','v_utilizatori',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
poutilizatori.ca_baza1.afisare()
ofrmutil=Createobject("frm_utilizatori")
ofrmutil.Show(1)
Release ofrmutil
Release poutilizatori
Endproc
*************************************************************************************************************
Procedure viz_organigrama_firme
update_organigrama_firme_grup()
update_organigrama_firme_util()
ofrmorganigrama=Createobject("frm_organigrama_firme")
ofrmorganigrama.Show(1)
Release ofrmorganigrama
Endproc
*************************************************************************************************************
Procedure viz_organigrama_programe
update_organigrama_programe_grup()
update_organigrama_programe_firme()
update_organigrama_programe_util()
ofrmorganigrama=Createobject("frm_organigrama_prog")
ofrmorganigrama.Show(1)
Release ofrmorganigrama
Endproc
*************************************************************************************************************
Procedure viz_organigrama_utilizatori
update_organigrama_util_grup()
update_organigrama_util_firme()
ofrmorganigrama=Createobject("frm_organigrama_util")
ofrmorganigrama.Show(1)
Release ofrmorganigrama
Endproc
*************************************************************************************************************
Procedure viz_organigrama_grupuri
update_organigrama_grupuri()
ofrmorganigrama=Createobject("frm_organigrama_grup")
ofrmorganigrama.Show(1)
Release ofrmorganigrama
Endproc
*************************************************************************************************************
Procedure viz_grupprog
Private poprograme,pcschema1,pcselect1,pogrupuri
Store '' To poprograme,pogrupuri
llAfisare=.F.
pcschema1 = ['']
pcselect1=['select * from vdef_grup where 1=2']
pcorder1=[grup]
pcfiltru1 = [2=2]
gencursor('pogrupuri','v_grupuri',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
pogrupuri.ca_baza1.afisare()
pcschema1 = ['']
pcselect1=['select * from vdef_grup_drept where 1=2']
pcorder1=[denumire]
pcfiltru1 = [1=2]
gencursor('poprograme','v_grupprog',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
pogrupuri.ca_baza1.afisare()
ofrmgrprog=Createobject("frm_grupprog")
ofrmgrprog.Show(1)
Release ofrmgrprog
Release poprograme,pogrupuri
Endproc
*************************************************************************************************************
Procedure viz_programe
Private poprograme,pcschema1,pcselect1
Store '' To poprograme
llAfisare=.F.
pcschema1 = ['']
pcselect1=['select * from vdef_programe where 1=2']
pcorder1=[ordine_grup,nume]
pcfiltru1 = [2=2]
gencursor('poprograme','v_programe',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
poprograme.ca_baza1.afisare()
ofrmprog=Createobject("frm_programe")
ofrmprog.Show(1)
Release ofrmprog
Release poprograme
Endproc
*************************************************************************************************************
Procedure viz_grupuri
Private pogrupuri,pcschema1,pcselect1
Store '' To pogrupuri
llAfisare=.F.
pcschema1 = ['id_grup N(10),grup C(100),id_tata N(10),grup_sup C(100)']
pcselect1=['select a.id_grup,a.grup,a.id_tata,TRIM(SUBSTR(a.tata,1,INSTR(a.tata,CHR(92),1,a.nivel)-1)) '+]+;
['as grup_sup from vdef_grup a where 1=2']
pcorder1=[a.grup]
pcfiltru1 = [2=2]
gencursor('pogrupuri','v_grupuri',pcselect1,pcfiltru1,pcschema1,pcorder1,llAfisare)
pogrupuri.ca_baza1.afisare()
ofrmgrup=Createobject("frm_grupuri")
ofrmgrup.Show(1)
Release ofrmgrup
Release pogrupuri
Endproc
*************************************************************************************************************
*************************************************************************************************************
Procedure mod_validari
PRIVATE poutilizatori,pofirme
LOCAL lcschema,lcselect
Store '' To poutilizatori,pofirme,lcgroup
llModParam=.t.
llAfisare=.F.
lcschema = []
lcselect=[select * from vutilizatori]
lcorder=[utilizator]
lcfiltru=[inactiv=0]
gencursor('poutilizatori', 'v_utilizatori', lcselect, lcfiltru, lcschema, lcorder, llAfisare, lcgroup, llModParam)
poutilizatori.ca_baza1.afisare()
llAfisare=.F.
lcschema = []
lcselect=[select distinct a.ID_util,a.id_firma,a.firma,NVL(b.autovalidare,0) as autovalidare,NVL(b.dreptvalidare,0) as dreptvalidare,0 as modificat from vdef_util_grup a left join def_utilizatori_validare b on b.id_util=a.id_util and b.id_firma=a.id_firma]
lcorder=[firma]
lcfiltru=[]
gencursor('pofirme','v_firme',lcselect,lcfiltru,lcschema,lcorder,llAfisare, lcgroup, llModParam)
pofirme.ca_baza1.afisare()
SELECT v_firme
ofrmutil=Createobject("frm_validari")
ofrmutil.Show(1)
PRIVATE porec
porec=null
IF gnbuton=1
Select v_firme
Set Filter To
Scan For(modificat=1)
SCATTER NAME porec
* Messagebox(ALLTRIM(STR(id_util))+","+ALLTRIM(Str(id_firma)) + ","+ALLTRIM(str(autovalidare))+","+ALLTRIM(STR(dreptvalidare)))
lnSucces = 1
&& apelez functia de merge de pe server
IF lnSucces > 0
lcSql = [begin pack_drepturi.mergedatevalidare(?porec.id_util,?porec.id_firma,?porec.autovalidare,?porec.dreptvalidare); end;]
lnSucces = goExecutor.oExecute(lcSql)
IF lnSucces < 0
AMESSAGEBOX(goExecutor.cEroare,0+16,"Eroare")
ENDIF
ENDIF
Endscan
ENDIF
Release ofrmutil
Release poutilizatori
Endproc
*************************************************************************************************************
Procedure conectare
Lparameters tcHost, tcSchema, tcPassword
Private pcexec,pnsucces
If Pcount() <> 3
lcHost = Alltrim(gcHost)
lcSchema = Alltrim(gcUserName)
lcPassword = Alltrim(gcPassword)
Else
lcHost = Alltrim(tcHost)
lcSchema = Alltrim(tcSchema)
lcPassword = Alltrim(tcPassword)
Endif
*!* 22.06.2012
gnHandle = goConn.Connect(lcHost, lcSchema, lcPassword)
*!* If gnhandle < 0
*!* gnhandle = SQLConnect(Alltrim(lcHost),Alltrim(lcSchema),Alltrim(lcPassword))
*!* Endif
*!* 22.06.2012 ^
If gnhandle <= 0
*!* _Screen.Caption="Deconectat: "+Sys(0)
aMessagebox("Conectarea nu a reusit!",0+48,"Atentie")
Return gnhandle
Else
*!* _Screen.Caption="ROA (" + lcHost + ") " + +Sys(0)
Endif
goExecutor.nhandle = gnhandle
Return gnhandle
Endproc
*************************************************************************************************************
Procedure Deconectare( tnHandle )
*!* 22.06.2012
goConn.Disconnect(tnHandle)
*!* SQLDisconnect(0)
*!* gnhandle = -1
*!* goExecutor.nhandle = -1
*!* 22.06.2012 ^
Endproc
*************************************************************************************************************
*!* Procedure iesire
*!* goConn.Disconnect()
*!* *!* SQLDisconnect(0)
*!* Release All
*!* Quit
*!* Endproc
*************************************************************************************************************
Procedure arata_meniu_tray
Lparameters tnXCoord,tnYCoord
Local lcCursor, lnIdActual, lnIdPrec, loPop
lcCursor = [crsprogramemeniu]
lnIdActual = 0
lnIdPrec = 0
Select 0 As id_grup_prog, 'FAVORITE' As grup, nume, explicatie, 0 As ordine_grup,id_prog,ordine_favorit As ordine From v_programe_instalate ;
WHERE favorit = 1 ;
UNION All ;
SELECT id_grup_prog, grup, nume, explicatie, ordine_grup, id_prog, ordine From v_programe_instalate ;
Order By 5,7 Into Cursor (lcCursor)
*!* Select nume, explicatie,ordine_favorit,id_prog From v_programe_instalate ;
*!* WHERE favorit = 1 ;
*!* Order By ordine_favorit Into Cursor (lcCursor)
If Reccount(lcCursor) > 0
loPop = Newobject('PopMenu', 'menuTool.vcx')
With loPop
.nMenuBackColor = Rgb(255,251,247)
.nItemHeight = 23
.nBarStyle = 2
.nBarWidth = 22
.nBarFillColor1 = Rgb(2,2,88) && Rgb(255,251,247)
.nBarFillColor2 = Rgb(255,251,247) && Rgb(214,215,206)
.nTextLeft = 23
.nTextMargin = 8
.nSelectedStyle = 1
.lSelectedEnabled = .T.
.nSelectedForeColor = Rgb(0, 0, 0)
.nReturn = 2
.lOwnerDraw = .T.
Select (lcCursor)
lnIdPrec = -1
Scan
&& ParentKey, Key, Caption, Command, Image
*!* .Add('', '', Alltrim(explicatie), 'goApp.aforms[1].pgf_optiuni1.page1.scrollcont0.cw_'+Alltrim(Str(id_prog))+'.click()', Alltrim(nume)+'.bmp')
lnIdActual = id_grup_prog
If lnIdActual <> lnIdPrec
.Add('', Alltrim(Str(lnIdActual)), caps_first(ALLTRIM(grup)), '', Iif(lnIdActual = 0,'favorites.bmp',''))
lnIdPrec = lnIdActual
Endif
.Add(Alltrim(Str(lnIdActual)), '', caps_first(ALLTRIM(explicatie)), ;
'goApp.aforms[1].pgf_optiuni1.page1.scrollcont'+ALLTRIM(STR(lnIdActual))+'.cw_'+Alltrim(Str(id_prog))+'.click()',;
IIF(FILE(Alltrim(nume)+'.bmp'),Alltrim(nume)+'.bmp','na.bmp'))
Endscan
.Add('','', '\-', '','' )
.Add('','', Upper(Alltrim(gcUserNameApp))+'', 'schimba_utilizator()','iesire.bmp' )
*!* .Add('','', 'Iesire', 'goApp.aforms[1].lb_logoff.click()','logoff.bmp' )
.Add('','', 'Iesire', 'goApp.onshutdown()','logoff.bmp' )
.Show(tnXCoord,tnYCoord,.T.)
Endwith
Endif
Use In (lcCursor)
Release lcCursor, lnIdActual, lnIdPrec, loPop
Endproc
*************************************************************************************************************
PROCEDURE schimba_utilizator
goApp.aforms[1].oobjsystray.icondblclickevent()
goApp.aforms[1].lb_numeutilizator.Click()
Endproc
*************************************************************************************************************