*!* 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 *************************