300 lines
11 KiB
Plaintext
300 lines
11 KiB
Plaintext
*!* 12.01.2011
|
|
*!* marius.mutu
|
|
*!* deschidluna + parametru: tlProgramat
|
|
*!* deschiderea / redeschiderea de luna se face automat de catre un job in baza de date noaptea
|
|
|
|
*******************************************
|
|
* PROCEDURE deschiluna( )
|
|
* Data/ora : 11/15/04, 17:13:14
|
|
* autor : liana.macinic
|
|
* descriere:
|
|
|
|
****** PARAMETER BLOCK **************
|
|
* Parametri : 1
|
|
* parametru: tdeschid = este .t. daca procedura se foloseste pentru deschidere de luna
|
|
* este .f. daca procedura se foloseste pentru redeschidere de luna
|
|
* parametru: tcTipRefacere: refacere_completa, refacere_precedente_rulaje
|
|
* refacere_completa - stergere si refacere
|
|
* parametru: tlProgramat: deschiderea / redeschiderea de luna se face automat de catre un job in baza de date noaptea
|
|
*******************************************
|
|
Procedure deschidluna
|
|
Lparameters tlDeschid,tcTipRefacere, tlProgramat
|
|
Local lcExplicatie,lcConfirmare,lcMesaj,loFrm
|
|
If tlDeschid
|
|
lcAn = Alltrim(Str(Year(Gomonth(Date(gnAn,gnLuna,1),1))))
|
|
lcLuna = Alltrim(Str(Month(Gomonth(Date(gnAn,gnLuna,1),1))))
|
|
lcExplicatie = [Deschidere de lunã]
|
|
lcConfirmare = [Doriti sã deschideti luna ] + lcLuna + [ / ] + lcAn + [ ?]
|
|
lcMesaj = [S-a deschis luna ] + lcLuna + [ / ] + lcAn + [ !]
|
|
Else
|
|
lcAn = Alltrim(Str(gnAn))
|
|
lcLuna = Alltrim(Str(gnLuna))
|
|
lcExplicatie = [Redeschidere de luna]
|
|
lcConfirmare = [Doriti sã redeschideti luna ] + lcLuna + [ / ] + lcAn + [ ?]
|
|
lcMesaj = [S-a redeschis luna ] + lcLuna + [ / ] + lcAn + [ !]
|
|
|
|
IF m.glLunaInchisa
|
|
AMESSAGEBOX('Luna este inchisa! Nu se poate face redeschiderea de luna!',0+64,_screen.Caption)
|
|
RETURN
|
|
ENDIF
|
|
ENDIF
|
|
|
|
*!* modificare v 2.4.0
|
|
private pnTvaIncasare, pnImpozitProfit
|
|
pnTvaIncasare = goCalendar.tva_incasare
|
|
pnImpozitProfit = goCalendar.impozit_profit
|
|
|
|
loFrm = createobject("frm_deschidere_luna_cont",lcExplicatie,lcConfirmare,tlDeschid)
|
|
loFrm.Show()
|
|
if gnButon = 1
|
|
*!* If AMESSAGEBOX(lcConfirmare,4+32,lcExplicatie)=6
|
|
*!* modificare v 2.4.0 ^
|
|
_Screen.MousePointer = 11
|
|
*!* modificare v 2.4.0 : am adaugat pnTvaIncasare
|
|
lcSql = [begin deschidere_luna(] + lcAn + [,] + lcLuna + [,] + Iif(tlDeschid,[1],[0]) + [,] + ;
|
|
IIF(EMPTY(tcTipRefacere),[1],IIF(UPPER(ALLTRIM(tcTipRefacere)) = [REFACERE_COMPLETA],[3],[1])) + [,?pnTvaIncasare,?gnIdUtil); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
_Screen.MousePointer = 0
|
|
If lnSucces < 0
|
|
AMESSAGEBOX(goExecutor.cEroare,64,"Eroare")
|
|
Else
|
|
AMESSAGEBOX(lcMesaj,48,lcExplicatie)
|
|
If tlDeschid
|
|
lnSucces = update_calendar()
|
|
If lnSucces < 0
|
|
AMESSAGEBOX('Eroare la actualizarea calendarului!' + CHR(13)+CHR(10) + goExecutor.cEroare, 16, "Eroare")
|
|
Return
|
|
Endif
|
|
|
|
Select calendar
|
|
Locate For luna = VAL(lcLuna) And anul = VAL(lcAn)
|
|
If Found()
|
|
Scatter Name goCalendar
|
|
Else
|
|
AMESSAGEBOX('Eroare la citirea lunii in calendar!' + CHR(13)+CHR(10) + goExecutor.cEroare, 16, "Eroare")
|
|
Return
|
|
Endif
|
|
Do OINIT_OPTIUNI.prg
|
|
Endif
|
|
Endif
|
|
Endif
|
|
Release pnTvaIncasare && modificare v 2.4.0
|
|
Endproc
|
|
*******************************************
|
|
*!* PROCEDURE deschidluna
|
|
*!* PARAMETERS tldeschid, tcTipRefacere
|
|
*!*
|
|
*!* LOCAL lnDuplicatTva
|
|
*!* lnDuplicatTva = 0
|
|
|
|
*!* PRIVATE plDeschid, pnDeschid
|
|
*!* IF !tlDeschid AND glLunaInchisa
|
|
*!* MESSAGEBOX('Luna este blocata! Nu se poate redeschide luna.', 0+64, _screen.Caption)
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
*!* IF EMPTY(tldeschid)
|
|
*!* STORE .F. TO plDeschid
|
|
*!* pnDeschid = 0
|
|
*!* ELSE
|
|
*!* plDeschid = tldeschid
|
|
*!* pnDeschid = 1
|
|
*!* ENDIF
|
|
|
|
*!* IF EMPTY(tcTipRefacere) OR TYPE('tcTipRefacere') <> 'C'
|
|
*!* tcTipRefacere = "REFACERE_PRECEDENTE_RULAJE"
|
|
*!* ELSE
|
|
*!* tcTipRefacere = UPPER(tcTipRefacere)
|
|
*!* ENDIF
|
|
*!*
|
|
*!* IF plDeschid
|
|
*!* ldData1 = GOMONTH(DATE(gnAn,gnLuna,1),1)
|
|
*!* lnAn = YEAR(ldData1)
|
|
*!* lnLuna = MONTH(ldData1)
|
|
*!* lcAn = ALLTRIM(STR(lnAn))
|
|
*!* lcLuna = PADL(ALLTRIM(STR(lnLuna)),2,'0')
|
|
|
|
*!* lnValoare = 12*lnAn + lnLuna
|
|
*!* lcSelect = [select COUNT(*) as duplicat from ] + gcS + [.CALENDAR where 12*anul + luna = ?lnValoare]
|
|
*!* lnSucces = goExecutor.oExecute(lcSelect,[crsTest])
|
|
*!* IF lnSucces < 0
|
|
*!* AMESSAGEBOX(goExecutor.cEroare)
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
|
|
*!* SELECT crsTest
|
|
*!* IF duplicat > 0
|
|
*!* AMESSAGEBOX('Luna ' + lcLuna + ' / ' + lcAn + ' este deja deschisa! ')
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
*!* USE IN crsTest
|
|
|
|
|
|
|
|
*!* lnPlafonCasa = goCalendar.plafon_casa
|
|
*!* lnPlafonPlati = goCalendar.plafon_plati
|
|
*!* lnPlafonFurniz = goCalendar.plafon_furnizori
|
|
*!* IF AMESSAGEBOX('Doriti sa deschideti luna ' + lcLuna + ' / ' + lcAn + '?',4+32,"Deschidere de luna")!=6
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
|
|
*!* *!* 10.07.2006
|
|
*!* *!* FLORIN CIOCAN
|
|
*!* lcSelect = [select COUNT(*) as duplicatTVA from COTE_TVA ] + ;
|
|
*!* [ where an = ] + TRANSFORM(lnAn) + [ AND luna = ] + TRANSFORM(lnLuna) + [ AND sters = 0]
|
|
*!* lnSucces = goExecutor.oExecute(lcSelect,[crsTest])
|
|
*!* IF lnSucces < 0
|
|
*!* AMESSAGEBOX(goExecutor.cEroare)
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
|
|
*!* SELECT crsTest
|
|
*!* lnDuplicatTva = duplicatTva
|
|
*!* USE IN crsTest
|
|
|
|
*!* IF lnDuplicatTva = 0
|
|
*!* lcSql = [insert into cote_tva (proc_tva, descriere, procent, an, luna) ] + ;
|
|
*!* [ SELECT proc_tva, descriere, procent, ] + TRANSFORM(lnAn) + [,] + TRANSFORM(lnLuna) + [ from cote_tva where an = ?gnAn and luna = ?gnLuna and sters = 0 ]
|
|
|
|
*!* lnSucces = goExecutor.oExecute(lcSql)
|
|
*!* IF lnSucces < 0
|
|
*!* AMESSAGEBOX(goExecutor.cEroare)
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
*!* ENDIF
|
|
|
|
*!* lcInsert = [INSERT INTO ] + gcS + [.CALENDAR (NL,AN,CTVAI,CTVAM,PLAFON_casa,plafon_plati,plafon_furnizori,anul,luna) ] + ;
|
|
*!* [VALUES (?lcLuna ,?lcAn,] + ALLTRIM(STR(NVL(goCalendar.ctvai,0),5,3)) + [,] + ALLTRIM(STR(NVL(goCalendar.ctvam,0),5,3)) + [,?lnPlafonCasa,?lnPlafonPlati,?lnPlafonFurniz,?lnAn,?lnLuna)]
|
|
|
|
*!* lnSucces = goExecutor.oExecute(lcInsert)
|
|
*!* IF lnSucces < 0
|
|
*!* AMESSAGEBOX(goExecutor.cEroare)
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
|
|
*!* lnSucces = update_calendar()
|
|
*!* IF lnSucces < 0
|
|
*!* AMESSAGEBOX('Eroare la actualizarea Calendarului ' + goExecutor.cEroare)
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
|
|
*!* SELECT calendar
|
|
*!* LOCATE FOR luna = lnLuna AND anul = lnAn
|
|
*!* IF FOUND()
|
|
*!* SCATTER NAME goCalendar
|
|
*!* ELSE
|
|
*!* AMESSAGEBOX('Eroare la citirea lunii in Calendar ' + goExecutor.cEroare)
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
|
|
*!* *!* 11.05.2007
|
|
*!* *!* PAULA MUTU
|
|
*!* ***
|
|
*!* IF gnLuna = 12
|
|
*!* lcSql = [insert into plcont (acont, explicatie, cont, tip_sold, an, tip_cont, id_mod, inactiv, nefolosit, explicatieS) ] + ;
|
|
*!* [ SELECT acont, explicatie, cont, tip_sold, ] +ALLTRIM(STR(gnAn+1)) + [ as an, tip_cont, id_mod, inactiv, nefolosit, explicatieS ]+;
|
|
*!* [ from plcont where an = ?gnAn ]
|
|
|
|
*!* lnSucces = goExecutor.oExecute(lcSql)
|
|
*!* IF lnSucces < 0
|
|
*!* AMESSAGEBOX(goExecutor.cEroare)
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
*!* ENDIF
|
|
*!* ***
|
|
|
|
*!* DO OINIT_OPTIUNI.prg
|
|
*!* * DO update_nomenclator IN updateserver.prg
|
|
*!* ELSE
|
|
*!* IF AMESSAGEBOX('Doriti sa redeschideti luna ' + ALLTRIM(STR(gnLuna)) + ' / ' + ALLTRIM(STR(gnAn)) + '?',4+32,"Redeschidere de luna")!=6
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
*!* ENDIF
|
|
|
|
*!* *DO verificareGlobala WITH .F.,.T. IN overificari.prg
|
|
*!* lnLuna = goCalendar.luna
|
|
*!* lnAn = goCalendar.anul
|
|
|
|
*!* DO VerificareLunaDeschisa WITH lnLuna, lnAn, .T., .T., .T. IN overificari.prg
|
|
*!* IF USED('crsverificari')
|
|
*!* lnNrInreg = 1
|
|
*!* lnInreg = 1
|
|
*!* lnNrInreg=lnNrInreg+RECCOUNT('crsconturi')
|
|
*!* loTherm = NEWOBJECT("_thermometer","_therm","","Generare situatie luna contabila "+ALLTRIM(STR(lnLuna))+"/"+ALLTRIM(STR(lnAn))+"...")
|
|
*!* WITH loTherm
|
|
*!* .SHOW()
|
|
*!* lnPercent = 0
|
|
|
|
*!* lcexplicatia="Generare situatie"
|
|
*!* .UPDATE(lnPercent,lcexplicatia)
|
|
|
|
*!* SELECT crsverificari
|
|
*!* SCAN
|
|
*!* lcsursa = UPPER(ALLTRIM(sursa))
|
|
*!* lccont = ALLTRIM(CONT)
|
|
*!* lctip = IIF(UPPER(tcTipRefacere) = 'REFACERE_COMPLETA', '3', '1')
|
|
*!* lcexplicatia = explicatia
|
|
*!* lnPercent =(lnInreg*100)/lnNrInreg
|
|
|
|
*!* .UPDATE(lnPercent,'Generare '+lcexplicatia)
|
|
|
|
*!* DO refacere WITH lcsursa,lctip,lccont IN orefaceri.prg
|
|
*!* lnInreg=lnInreg+1
|
|
*!* SELECT crsverificari
|
|
*!* ENDSCAN
|
|
*!* .COMPLETE()
|
|
*!* ENDWITH
|
|
*!* RELEASE loTherm
|
|
|
|
*!* IF plDeschid
|
|
*!* AMESSAGEBOX('S-a deschis luna '+ ALLTRIM(STR(gnLuna)) + ' / ' + ALLTRIM(STR(gnAn)) + '!',48,"Deschidere de luna")
|
|
*!* ELSE
|
|
*!* AMESSAGEBOX('S-a redeschis luna '+ ALLTRIM(STR(gnLuna)) + ' / ' + ALLTRIM(STR(gnAn))+ '!',48,"Redeschidere de luna")
|
|
*!* ENDIF
|
|
*!*
|
|
*!* lcSelect = [insert into log_redeschid (anul, luna, id_program, deschid, id_util) values (?gnAn, ?gnLuna, ?gnIdProgram, ?pnDeschid, ?gnIdUtil)]
|
|
*!* lnSucces = goExecutor.oExecute(lcSelect)
|
|
*!* IF lnSucces < 0
|
|
*!* AMESSAGEBOX(goExecutor.cEroare)
|
|
*!* ENDIF
|
|
*!*
|
|
*!* ELSE
|
|
*!* AMESSAGEBOX('Nu s-au refacut situatiile! Verificati in meniul Actualizari / Verificare globala!',48, IIF(plDeschid,"Deschidere de luna","Redeschidere de luna"))
|
|
*!* ENDIF
|
|
*!* IF USED('crsverificari')
|
|
*!* USE IN crsverificari
|
|
*!* ENDIF
|
|
|
|
|
|
*!* ENDPROC && deschiluna
|
|
|
|
*********************** SFARSIT procedura deschiluna *************************
|
|
|
|
|
|
*********************** INCEPUT redeschidere_de_luna *************************
|
|
|
|
|
|
*********************** SFARSIT redeschidere_de_luna *************************
|
|
|
|
|
|
*********************** INCEPUT programare_deschidere_luna *************************
|
|
PROCEDURE programare_deschidere_luna
|
|
PRIVATE poProgramare
|
|
LOCAL m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfisare
|
|
|
|
poProgramare = null
|
|
lcSchema=[]
|
|
lcSelect=[select id_redeschid, anul, luna, id_program, program, id_util, utilizator, dataora, deschid, programat, dataora_start, dataora_stop, id_utils, utilizators, dataoras, sters, SUBSTR(observatii,1,250) as observatii from vlog_redeschid]
|
|
lcFiltru=[STERS = 0 AND LUNA = ]+ALLTRIM(STR(m.gnluna))+[ AND ANUL = ]+ALLTRIM(STR(m.gnan))
|
|
lcOrder=[anul desc, luna desc, dataora desc]
|
|
llAfisare=.F.
|
|
lcGroup = []
|
|
llModParam = .T.
|
|
lcFiltruOriginal = ""
|
|
gencursor('poProgramare','cLogRedeschid', m.lcSelect, m.lcFiltru, m.lcSchema, m.lcOrder, m.llAfisare, m.lcgroup, m.llModParam, m.lcFiltruOriginal)
|
|
|
|
poProgramare.ca_baza1.afisare()
|
|
|
|
loProgramareForm = NEWOBJECT("frm_log_deschidereluna","odeschidereluna.vcx")
|
|
loProgramareForm.show(1)
|
|
ENDPROC && programare_deschidere_luna
|
|
*********************** SFARSIT programare_deschidere_luna ************************* |