338 lines
9.2 KiB
Plaintext
338 lines
9.2 KiB
Plaintext
*!* 09.07.2020
|
|
*!* marius.mutu
|
|
*!* start_firma - initializare pack_sesiune.set_an, set_luna, pack_sesiune.set_sucursala, pack_sesiune.set_id_util
|
|
|
|
* PROCEDURE Start_Firma( )
|
|
* Date : 06/10/2004, 12:27:00
|
|
* author : marius.mutu
|
|
* description:
|
|
* creeaza cursorul v_firme;
|
|
* alege firma, anul, luna;
|
|
* initializeaza <gcS> = schema firmei
|
|
* creeaza cursorul <calendar> si verifica luna aleasa
|
|
* apeleaza <oinit_optiuni>
|
|
* apeleaza <update_nomenclator>
|
|
|
|
****** PARAMETER BLOCK **************
|
|
* Parameters : 0
|
|
*
|
|
******************************************* INCEPUT:Start_Firma *******************************************
|
|
Procedure Start_Firma
|
|
|
|
|
|
*** selectez firmele
|
|
Do update_firme_util_prog With gnIdProgram,gnIdUtil In updateserver.prg
|
|
|
|
Select v_Firme
|
|
If Reccount() = 0
|
|
aMessagebox('Nu aveti drepturi pe nici o firma!',0+16,'Atentie')
|
|
Quit
|
|
Endif
|
|
Go Top
|
|
If Type('goFirma') = 'O' And Type('goFirma.id_firma') = 'N'
|
|
If !Empty(goFirma.id_firma) And !Isnull(goFirma.id_firma)
|
|
Locate For id_firma = goFirma.id_firma
|
|
If !Found()
|
|
Go Top
|
|
Endif
|
|
Endif
|
|
Endif
|
|
|
|
Do While .T.
|
|
|
|
|
|
*---------------------
|
|
Private polunilean
|
|
|
|
lcSelect = [select * from syn_lunilean ]
|
|
lcCursor = [v_lunilean]
|
|
lnSucces = goExecutor.oExecute(lcSelect,lcCursor)
|
|
If lnSucces < 0
|
|
aMessagebox('Eroare la selectie ' + goExecutor.cEroare)
|
|
Return
|
|
Endif
|
|
|
|
|
|
|
|
*---------------------
|
|
If Type('loStart_Firma')!='O' Or Isnull(loStart_Firma)
|
|
*!* DO FORM frm_start_firma NAME loStart_Firma LINKED NOSHOW
|
|
Select v_Firme
|
|
Do Form frm_start_firma_nou Name loStart_Firma Linked Noshow
|
|
Endif
|
|
|
|
Select v_Firme
|
|
If gnLuna*gnAn <> 0
|
|
Select v_lunilean
|
|
Locate For nrluna = gnLuna
|
|
|
|
loStart_Firma.cLuna = Alltrim(v_lunilean.numeluna)
|
|
loStart_Firma.cAn = Alltrim(Str(gnAn))
|
|
Endif
|
|
loStart_Firma.cFirma = Alltrim(v_Firme.firma)
|
|
*****************************Inceput Lansare toolbar*****************************
|
|
If !(gnLuna*gnAn <> 0 And primadata=.T.)
|
|
loStart_Firma.Show(1)
|
|
Else
|
|
*!* 05.03.2007
|
|
*!* la lansarea din toolbar formularul este invizibil si gnbuton = 2 -> (ca si cum as da renunt - iese din program)
|
|
gnbuton = 1
|
|
*!* 05.03.2007 ^
|
|
|
|
Select v_Firme
|
|
*!* 11.02.2008
|
|
*!* Locate For Upper(Alltrim(schema))== gcs
|
|
Locate For id_firma = gnIdFirma
|
|
*!* 11.02.2008 ^
|
|
lcschemaParola=Alltrim(v_Firme.parola)
|
|
loStart_Firma.nnrluna = gnLuna
|
|
loStart_Firma.cAn = Alltrim(Str(gnAn))
|
|
lnschema_noua = schema_noua
|
|
lnIdFirma = v_firme.id_firma
|
|
|
|
lnSucces = schimba_firma(gnHandle,gcs,lnIdFirma,lcschemaParola,lnschema_noua)
|
|
If lnSucces<0
|
|
aMessagebox(goExecutor.cEroare, 0+16, 'Eroare')
|
|
Return
|
|
Endif
|
|
*--- &&lansare
|
|
Endif
|
|
|
|
*****************************Sfarsit Lansare toolbar*****************************
|
|
*!* modificare 01.03.2007
|
|
*!* am pus conditia TYPE("loStart_Firma") # "O" pentru cazul in care utilizatorul apasa "X"
|
|
*!* atunci cand este vizibila fereastra de alegere a firmei/lunii/anului >> apare "Doriti sa iesiti din program"
|
|
*!* si daca apasa da,atunci gnButon = 1 din fereastra de confirmare si nu de la fereastra de alegere a firmei
|
|
If Type("loStart_Firma.nnrluna") = "U" And gnbuton = 1
|
|
Return To Master
|
|
Endif
|
|
*!* modificare 01.03.2007 ^
|
|
If gnbuton <> 1
|
|
* QUIT
|
|
Cancel
|
|
*RETRY
|
|
*RETURN
|
|
If Buton = 2
|
|
Do Start_Firma
|
|
Endif
|
|
Endif
|
|
|
|
Select v_Firme
|
|
*!* modificare 17.12.2008
|
|
Locate for id_firma = gnIdFirma
|
|
*!* modificare 17.12.2008 ^
|
|
Scatter Name goFirma && variabila globala
|
|
|
|
If Type('gofirma.codfiscalfro') = 'U'
|
|
AddProperty(gofirma, 'codfiscalfro', ALLTRIM(Strtran(Alltrim(gofirma.cod_fiscal), 'RO','')))
|
|
Endif
|
|
|
|
lnId_Firma = v_Firme.id_firma
|
|
*lnLuna = ROUND(VAL(loStart_Firma.cLuna),0)
|
|
lnLuna = loStart_Firma.nnrluna
|
|
lnAn = Round(Val(loStart_Firma.cAn),0)
|
|
lcFirma = Upper(Alltrim(v_Firme.firma))
|
|
lcSchema = Upper(Alltrim(v_Firme.schema))
|
|
lcschemaParola = Upper(Alltrim(v_Firme.parola))
|
|
lnschema_noua = v_Firme.schema_noua
|
|
|
|
*!* IF USED('v_ancalendar')
|
|
*!* USE IN v_ancalendar
|
|
*!* ENDIF
|
|
*!* IF USED('crs_ani')
|
|
*!* USE IN crs_ani
|
|
*!* ENDIF
|
|
|
|
|
|
|
|
If Empty(lcSchema) Or Isnull(lcSchema)
|
|
*!* DO mesaj WITH "Firma "+ lcFirma + " nu are definita schema in <NOM_FIRME>",""
|
|
lcMesaj="Firma "+ lcFirma + " nu are definita schema in <NOM_FIRME>!"
|
|
aMessagebox(lcMesaj,0+48,"Atentie")
|
|
Loop
|
|
Endif
|
|
|
|
*!* 11.02.2008
|
|
*!* If gcs <> lcSchema
|
|
IF lnId_Firma <> goFirma.id_firma
|
|
LLSCHIMB = .T.
|
|
Else
|
|
LLSCHIMB = .F.
|
|
Endif
|
|
*!* 11.02.2008 ^
|
|
|
|
gcs = lcSchema
|
|
lnSucces = 1
|
|
If LLSCHIMB
|
|
lnSucces = schimba_firma(gnHandle,gcS,lnId_Firma,lcSchema,lnschema_noua)
|
|
*DO schimba_firma WITH gnHandle,GCS,lcschemaParola
|
|
If lnSucces < 0
|
|
aMessagebox('Firma nu s-a putut schimba!'+Chr(13)+Chr(13)+'ostartfirma.prg',0+16)
|
|
Return
|
|
Endif
|
|
|
|
Endif
|
|
|
|
If lnSucces > 0
|
|
lnSucces = update_calendar()
|
|
Endif
|
|
|
|
|
|
|
|
llLunaBuna = .F.
|
|
If !Used('calendar')
|
|
*!* DO mesaj WITH 'Nu s-a putut deschide calendarul firmei ' + lcFirma,''
|
|
lcMesaj="Nu s-a putut deschide calendarul firmei "+ lcFirma + "!"
|
|
aMessagebox(lcMesaj,0+48,"Atentie")
|
|
Loop
|
|
Endif
|
|
*** verific daca luna aleasa e deschisa in calendar
|
|
Select Min(Val(an)*12 + Val(nl)) As minluna,Max(Val(an)*12 + Val(nl)) As maxluna From calendar Into Cursor crsCalendar
|
|
Select crsCalendar
|
|
lnMaxLuna = maxluna
|
|
lnMinLuna = minluna
|
|
lnAnLuna = lnAn * 12+ lnLuna
|
|
Use In crsCalendar
|
|
|
|
lnLunaMax = Mod(lnMaxLuna,12)
|
|
lnAnMax = Int(lnMaxLuna/12)
|
|
If lnLunaMax = 0 And lnAnMax <> 0
|
|
lnLunaMax = 12
|
|
lnAnMax = lnAnMax - 1
|
|
Endif
|
|
|
|
lnLunaMin = Mod(lnMinLuna,12)
|
|
lnAnMin = Int(lnMinLuna/12)
|
|
If lnLunaMin = 0 And lnAnMin <> 0
|
|
lnLunaMin = 12
|
|
lnAnMin = lnAnMin - 1
|
|
Endif
|
|
|
|
Select calendar
|
|
Locate For Val(nl) = lnLuna And Val(an) = lnAn
|
|
If Found()
|
|
llLunaBuna = .T.
|
|
Scatter Name goCalendar
|
|
|
|
If lnMaxLuna = lnAnLuna
|
|
glUltimaLuna = .T.
|
|
Endif
|
|
If lnMinLuna = lnAnLuna
|
|
glPrimaLuna = .T.
|
|
Endif
|
|
|
|
glLunaBuna = llLunaBuna
|
|
|
|
|
|
lnSucces = OINIT_OPTIUNI()
|
|
If lnSucces > 0
|
|
Do update_nomenclator.prg
|
|
Do ovariabile_globale.prg
|
|
lcSql = [begin pack_contafin.set_idutil(?gnIdUtil); pack_contafin.set_id_sucursala(?gnIdSucursala); pack_sesiune.setan(?gnAn); pack_sesiune.setluna(?gnLuna);end;]
|
|
lnSucces = goExecutor.oExecute(m.lcSql)
|
|
Endif
|
|
|
|
Return lnSucces
|
|
|
|
Else
|
|
|
|
|
|
Do Case
|
|
Case lnAnLuna > lnMaxLuna And lnMaxLuna <> 0
|
|
lcMesaj = [Ultima luna deschisa este ] + Alltrim(Str(lnLunaMax)) + [/] + Alltrim(Str(lnAnMax))
|
|
gnLuna = lnLunaMax
|
|
gnAn = lnAnMax
|
|
pcNl = Padl(Alltrim(Str(gnLuna)),2,'0')
|
|
pcAn = Alltrim(Str(gnAn))
|
|
m.nl = m.pcnl
|
|
m.an = m.pcAn
|
|
Case lnAnLuna < lnMinLuna And lnMinLuna <>0
|
|
lcMesaj = [Prima luna deschisa este ] + Alltrim(Str(lnLunaMin)) + [/] + Alltrim(Str(lnAnMin))
|
|
gnLuna = lnLunaMin
|
|
gnAn = lnAnMin
|
|
pcNl = Padl(Alltrim(Str(gnLuna)),2,'0')
|
|
pcAn = Alltrim(Str(gnAn))
|
|
m.nl = m.pcnl
|
|
m.an = m.pcAn
|
|
Otherwise
|
|
lcMesaj = [Luna ] + Alltrim(Str(lnLuna)) + [ / ] + Alltrim(Str(lnAn)) + [ nu este deschisa in calendar]
|
|
Endcase
|
|
*!* DO mesaj WITH lcMesaj,''
|
|
aMessagebox(lcMesaj,0+48,"Atentie")
|
|
Loop
|
|
Endif
|
|
Enddo
|
|
Endproc
|
|
******************************************* SFARSIT: Start_Firma *******************************************
|
|
|
|
|
|
* PROCEDURE login( )
|
|
* Date : 18/10/2004, 13:14:01
|
|
* author : marius.mutu
|
|
* description:
|
|
|
|
****** PARAMETER BLOCK **************
|
|
* Parameters : 0
|
|
*
|
|
******************************************* INCEPUT:login *******************************************
|
|
Procedure login( )
|
|
*LPARAMETERS tcHost,tcUserName,tcPassword,tcUserNameApp,tcPasswordApp,tnIdUtil,tnIdProgram
|
|
|
|
Do Form frm_login
|
|
|
|
Endproc
|
|
******************************************* SFARSIT: login *******************************************
|
|
|
|
|
|
******************************************* INCEPUT:schimba_firma *************************************
|
|
Procedure schimba_firma
|
|
Lparameters tnHandle,tcSchema, tnIdFirma,tcschemaParola,tnschema_noua
|
|
Local llDeconectez,lcuser, lnSucces, lnIdFirma
|
|
LOCAL lnSucces
|
|
lnSucces = 1
|
|
|
|
IF TYPE('goFirma') = 'O'
|
|
lnIdFirma = goFirma.id_firma
|
|
ELSE
|
|
lnIdFirma = -1
|
|
ENDIF
|
|
*!* 16.02.2009
|
|
*!* aveam probleme :)
|
|
*!* ma deconectez/conectez la fiecare apel
|
|
*!* IF tnIdFirma <> lnIdFirma
|
|
*!* llDeconectez = .T.
|
|
*!* ENDIF
|
|
llDeconectez = .T.
|
|
*!* 16.02.2009 ^
|
|
|
|
If llDeconectez
|
|
goConn.Disconnect(tnHandle)
|
|
|
|
If tnschema_noua = 0
|
|
lcHost = gcHost
|
|
lcuser = gcUserName
|
|
lcPassword = gcPassword
|
|
Else
|
|
lcHost = gcHost
|
|
lcuser = tcSchema
|
|
lcPassword = tcschemaParola
|
|
Endif
|
|
|
|
lnHandle = goConn.Connect(lcHost, lcuser, lcPassword)
|
|
goLog.Log('CONECTARE ' + lcHost + ' ' + lcUser + ' ID_FIRMA ' + STR(lnIdFirma) + ' HANDLE = ' + TRANSFORM(lnHandle), PROGRAM())
|
|
|
|
If lnHandle < 0
|
|
lnSucces = -1
|
|
Else
|
|
lnSucces = 1
|
|
Endif
|
|
gcs = tcSchema
|
|
|
|
Endif && llDeconectez
|
|
|
|
|
|
Return lnSucces
|
|
|
|
Endproc
|
|
******************************************* SFARSIT:schimba_firma *************************************
|