Files
comun/clase/ferestre_oracle.vc2

1065 lines
28 KiB
Plaintext
Raw Blame History

*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="ferestre_oracle.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS frm_login AS _frmbase OF "_frm_base.vcx"
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="_shape4" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_label1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_textbox1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_label2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="_textbox2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cb_server" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cmd_login1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Odbcreg1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cmd_logoff1" UniqueID="" Timestamp="" />
#INCLUDE "..\include\security.h"
*<DefinedPropArrayMethod>
*m: populate_host
*</DefinedPropArrayMethod>
*<PropValue>
BorderStyle = 1
Caption = "LOGIN"
DoCreate = .T.
Height = 181
Name = "frm_login"
Width = 303
WindowState = 0
_shape1.Name = "_shape1"
_shape1.ZOrderSet = 2
_shape2.Height = 29
_shape2.Left = 271
_shape2.Name = "_shape2"
_shape2.Top = 0
_shape2.Width = 32
_shape2.ZOrderSet = 3
Lb_titlu_alb_b121.Caption = "Not connected"
Lb_titlu_alb_b121.FontName = "Segoe UI"
Lb_titlu_alb_b121.Left = 6
Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121"
Lb_titlu_alb_b121.TabIndex = 7
Lb_titlu_alb_b121.Top = 3
Lb_titlu_alb_b121.Visible = .T.
Lb_titlu_alb_b121.ZOrderSet = 4
But_termin1.Left = 274
But_termin1.Name = "But_termin1"
But_termin1.TabIndex = 6
But_termin1.Top = 1
But_termin1.ZOrderSet = 5
Gridsort1.Left = 0
Gridsort1.Name = "Gridsort1"
Gridsort1.Top = 72
*</PropValue>
ADD OBJECT '_label1' AS _label WITH ;
BackStyle = 0, ;
Caption = "Operator", ;
FontBold = .T., ;
Height = 18, ;
Left = 18, ;
Name = "_label1", ;
TabIndex = 8, ;
Top = 79, ;
Width = 58, ;
ZOrderSet = 14
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
ADD OBJECT '_label2' AS _label WITH ;
BackStyle = 0, ;
Caption = "Parol<6F>", ;
FontBold = .T., ;
Height = 18, ;
Left = 18, ;
Name = "_label2", ;
TabIndex = 9, ;
Top = 107, ;
Width = 44, ;
ZOrderSet = 16
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="label" />
ADD OBJECT '_shape4' AS _shape WITH ;
BackStyle = 0, ;
BorderStyle = 1, ;
Height = 61, ;
Left = 12, ;
Name = "_shape4", ;
Top = 70, ;
Width = 266, ;
ZOrderSet = 1
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="shape" />
ADD OBJECT '_textbox1' AS _textbox WITH ;
AutoComplete = 4, ;
ControlSource = "gcUserNameApp", ;
FontCharSet = 238, ;
Format = "!K", ;
Height = 23, ;
Left = 90, ;
Name = "_textbox1", ;
TabIndex = 2, ;
Top = 76, ;
Width = 178, ;
ZOrderSet = 15
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
ADD OBJECT '_textbox2' AS _textbox WITH ;
ControlSource = "gcPasswordApp", ;
FontCharSet = 238, ;
Format = "!K", ;
Height = 23, ;
Left = 90, ;
Name = "_textbox2", ;
PasswordChar = "*", ;
TabIndex = 3, ;
Top = 104, ;
Width = 178, ;
ZOrderSet = 17
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
ADD OBJECT 'Cb_server' AS cb_tx_simplu WITH ;
BorderWidth = 0, ;
Left = 2, ;
Name = "Cb_server", ;
TabIndex = 1, ;
Top = 36, ;
_cbbase1.Height = 23, ;
_cbbase1.Left = 90, ;
_cbbase1.Name = "_cbbase1", ;
_cbbase1.Top = 3, ;
_cbbase1.Width = 189, ;
_lbbase1.Caption = "Server", ;
_lbbase1.FontBold = .T., ;
_lbbase1.Left = 17, ;
_lbbase1.Name = "_lbbase1", ;
_lbbase1.Top = 6
*< END OBJECT: ClassLib="lb_tx.vcx" BaseClass="container" />
ADD OBJECT 'Cmd_login1' AS cmd_login WITH ;
Caption = "In\<tr<74>", ;
Height = 27, ;
Left = 55, ;
Name = "Cmd_login1", ;
TabIndex = 4, ;
Top = 141, ;
Width = 85, ;
ZOrderSet = 12
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'Cmd_logoff1' AS cmd_logoff WITH ;
Caption = "Re\<nun<75><6E>", ;
Height = 27, ;
Left = 149, ;
Name = "Cmd_logoff1", ;
TabIndex = 5, ;
Top = 141, ;
Width = 85, ;
ZOrderSet = 13
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'Odbcreg1' AS odbcreg WITH ;
Left = 240, ;
Name = "Odbcreg1", ;
Top = 144
*< END OBJECT: ClassLib="registry.vcx" BaseClass="custom" />
PROCEDURE actualizeaza_drepturi
*!*
ENDPROC
PROCEDURE Destroy
IF USED('crsHost')
USE IN crsHost
ENDIF
ENDPROC
PROCEDURE do_login
*LPARAMETERS tcHost,tcUserName,tcPassword,tcUserNameApp,tcPasswordApp,tnIdUtil,tnIdProgram
Local llParametri,lcHost,lcUserName,lcPasword,lcUserNameApp,lcPaswordApp,lnIdutil,lnIdProgram, lcKey
Local lcSchema, lcMode
lcMode = ""
*!* lcEncKey = "233!do*32Di3-o23\409"
lcEncKey = ENCRYPTKEY
If glParametri
*!* daca parola transmisa de ROASTART ca parametru incepe cu *!* - este criptata - trebuie decryptata
If Left(gcPassword, 3) = "*!*"
gcPassword = Substr(gcPassword,4)
If gnewcryptxml=.T.
gcPassword=Strconv(gcPassword,14)
gcPassword = EncryptDecrypt(gcPassword, lcEncKey, "decrypt","blowfish")
Else
gcPassword = EncryptDecrypt(gcPassword, lcEncKey, "decrypt","old")
Endif
Endif
lcHost = gcHost
lcUserName = gcUserName
lcPassword = gcPassword
lcUserNameApp = gcUserNameApp
lcPasswordApp = gcPasswordApp
lnIdutil = gnIdUtil
lnIdProgram = gnIdProgram
Else
******====================================================
lcHost = Upper(Alltrim(This.cb_server._cbbase1.Value))
lcSchema = ""
lcPassword = ""
lcMode = ""
If !Empty(lcHost)
If Used('crsHost')
Select schema, pwd, IsEncrypted From crsHost Where Upper(Alltrim(Host)) = lcHost Into Cursor crsServer
Select crsServer
Go Top
lcSchema = schema
lcPassword = pwd
lcMode = IsEncrypted
Endif
Endif
gcHost = Alltrim(lcHost)
gcUserName = Alltrim(lcSchema)
gcPassword = Alltrim(lcPassword)
*!*
lcMode = Iif(Empty(lcMode), "0", lcMode)
If Alltrim(lcMode) <> "0"
&& parola este criptata
If gnewcryptxml=.T.
gcPassword = EncryptDecrypt(gcPassword, lcEncKey, "decrypt","blowfish")
Else
gcPassword = EncryptDecrypt(gcPassword, lcEncKey, "decrypt","old")
Endif
Endif
If Used('crsServer')
Use In crsServer
Endif
llParametri = .F.
lcHost = gcHost
lcUserName = gcUserName
lcPassword = gcPassword
lcUserNameApp = Strtran(Upper(Alltrim(gcUserNameApp)),['],[''])
lcPasswordApp = Upper(Alltrim(gcPasswordApp))
lnIdutil = gnIdUtil
lnIdProgram = gnIdProgram
Endif
* se logheaza pe schema <contafin_ORACLE> cu <123>
* apeleaza <update_utilizatori>
* verifica daca utilizatorul este in <v_utilizatori> si initializeaza variabila globala <goUtilizator>
*** vad daca utilizatorul trebuie sa se logheze cu un alt DSN (jcsserver) cu alt username (contabilitate) fata de standard (jcsserver,contabilitate)
Local lcFileUtilizatori,lcUtilizatori,lnLen,laUtilizatori
lcFileUtilizatori = gcUtilizatoriPath + "utilizatori.txt"
If File(lcFileUtilizatori)
lcUtilizatori = Filetostr(lcFileUtilizatori)
Declare laUtilizatori[1]
lnLen = Alines(laUtilizatori,lcUtilizatori)
If lnLen > 0
For i = 1 To lnLen
lnpos1 = At(';',laUtilizatori[i])
lnpos2 = At(';',laUtilizatori[i],2)
lnpos3 = At(';',laUtilizatori[i],3)
If lnpos1 * lnpos2 * lnpos3 = 0
Exit
Endif
lcUserApp = Upper(Alltrim(Substr(laUtilizatori[i],1,lnpos1-1)))
lcHostBD = Upper(Alltrim(Substr(laUtilizatori[i],lnpos1 + 1,lnpos2 - lnpos1 - 1)))
lcUserBD = Upper(Alltrim(Substr(laUtilizatori[i],lnpos2 + 1,lnpos3 - lnpos2 - 1)))
If lcUserApp == Upper(Alltrim(gcUserNameApp))
gcHost = lcHostBD
gcUserName = lcUserBD
Exit
Endif
Endfor
Endif
Endif
Private pcexec,pnsucces
lcLog = 'Incercare de conectare: ' + lcUserNameApp
goLog.Log(lcLog,Program())
If This.nhandle>0
lcLog = "Sunteti deja conectat " + lcUserNameApp
goLog.Log(lcLog,Program())
aMessagebox("Sunteti deja conectat!",0+48,"Atentie")
Return
Endif
This.MousePointer= 11
This.nhandle = goConn.Connect(lcHost, lcUserName, lcPassword)
If This.nhandle <= 0
Thisform.cmd_login1.SetFocus()
Return
Endif
gcIdUtil = 0
llSucces = .F.
If glParametri
This.MousePointer= 11
gcUserNameApp=verifica_id_util(gnIdUtil)
This.MousePointer=0
If !Empty(gcUserNameApp)
llSucces=.T.
Endif
Else
This.MousePointer= 11
lnIdutil=verifica_utilizator(lcUserNameApp,lcPasswordApp)
This.MousePointer= 0
If lnIdutil>-1
gnIdUtil = lnIdutil
gcUserNameApp = Upper(Alltrim(lcUserNameApp))
gcIdUtil = gnIdUtil
llSucces = .T.
Endif
Endif
If glParametri
llDrept = .T.
Else
gnIdProgram = GET_PROGRAMID(gcNumeProgram)
llDrept = acces_program_util(gnIdProgram,gnIdUtil)
Endif
gnId_prg_owner = gnIdProgram
If !llSucces Or !llDrept
This.nhandle = -1
gnHandle = This.nhandle
SQLDisconnect(0)
lcLog = 'Autentificarea nu a reusit: ' + lcUserNameApp + Iif(!llDrept,' Nu are drepturi pe acest program','')
goLog.Log(lcLog,Program())
Messagebox("Autentificarea nu a reusit!" + Chr(13) + Chr(10)+ "Utilizator sau parola incorecte." + Iif(!llDrept,Chr(13) + 'Nu are drepturi pe acest program',''),0+48,"Atentie")
Thisform._textbox1.SetFocus()
Return .F.
Endif
lcLog = 'Connected: ' + Sys(0) + ' ' + lcUserNameApp
goLog.Log(lcLog,Program())
Thisform.Visible=.F.
This.lb_titlu_alb_b121.Caption = "Conectat: "+Alltrim(Str(This.nhandle))
_Screen.Caption="Conectat: "+Sys(0)
This.MousePointer= 0
Thisform.Release
Do Form fundal Name gofundal Linked
*!* IF TYPE('oprinc') = 'O'
*!* IF PEMSTATUS(oprinc, "pagefr1", 5)
*!* oprinc.pagefr1.p1.click()
*!* ENDIF
*!* ENDIF
ENDPROC
PROCEDURE do_logoff
LOCAL lcLog
*lcLog = 'Attempting to logoff: ' + gcUserNameApp
lcLog = 'Incercare de deconectare: ' + gcUserNameApp
goLog.Log(lcLog,PROGRAM())
Local lnSucces
If This.nHandle>0
lnSucces = SQLDISCONNECT(This.nHandle)
If lnSucces = 1
This.nHandle = -1
*this.lb_titlu_alb_b121.ForeColor= RGB(128,0,0)
This.lb_titlu_alb_b121.Caption = "Deconectat"
aMessagebox("Ati fost deconectat!",0+64,"Info")
_screen.caption="Deconectat: "+SYS(0)
lcLog = 'Deconectat'
thisform._textbox2.Value=""
thisform._textbox1.SetFocus()
ELSE
AERROR(laEroare)
IF TYPE('laEroare')!='U'
lcLog = 'Eroare la deconectare: ' + gcUserNameApp + CHR(13) + CHR(10) + laEroare[3]
RELEASE laEroare
ELSE
lcLog = 'Eroare la deconectare: ' + gcUserNameApp
ENDIF
aMessagebox("Eroare la deconectare!",0+16,"Eroare")
ENDIF
goLog.Log(lcLog,PROGRAM())
Endif
GNHANDLE = This.nHandle
Return Iif(This.nHandle<0,.T.,.F.)
ENDPROC
PROCEDURE do_modifica
thisform._checkbox1.Visible=!thisform._checkbox1.Visible
ENDPROC
PROCEDURE Init
DoDefault()
LOCAL lcHost
This.nhandle = gnHandle
If This.nhandle <= 0
*this.lb_titlu_alb_b121.ForeColor= RGB(128,0,0)
This.lb_titlu_alb_b121.Caption = "Neconectat"
Else
*this.lb_titlu_alb_b121.ForeColor= RGB(0,128,128)
This.lb_titlu_alb_b121.Caption = "Conectat: "+Alltrim(Str(This.nhandle))
Endif
lnHosts = This.populate_host()
If lnHosts > 0
Thisform.cb_server._CBBASE1.RowSourceType = 2
Thisform.cb_server._CBBASE1.RowSource = 'crsHost.Host'
Select crsHost
Go Top
lcHost = Host
Thisform.cb_server._CBBASE1.Requery()
Thisform.cb_server._CBBASE1.Value=lcHost
Else
Quit
ENDIF
&& daca am pornit programul prin parametri nu arat forma
If glParametri
This.Visible = .F.
This.do_login()
Endif
ENDPROC
PROCEDURE KeyPress
Lparameters nKeyCode, nShiftAltCtrl
Do Case
Case nKeyCode=27 And nShiftAltCtrl=0
Nodefault
If aMessagebox("Sunteti sigur ca doriti sa inchideti fereastra?",4+32+256,"Confirmare")==6
This.do_renunt()
ENDIF
Case nKeyCode=6 And nShiftAltCtrl=2
NODEFAULT
This.do_termin()
Endcase
ENDPROC
PROCEDURE populate_host
Local lnValid
lnValid = Iif(Type('goRoa')='O',goRoa.GetcrsSecurity(),GetcrsSecurity(gcSecurityFile)) && modificare 03.10.2012
Dimension laDrivere[30]
Thisform.odbcreg1.getodbcdrvrs(@laDrivere,.T.)
Select crshost
Scan
lcHost=Alltrim(Upper(Host))
If Ascan(laDrivere,lcHost,1)=0
Delete Next 1
Endif
Endscan
Return lnValid
ENDPROC
ENDDEFINE
DEFINE CLASS frm_mesaj AS _frmbase OF "_frm_base.vcx"
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="lbl_mesaj1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Nu1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Da1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="imagine1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="lbl_mesaj2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="txt_numar" UniqueID="" Timestamp="" />
*<DefinedPropArrayMethod>
*p: nnr
*</DefinedPropArrayMethod>
*<PropValue>
BorderStyle = 1
Desktop = .T.
DoCreate = .T.
Height = 192
Name = "frm_mesaj"
nnr = 0
Width = 400
_shape1.Height = 29
_shape1.Left = 0
_shape1.Name = "_shape1"
_shape1.Top = 0
_shape1.Width = 402
_shape1.ZOrderSet = 3
_SHAPE2.Height = 29
_SHAPE2.Left = 367
_SHAPE2.Name = "_SHAPE2"
_SHAPE2.Top = 0
_SHAPE2.Width = 34
_SHAPE2.ZOrderSet = 6
LB_TITLU_ALB_B121.Caption = "Titlu"
LB_TITLU_ALB_B121.FontBold = .T.
LB_TITLU_ALB_B121.Name = "LB_TITLU_ALB_B121"
LB_TITLU_ALB_B121.TabIndex = 5
LB_TITLU_ALB_B121.ZOrderSet = 7
BUT_TERMIN1.Left = 368
BUT_TERMIN1.Name = "BUT_TERMIN1"
BUT_TERMIN1.TabIndex = 1
BUT_TERMIN1.Top = 1
BUT_TERMIN1.ZOrderSet = 9
Gridsort1.Name = "Gridsort1"
*</PropValue>
ADD OBJECT 'Da1' AS but_da WITH ;
Height = 30, ;
Left = 151, ;
Name = "Da1", ;
TabIndex = 2, ;
Top = 156, ;
Width = 55, ;
ZOrderSet = 2
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'imagine1' AS image WITH ;
BackStyle = 0, ;
Height = 33, ;
Left = 12, ;
Name = "imagine1", ;
Picture = ..\..\, ;
Top = 48, ;
Width = 32, ;
ZOrderSet = 4
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'lbl_mesaj1' AS _lbbase WITH ;
Alignment = 2, ;
AutoSize = .F., ;
Caption = "mesaj1", ;
FontSize = 10, ;
Height = 102, ;
Left = 51, ;
Name = "lbl_mesaj1", ;
Style = 0, ;
TabIndex = 4, ;
Top = 42, ;
Width = 339, ;
WordWrap = .T., ;
ZOrderSet = 0
*< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" />
ADD OBJECT 'lbl_mesaj2' AS _lbbase WITH ;
Alignment = 2, ;
Caption = "mesaj2", ;
FontSize = 10, ;
Height = 18, ;
Left = 178, ;
Name = "lbl_mesaj2", ;
TabIndex = 6, ;
Top = 65, ;
Width = 44, ;
ZOrderSet = 5
*< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" />
ADD OBJECT 'Nu1' AS but_nu WITH ;
Height = 30, ;
Left = 207, ;
Name = "Nu1", ;
TabIndex = 3, ;
Top = 156, ;
Width = 55, ;
ZOrderSet = 1
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'txt_numar' AS _textbox WITH ;
BackStyle = 0, ;
BorderStyle = 0, ;
ControlSource = "thisform.nnr", ;
FontBold = .T., ;
InputMask = (get_mask(12,gnPa)), ;
Left = 261, ;
Name = "txt_numar", ;
Top = 66
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="textbox" />
PROCEDURE actualizeaza_drepturi
*!*
ENDPROC
PROCEDURE Init
Lparameters tctitlu,tcimagine,tctip,tcmesaj1,tmesaj2
DoDefault()
With This
.lb_titlu_alb_b121.Caption = tctitlu
.imagine1.Picture = Iif(Empty(tcimagine),[info_c.ico],tcimagine)
.lbl_mesaj1.Caption = Iif(Empty(tcmesaj1),[],tcmesaj1)
If Type('tmesaj2') = 'N'
.lbl_mesaj2.Visible = .F.
.nnr = tmesaj2
lnCul = Iif(.nnr<0,Rgb(255,0,0),Iif(.nnr>0,Rgb(0,0,255),Rgb(0,255,0)))
.txt_numar.ForeColor = lnCul
.txt_numar.Left = 151
Else
.lbl_mesaj2.Caption = Iif(Empty(tmesaj2),[],tmesaj2)
.txt_numar.Visible = .F.
Endif
Do Case
Case Upper(Alltrim(tctip)) = [AVERTIZARE] Or Upper(Alltrim(tctip)) = [INFORMARE] Or Empty(tctip)
.da1.Visible = .F.
.nu1.Visible = .F.
._shape2.Visible = .T.
.but_termin1.Visible = .T.
Case Upper(Alltrim(tctip)) = [INTREBARE]
.da1.Visible = .T.
.nu1.Visible = .T.
._shape2.Visible = .F.
.but_termin1.Visible = .F.
Endcase
Endwith
ENDPROC
PROCEDURE KeyPress
Lparameters nKeyCode, nShiftAltCtrl
Do Case
Case nKeyCode=27 And nShiftAltCtrl=0
Nodefault
This.do_renunt()
Case nKeyCode=6 And nShiftAltCtrl=2
NODEFAULT
This.do_termin()
Endcase
ENDPROC
PROCEDURE Show
LPARAMETERS nStyle
IF !FILE(THIS.Imagine1.PICTURE)
THIS.IMagine1.Visible=.F.
ENDIF
ENDPROC
ENDDEFINE
DEFINE CLASS frm_start_firma_nou AS _frmbase OF "_frm_base.vcx"
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="But_renunt1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="CbFima" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="CbLuna" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="CbAn" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Lb_firma" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Lb_luna" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Lb_an" UniqueID="" Timestamp="" />
*<DefinedPropArrayMethod>
*m: caut_luna_an
*m: filtrez_luni
*p: can
*p: cfirma
*p: cluna
*p: nnrluna
*</DefinedPropArrayMethod>
*<PropValue>
BorderStyle = 0
can =
cfirma =
cluna =
DoCreate = .T.
Height = 144
Name = "frm_start_firma_nou"
nnrluna = 0
Width = 404
_shape1.Height = 29
_shape1.Left = 0
_shape1.Name = "_shape1"
_shape1.Top = 0
_shape1.Width = 435
_shape1.ZOrderSet = 1
_shape2.Height = 29
_shape2.Left = 370
_shape2.Name = "_shape2"
_shape2.Top = 0
_shape2.Width = 63
_shape2.ZOrderSet = 2
Lb_titlu_alb_b121.Caption = "ALEGE<47>I FIRMA / ANUL / LUNA"
Lb_titlu_alb_b121.FontName = "Segoe UI"
Lb_titlu_alb_b121.FontSize = 12
Lb_titlu_alb_b121.Left = 5
Lb_titlu_alb_b121.Name = "Lb_titlu_alb_b121"
Lb_titlu_alb_b121.TabIndex = 6
Lb_titlu_alb_b121.Top = 4
Lb_titlu_alb_b121.ZOrderSet = 3
BUT_TERMIN1.Left = 375
BUT_TERMIN1.Name = "BUT_TERMIN1"
BUT_TERMIN1.TabIndex = 4
BUT_TERMIN1.Top = 1
BUT_TERMIN1.ZOrderSet = 4
Gridsort1.Name = "Gridsort1"
*</PropValue>
ADD OBJECT 'But_renunt1' AS but_renunt WITH ;
Left = 345, ;
Name = "But_renunt1", ;
TabIndex = 5, ;
Top = 1, ;
ZOrderSet = 5
*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'CbAn' AS _combobox WITH ;
ControlSource = "thisform.can", ;
Height = 24, ;
Left = 108, ;
Name = "CbAn", ;
ReadOnly = .F., ;
SpecialEffect = 1, ;
Style = 2, ;
TabIndex = 2, ;
Top = 75, ;
Width = 96, ;
ZOrderSet = 8
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" />
ADD OBJECT 'CbFima' AS _combobox WITH ;
ColumnCount = 1, ;
ControlSource = "thisform.cfirma", ;
Height = 24, ;
HideSelection = .F., ;
Left = 107, ;
Name = "CbFima", ;
RowSource = "v_firme.firma", ;
RowSourceType = 2, ;
SpecialEffect = 1, ;
Style = 2, ;
TabIndex = 1, ;
Top = 40, ;
Width = 281, ;
ZOrderSet = 6
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" />
ADD OBJECT 'CbLuna' AS _combobox WITH ;
ControlSource = "thisform.cluna", ;
Height = 24, ;
Left = 109, ;
Name = "CbLuna", ;
ReadOnly = .F., ;
RowSource = "v_lunilean.numeluna", ;
RowSourceType = 2, ;
SpecialEffect = 1, ;
Style = 2, ;
TabIndex = 3, ;
Top = 112, ;
Width = 96, ;
ZOrderSet = 7
*< END OBJECT: ClassLib="_baza.vcx" BaseClass="combobox" />
ADD OBJECT 'Image1' AS image WITH ;
Height = 150, ;
Left = 0, ;
Name = "Image1", ;
Picture = ..\grafice\start.bmp, ;
Stretch = 2, ;
Top = 34, ;
Width = 402, ;
ZOrderSet = 0
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'Lb_an' AS lb_simplu WITH ;
Caption = "Anul:", ;
FontBold = .T., ;
FontSize = 12, ;
Left = 46, ;
Name = "Lb_an", ;
TabIndex = 9, ;
Top = 75, ;
ZOrderSet = 11
*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />
ADD OBJECT 'Lb_firma' AS lb_simplu WITH ;
Caption = "Firma:", ;
FontBold = .T., ;
FontSize = 12, ;
Left = 45, ;
Name = "Lb_firma", ;
TabIndex = 7, ;
Top = 40, ;
ZOrderSet = 9
*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />
ADD OBJECT 'Lb_luna' AS lb_simplu WITH ;
Caption = "Luna:", ;
FontBold = .T., ;
FontSize = 12, ;
Left = 47, ;
Name = "Lb_luna", ;
TabIndex = 8, ;
Top = 113, ;
Width = 43, ;
ZOrderSet = 10
*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />
PROCEDURE actualizeaza_drepturi
*!*
ENDPROC
PROCEDURE caut_luna_an
LOCAL lcSchema, lnIdFirma, lnSchema_noua
THISFORM.cfirma = THIS.cbFima.DISPLAYVALUE
SELECT v_firme
LOCATE FOR ALLTRIM(firma) = ALLTRIM(THISFORM.cfirma)
*---
lcschemaParola=ALLTRIM(v_firme.parola)
*---
lcSchema = ALLTRIM(SCHEMA)
lnschema_noua = schema_noua
lnIdFirma = v_firme.id_firma
*!* modificare 17.12.2008
gnIdFirma = lnIdFirma
*!* modificare 17.12.2008 ^
IF !FOUND()
RETURN
ENDIF
IF USED("v_ancalendar")
USE IN v_anCalendar
ENDIF
*---
*DO schimba_firma WITH gnHandle,lcSchema,lcschemaParola,lnschema_noua
lnsucces = schimba_firma(gnHandle,lcSchema,lnIdFirma,lcschemaParola,lnschema_noua)
IF lnsucces<0
aMESSAGEBOX(goExecutor.cEroare, 0+16, 'Eroare')
RETURN
ENDIF
*---
LOCAL lcNumeCal
STORE '' TO lcNumeCal
lcSelect = [select varvalue, col_an, col_luna, tip_col_an, tip_col_luna from syn_optiuni_programe WHERE id_prg_owner = ]+ALLTRIM(STR(gnIdProgram)) +[ and UPPER(varname) = 'CALENDAR']
lcCursor = [crsNumeCal]
lnsucces = goExecutor.oExecute(lcSelect,lcCursor)
IF lnsucces < 0
aMESSAGEBOX('Eroare la selectie ' + goExecutor.cEroare,0+16,"Eroare")
RETURN
ENDIF
SELECT crsNumeCal
IF RECCOUNT() = 0
lcNumeCal = 'CALENDAR'
lcCol_an = 'an'
lcCol_luna = 'luna'
lcSel_Col_an = 'an'
lcSel_Col_luna = ' to_char(' + lcCol_luna + ') '
ELSE
lcNumeCal = ALLTRIM(crsNumeCal.varvalue)
lcCol_an = ALLTRIM(col_an) && an
lcCol_luna = ALLTRIM(col_luna) && luna
lctip_col_an = UPPER(ALLTRIM(tip_col_an)) && roaCont = C, roaSal = N
lctip_col_luna = UPPER(ALLTRIM(tip_col_luna))
DO case
CASE lctip_col_an = 'N'
lcSel_Col_an = ' to_char(' + lcCol_an + ') '
CASE lctip_col_an = 'C'
lcSel_Col_an = lcCol_an
ENDCASE
DO CASE
CASE lctip_col_luna = 'N'
lcSel_Col_luna = ' to_char(' + lcCol_luna + ') '
CASE lctip_col_luna = 'C'
lcSel_Col_luna = lcCol_luna
ENDCASE
ENDIF
* IF UPPER(lctip_col_an) = 'N'
lcSelect = [select ] + lcSel_Col_an + [ as an, ] + lcSel_Col_luna + [ as nl ] + ;
[ from ] + lcSchema + [.] + lcNumeCal + [ order by ] + lcCol_an + [ * 12 + ] + lcCol_luna
* lcSelect = [select * from ] + lcSchema + [.] + lcNumeCal + [ order by an * 12 + nl]
*lcSelect = [select * from ] + lcSchema + [.Calendar order by an * 12 + nl]
lcCursor = [v_ancalendar]
lnsucces = goExecutor.oExecute(lcSelect,lcCursor)
IF lnsucces < 0
aMESSAGEBOX(goExecutor.cEroare, 0+16, 'Eroare')
RETURN
ENDIF
THISFORM.cban.ROWSOURCE = ''
IF USED("crs_ani")
USE IN crs_ani
ENDIF
SELECT DISTINCT an FROM v_anCalendar ORDER BY an INTO CURSOR crs_ani
SELECT v_anCalendar
GO BOTTOM
IF gcS <> lcSchema
gnLuna = 0
gnAn = 0
ENDIF
IF gnLuna*gnAn <> 0
*!* SELECT v_lunilean
*!* LOCATE FOR nrluna = gnLuna
SELECT crs_ani
LOCATE FOR VAL(an) = gnAn
ELSE
*!* *!* SELECT v_lunilean
*!* *!* LOCATE FOR nrluna = VAL(v_ancalendar.nl)
SELECT crs_ani
GO BOTTOM
ENDIF
*!* thisform.cbLuna.DisplayValue = v_lunilean.numeluna
*!* thisform.nnrluna = v_lunilean.nrLuna
SELECT crs_ani
THISFORM.cban.ROWSOURCE = 'crs_ani.an'
THISFORM.cban.ROWSOURCETYPE = 2
THISFORM.cban.DISPLAYVALUE = crs_ani.an
THIS.cban.REFRESH
*!* this.cbluna.Refresh
*thisform.Refresh
THISFORM.filtrez_luni
ENDPROC
PROCEDURE do_termin
IF this.inainte_de_do_termin()
gnButon = 1
pnButon = 1
Buton = 1
pnIesire = 1
this.hide
ENDIF
ENDPROC
PROCEDURE filtrez_luni
*!* thisform.cAn = thisform.cbAn.DisplayValue
SELECT v_ancalendar
SELECT c.nl,c.an,l.numeluna,l.nrluna ;
FROM v_ancalendar c;
JOIN v_lunilean l ON VAL(c.nl) = l.nrLuna AND VAL(c.an) = VAL(thisform.cAn) INTO CURSOR v_luni;
ORDER BY l.nrluna
thisform.cbLuna.RowSource = "v_luni.numeluna"
IF gnLuna # 0 AND gnAn = VAL(thisform.cAn) AND ALLTRIM(gcs) = ALLTRIM(this.cbfima.DisplayValue)
SELECT v_luni
LOCATE FOR nrLuna = gnLuna
ELSE
SELECT v_luni
GO BOTTOM
ENDIF
SELECT v_luni
thisform.cLuna = v_luni.numeluna
thisform.cbLuna.DisplayValue = v_luni.numeluna
thisform.nnrluna = v_luni.nrLuna
thisform.cbluna.Refresh
ENDPROC
PROCEDURE inainte_de_do_termin
If Empty(This.cfirma)
aMESSAGEBOX("Alegeti firma si dupa aceea apasati butonul Terminat",0,"Alegeti firma")
Return .F.
*!* comentat 25.02.2014 / liana neagu /sectiune mutata in oinit_optiuni.prg
*!* Else
*!* Public gcNumeUtilEnt
*!* gcNumeUtilEnt = []
*!* lcSql = [begin pack_def.citesteNumeEnt(?gnIdUtil,?@gcNumeUtilEnt); end;]
*!* If !goExecutor.oExecuta(lcSql)
*!* gcNumeUtilEnt = gcUserNameApp
*!* Endif
*!* comentat 25.02.2014 ^
Endif
Return .T.
ENDPROC
PROCEDURE But_renunt1.Click
IF thisform.inainte_de_do_renunt()
gnButon = 2
pnButon = 2
Buton = 2
pnIesire = 2
Quit
If buton = 1
thisform.Release
EndIf
ENDIF
ENDPROC
PROCEDURE CbAn.InteractiveChange
thisform.cAn = thisform.cbAn.DisplayValue
thisform.filtrez_luni
ENDPROC
PROCEDURE CbFima.GotFocus
thisform.caut_luna_an
ENDPROC
PROCEDURE CbFima.InteractiveChange
thisform.caut_luna_an
ENDPROC
PROCEDURE CbFima.LostFocus
*thisform.caut_luna_an
ENDPROC
PROCEDURE CbLuna.InteractiveChange
SELECT v_luni
LOCATE FOR ALLTRIM(numeluna) = ALLTRIM(this.DisplayValue)
IF FOUND()
thisform.nnrluna = v_luni.nrLuna
ENDIF
ENDPROC
PROCEDURE CbLuna.LostFocus
SELECT v_luni
LOCATE FOR ALLTRIM(numeluna) = ALLTRIM(this.DisplayValue)
IF FOUND()
thisform.nnrluna = v_luni.nrLuna
ENDIF
ENDPROC
ENDDEFINE