*!* 12.04.2011 *!* marius.mtuu *!* viz_flux *!* salvez si refolosesc lista id act incasari/plati tip compensari de care trebuie sa se tina cont la flux *!* lcComentariu = FormulaFlux2Comentariu([substr(scd,1,3) in ('758','759', '760')],'D',1,"",0,"") *!* MessageBox(lcComentariu) *!* 24.06.2011 *!* marius.mutu *!* viz_flux - se creeaza si coloanele defalcate pe luni pentru perioada precedenta *!* dadea eroare cand se calcula defalcat pe luni + perioada precedenta PROCEDURE viz_flux PARAMETERS tnLunaI, tnAnulI, tnLunaF, tnAnulF, tnModel, tlCompensari, tlPrecedent, tlDefalcat && tnModel 1 = FORMULE FLUX MAI VECHI; 2 = FORMULE FLUX CONTAFIN CONPRESS && tlCompensari daca se afiseaza compensarile din registrul jurnal pentru luarea in considerare in calcul && tlDefalcat 1 = daca se creeaza cate o coloana pentru fiecare luna sau se cumuleaza lunile intr-o singura coloana IF EMPTY(tnModel) tnModel = 2 ENDIF LOCAL i, j, lcPrecedent, lcCurent PRIVATE pnLuna, pnAnul, pnLI, pnAI, pnLF, pnAF, pnSI, pnSF, pnModel, pnNuCalculeazaTotaluri, pcIdsAct STORE 0 TO pnLuna, pnAnul, pnLI, pnAI, pnLF, pnAF, pnSI, pnSF LOCAL lcMesaje, lnDifSoldFPrecedent, lnDifSoldFCurent lcMesaje = "" lnDifSoldFPrecedent = 0 lnDifSoldFCurent = 0 pnModel = tnModel pnNuCalculeazaTotaluri = 0 pcIdsAct = '' llDefalcat = IIF(PCOUNT() = 8, tlDefalcat, .F.) llPrecedent = tlPrecedent AND !m.llDefalcat && daca se defalca pe luni, nu mai am perioada precedenta, doar curenta IF !initializeaza_sucursala() && oinit_optiuni.prg RETURN ENDIF lcPrecedent = [] lcCurent = PADL(INT(tnLunaI), 2, '0') + '/' + PADL(INT(tnAnulI), 4, '0') + ' - ' + PADL(INT(tnLunaF), 2, '0') + '/' + PADL(INT(tnAnulF), 4, '0') && pentru listare - precedent lnParcurgeri = 1 IF m.llPrecedent lnParcurgeri = 2 lcPrecedent = PADL(INT(tnLunaI), 2, '0') + '/' + PADL(INT(tnAnulI) - 1, 4, '0') + ' - ' + PADL(INT(tnLunaF), 2, '0') + '/' + PADL(INT(tnAnulF) - 1, 4, '0') && pentru listare - precedent ENDIF *!* 03.05.2011 lcCursorFlux = [Select Rand, denumire, Cast(0 As N(14,2)) As precedent, Cast(0 As N(14,2)) As curent, ] + ; [suma, formula, Total, tip, si, sf ] FOR iLunaFlux = tnAnulI * 12 + tnLunaI TO tnAnulF * 12 + tnLunaF lnLunaFlux = INT(MOD(m.iLunaFlux, 12)) lnAnFlux = INT(FLOOR(iLunaFlux / 12)) IF m.lnLunaFlux = 0 m.lnLunaFlux = 12 m.lnAnFlux = m.lnAnFlux - 1 ENDIF lcCursorFlux = m.lcCursorFlux + [, CAST(0 as N(14,2)) as l] + PADL(m.lnLunaFlux, 2, "0") + [_] + ALLTRIM(STR(m.lnAnFlux)) *!* 24.06.2011 IF m.llPrecedent lnLunaFluxPrec = lnLunaFlux lnAnFluxPrec = lnAnFlux - 1 lcCursorFlux = m.lcCursorFlux + [, CAST(0 as N(14,2)) as l] + PADL(m.lnLunaFluxPrec, 2, "0") + [_] + ALLTRIM(STR(m.lnAnFluxPrec)) ENDIF *!* 24.06.2011 ^ ENDFOR lcCursorFlux = m.lcCursorFlux + [ From cIntermediar Into Cursor cFlux Readwrite] *!* 03.05.2011 ^ FOR j = 1 TO lnParcurgeri && 1 = precedent/curent 2 = curent/nimic lnAnulI = tnAnulI lnLunaI = tnLunaI lnAnulF = tnAnulF lnLunaF = tnLunaF IF j = 1 AND m.llPrecedent lnAnulI = (lnAnulI - 1) lnAnulF = (lnAnulF - 1) ENDIF pnLI = lnLunaI pnAI = lnAnulI pnLF = lnLunaF pnAF = lnAnulF pnSI = 0 pnSF = 0 FOR i = lnAnulI * 12 + lnLunaI TO lnAnulF * 12 + lnLunaF pnLuna = INT(MOD(i, 12)) pnAnul = INT(FLOOR(i / 12)) IF pnLuna = 0 pnLuna = 12 pnAnul = pnAnul - 1 ENDIF *!* 03.05.2011 lcColoanaLuna = "l" + PADL(m.pnLuna, 2, "0") + [_] + ALLTRIM(STR(m.pnAnul)) *!* 03.05.2011 ^ WAIT WINDOW 'Luna ' + PADL(ALLTRIM(STR(pnLuna)), 2, '0') + ' ' + ALLTRIM(STR(pnAnul)) NOWAIT pcIdsAct = '' *!* 12.04.2011 lnSucces = goExecutor.oFunction2Value([pack_mg_flux.GetIdsActCompensari(] + ALLTRIM(STR(pnLuna)) + [, ] + ALLTRIM(STR(pnAnul)) + [)], @pcIdsAct) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") RETURN ELSE pcIdsAct = NVL(pcIdsAct, '') ENDIF *!* 12.04.2011 ^ IF tlCompensari lcSql = [{call PACK_MG_FLUX.GetCompensari(] + ALLTRIM(STR(pnLuna)) + [, ] + ALLTRIM(STR(pnAnul)) + [)}] lnSucces = goExecutor.oExecute(lcSql, 'crsCompensariTemp') IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") RETURN ELSE IF RECCOUNT('crsCompensariTemp') > 0 *!* 12.04.2011 SELECT *, ALLTRIM(STR(id_act)) + ',' $ pcIdsAct + ',' AS ales FROM crsCompensariTemp INTO CURSOR crsCompensari READWRITE *!* 12.04.2011 ^ loFrmCompensari = CREATEOBJECT("frm_compensari") loFrmCompensari.lb_titlu_alb_b121.CAPTION = 'Compensari ' + PADL(ALLTRIM(STR(pnLuna)), 2, '0') + ' ' + ALLTRIM(STR(pnAnul)) loFrmCompensari.SHOW(1) pcIdsAct = '' SELECT crsCompensari SET FILTER TO SCAN FOR ales pcIdsAct = pcIdsAct + ',' + ALLTRIM(STR(id_act)) ENDSCAN IF !EMPTY(pcIdsAct) pcIdsAct = SUBSTR(pcIdsAct, 2) ENDIF ENDIF USE IN (SELECT('crsCompensariTemp')) USE IN (SELECT('crsCompensari')) ENDIF ENDIF && tlCompensari lcSql = [begin PACK_MG_FLUX.calc_flux(] + ALLTRIM(STR(pnLuna)) + [, ] + ALLTRIM(STR(pnAnul)) + [, ] + ALLTRIM(STR(pnNuCalculeazaTotaluri)) + [, ] + ALLTRIM(STR(pnModel)) + [, '] + ALLTRIM(pcIdsAct) + ['); end;] lnSucces = goExecutor.oExecute(lcSql) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") RETURN ENDIF * Set Textmerge On To Memvar lcMesaje Noshow lcSql = [select * from mg_flux_trezorerie where rand = 0 ] lcCursor = 'cNerepartizate' lnSucces = goExecutor.oExecute(lcSql, lcCursor) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") ENDIF SELECT COUNT(*) AS CNT FROM cNerepartizate INTO CURSOR cNr SELECT cNr lnNr = CNT IF USED('cNr') USE IN cNr ENDIF SET TEXTMERGE ON TO MEMVAR lcMesaje ADDITIVE NOSHOW IF lnNr > 0 \*** Luna <>/<>, urmatoarele inregistrari nu au fost repartizate: <> \ nract debit=credit suma SELECT cNerepartizate SCAN \ <> <>=<> <> <> SELECT cNerepartizate ENDSCAN \<> ENDIF USE IN cNerepartizate SET TEXTMERGE TO ***-------------------- lcSql = [select * FROM mg_flux order by rand] lcCursor = 'cIntermediar' lnSucces = goExecutor.oExecute(lcSql, lcCursor) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") LOOP ENDIF IF (i = lnAnulI * 12 + lnLunaI) AND (j = 1) && in prima luna creez cursorul cFLux &lcCursorFlux && completez sumele pe coloana precedent/curent cumulat IF j = 1 AND m.llPrecedent REPLACE ALL precedent WITH suma IN cFlux ELSE REPLACE ALL curent WITH suma IN cFlux ENDIF && completez sumele defalcat pentru luna curenta REPLACE ALL &lcColoanaLuna WITH suma IN cFlux ELSE && scanez si insumez lnsuma = 0 SELECT cFlux SCAN lcRand = RAND SELECT cIntermediar LOCATE FOR RAND = lcRand IF FOUND() lnsuma = suma SELECT cFlux IF j = 1 AND m.llPrecedent REPLACE precedent WITH precedent + m.lnsuma ELSE REPLACE curent WITH curent + m.lnsuma ENDIF *!* 03.05.2011 REPLACE &lcColoanaLuna WITH m.lnsuma *!* 03.05.2011 ^ ENDIF SELECT cFlux ENDSCAN ENDIF && (i = lnAnulI*12 + lnLunaI) And (j = 1) && in prima luna creez cursorul cFLux USE IN (SELECT('cIntermediar')) *** solduri initiale, finale luna curenta pnSI = 0 pnSF = 0 lcSql = [begin PACK_MG_FLUX.get_SI_balanta(?pnLuna, ?pnAnul, ?@pnSI); end;] lnSucces = goExecutor.oExecute(lcSql) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") RETURN ENDIF lcSql = [begin PACK_MG_FLUX.get_SF_balanta(?pnLuna, ?pnAnul, ?@pnSF); end;] lnSucces = goExecutor.oExecute(lcSql) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") RETURN ENDIF lnDifSoldF = 0 SELECT cFlux REPLACE &lcColoanaLuna WITH pnSI FOR si = 1 IF pnNuCalculeazaTotaluri = 0 && daca se calculeaza totalurile in baza de date compar soldul final calculat cu cel din balanta LOCATE FOR sf = 1 IF FOUND() IF &lcColoanaLuna <> m.pnSF lnDifSoldF = m.pnSF - (&lcColoanaLuna + m.pnSI) && soldul initial nu era inclus in randul calculat ENDIF ENDIF ENDIF REPLACE &lcColoanaLuna WITH m.pnSF FOR sf = 1 *!* Set Textmerge On To Memvar lcMesaje Additive Noshow IF lnDifSoldF <> 0 lcMesaje = lcMesaje + CHR(13) + CHR(10) + STRTRAN(SUBSTR(lcColoanaLuna, 2), "_", " ") + ' DIFERENTA INTRE SOLD FINAL TREZORERIE CALCULAT SI SOLD FINAL DIN BALANTA DE VERIFICARE: ' + ALLTRIM(TRANSFORM(lnDifSoldF, '999 999 999 999.99')) ENDIF *** solduri initiale, finale luna curenta ^ ENDFOR && i = lnAnulI*12 + lnLunaI To lnAnulF*12 + lnLunaF *** solduri initiale, finale cumulat precedent/curent lcSql = [begin PACK_MG_FLUX.get_SI_balanta(?pnLI, ?pnAI, ?@pnSI); end;] lnSucces = goExecutor.oExecute(lcSql) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") RETURN ENDIF lcSql = [begin PACK_MG_FLUX.get_SF_balanta(?pnLF, ?pnAF, ?@pnSF); end;] lnSucces = goExecutor.oExecute(lcSql) IF lnSucces < 0 AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare") RETURN ENDIF lcDifSoldFPrecedent = 0 lcDifSoldFCurent = 0 SELECT cFlux IF j = 1 AND m.llPrecedent REPLACE precedent WITH pnSI FOR si = 1 IF pnNuCalculeazaTotaluri = 0 && daca se calculeaza totalurile in baza de date compar soldul final calculat cu cel din balanta LOCATE FOR sf = 1 IF FOUND() IF precedent <> pnSF lnDifSoldFPrecedent = pnSF - (precedent + pnSI) ENDIF ENDIF ENDIF REPLACE precedent WITH pnSF FOR sf = 1 ELSE REPLACE curent WITH pnSI FOR si = 1 IF pnNuCalculeazaTotaluri = 0 && daca se calculeaza totalurile in baza de date compar soldul final calculat cu cel din balanta LOCATE FOR sf = 1 IF FOUND() IF curent <> pnSF lnDifSoldFCurent = pnSF - (curent + pnSI) && soldul initial nu era inclus in randul calculat ENDIF ENDIF ENDIF REPLACE curent WITH pnSF FOR sf = 1 ENDIF *!* Set Textmerge On To Memvar lcMesaje Additive Noshow IF lnDifSoldFPrecedent <> 0 lcMesaje = lcMesaje + CHR(13) + CHR(10) + 'DIFERENTA INTRE SOLD FINAL TREZORERIE CALCULAT SI SOLD FINAL DIN BALANTA DE VERIFICARE: ' + ALLTRIM(TRANSFORM(lnDifSoldFPrecedent, '999 999 999 999.99')) ENDIF IF lnDifSoldFCurent <> 0 lcMesaje = lcMesaje + CHR(13) + CHR(10) + 'DIFERENTA INTRE SOLD FINAL TREZORERIE CALCULAT SI SOLD FINAL DIN BALANTA DE VERIFICARE: ' + ALLTRIM(TRANSFORM(lnDifSoldFCurent, '999 999 999 999.99')) ENDIF *** solduri initiale, finale cumulat precedent/curent ^ ENDFOR && j lcFisier = gcTempPath + "mesaje.txt" STRTOFILE(lcMesaje, lcFisier) IF !EMPTY(lcMesaje) MODIFY FILE (lcFisier) ENDIF ***------------------------------------------------ SELECT cFlux GO TOP SELECT cFlux lovf = CREATEOBJECT('frm_flux', m.llPrecedent, lcPrecedent, lcCurent) lovf.ADDPROPERTY("lDefalcat", tlDefalcat) *!* 03.05.2011 *** adaug coloane in grid pentru luni defalcat IF m.llDefalcat lnColumnOffset = lovf._grdrow1.COLUMNCOUNT lovf._grdrow1.COLUMNCOUNT = m.lnColumnOffset + (tnAnulF * 12 + tnLunaF) - (tnAnulI * 12 + tnLunaI) + 1 i = 0 FOR iLunaFlux = tnAnulI * 12 + tnLunaI TO tnAnulF * 12 + tnLunaF lnLunaFlux = INT(MOD(m.iLunaFlux, 12)) lnAnFlux = INT(FLOOR(iLunaFlux / 12)) i = i + 1 IF m.lnLunaFlux = 0 m.lnLunaFlux = 12 m.lnAnFlux = m.lnAnFlux - 1 ENDIF lcColoanaLuna = "l" + PADL(m.lnLunaFlux, 2, "0") + [_] + ALLTRIM(STR(m.lnAnFlux)) lnCurentColumnIndex = m.lnColumnOffset + i WITH lovf._grdrow1 .COLUMNS(m.lnCurentColumnIndex).NAME = lcColoanaLuna .&lcColoanaLuna..CONTROLSOURCE = "cFlux." + m.lcColoanaLuna .&lcColoanaLuna..FORMAT = "RK" .&lcColoanaLuna..INPUTMASK = get_mask(14, gnPA) .&lcColoanaLuna..Header1.CAPTION = STRTRAN(SUBSTR(m.lcColoanaLuna, 2), "_", "/") .&lcColoanaLuna..Header1.ALIGNMENT = 2 ENDWITH ENDFOR && iLunaFlux = lnAnulI*12 + lnLunaI To lnAnulF*12 + lnLunaF lovf._grdrow1.cPrecedent.VISIBLE = .F. lovf._grdrow1.cCurent.VISIBLE = .F. *!* lovf._grdrow1.cCurent.Header1.Caption = PADL(INT(tnLunaI), 2, '0') + "/" + ALLTRIM(STR(INT(tnAnulI))) + " - " + PADL(INT(tnLunaF), 2, '0') + "/" + ALLTRIM(STR(INT(tnAnulF))) ENDIF && m.llDefalcat lovf.grid_column_bind() *!* 03.05.2011 ^ lovf.SHOW(1) IF USED('cFlux') USE IN cFlux ENDIF ENDPROC && viz_flux ***------------------------------------------------------------------------------------- PROCEDURE lanseaza_excel_flux PARAMETERS tcalias, tlTip, toGridObject LOCAL loExcelXML AS "ExcelXml" OF "ExcelXml.prg" LOCAL x AS "XL_flux" OF "EXCELX" LOCAL lcFile, lcexcel *:Global OLEAPP LOCAL llEsteExcel llEsteExcel = isComobject("Excel.Application") IF !m.llEsteExcel *CopyToExcelSimple("flux_trezorerie.xls", "", m.tcalias, "", "*", ".T.") loExcelXML = NEWOBJECT("ExcelXml", "ExcelXml.prg") WITH loExcelXML .GridObject = toGridObject .HasFilter = .F. .LockHeader = .F. .SheetName = "Flux Trezorerie" .OpenAfterSaving = .T. lcFile = PUTFILE("Flux trezorerie", "flux_trezorerie", "xls") IF .SAVE(m.lcFile) AMESSAGEBOX("Fisierul s-a salvat!", 64) ELSE AMESSAGEBOX("Fisierul nu s-a salvat!", 48) ENDIF ENDWITH RETURN ENDIF PRIVATE lcTabel *!* llEsteExcel = isComobject("Excel.Application") *!* If !llEsteExcel *!* Do mesaj With "Instalati Microsoft Excel","" *!* Return *!* Endif lcTabel = ALLTRIM(tcalias) *!* lcNumeDirExcel = Addbs(Strtran(CALEFIRMA,"\\","\"))+"Excel\" *!* If !Directory(lcNumeDirExcel) *!* Md (lcNumeDirExcel) *!* ENDIF *!* lcexcel = lcNumeDirExcel +"Flux de trezorerie_"+Sys(2)+".XLS" lcexcel = ADDBS(STRTRAN(gcTempPath, "\\", "\")) + "Flux de trezorerie_" + SYS(2) + ".XLS" x = NEWOBJECT("XL_flux", "EXCELX") && alternatively you can drop this class on a VFP form x.SAVEAS = lcexcel && PART.XLS to be created in your TEMP folder SELECT (lcTabel) DIMENSION x.oWorkSheet[1] && need four pages x.oWorkSheet[1] = "Flux" ADDPROPERTY(x, "lTip", tlTip) x.GO() && remember this calls .populate_pages(). RELEASE x **************************8 OLEAPP = GETOBJECT("", "Excel.Application") IF TYPE('OLEAPP')!= 'O' OLEAPP = CREATEOBJECT("Excel.Application") ENDIF OLEAPP.WorkBooks.OPEN(lcexcel) OLEAPP.VISIBLE = 1 RETURN ENDPROC &&lanseaza_excel_flux ***------------------------------------------------------------------------------------ PROCEDURE viz_formule_flux LPARAMETERS tnModel LOCAL lcSql, lnSucces, lcCursor PRIVATE pcDataOra, pnModel lcCursor = 'cFormule' pcDataOra = Get_Ora(2) && tnModel 1 = FORMULE FLUX MAI VECHI; 2 = FORMULE FLUX CONTAFIN CONPRESS IF EMPTY(tnModel) pnModel = 2 ELSE pnModel = tnModel ENDIF lcSql = [select * from mg_flux_formule where model = ?pnModel order by rand] lnSucces = goExecutor.oExecute(lcSql, lcCursor) IF lnSucces < 0 AMESSAGEBOX(lcSql, 0 + 32, 'Eroare') RETURN ENDIF SELECT cFormule REPLACE ALL comentariu WITH FormulaFlux2Comentariu(debit, 'D', tip, CONT, TOTAL, ftotal) + IIF(!EMPTY(credit), " " + FormulaFlux2Comentariu(credit, 'C', tip, CONT, 0, ""), "") SELECT DISTINCT RAND, denumire FROM cFormule INTO CURSOR cFluxParinte READWRITE SELECT * FROM cFormule INTO CURSOR cFluxCopil READWRITE SELECT cFluxCopil INDEX ON RAND TAG RAND SELECT cFluxParinte SET RELATION TO RAND INTO cFluxCopil ADDITIVE poff = CREATEOBJECT("frm_formule") poff.SHOW(1) USE IN (SELECT('cFluxCopil')) USE IN (SELECT('cFluxParinte')) USE IN (SELECT('cFormule')) ENDPROC && viz_formule_flux ***--------------------------------------------------------------------------------------------- PROCEDURE viz_conturi_flux lcSql = [select cont from mg_flux_conturi order by cont] lnSucces = goExecutor.oExecute(lcSql, "cConturiFlux") IF lnSucces < 0 AMESSAGEBOX(lcSql, 0 + 32, 'Eroare') RETURN ENDIF loFrmConturi = CREATEOBJECT("frm_conturi_flux") loFrmConturi.SHOW(1) USE IN (SELECT('cConturiFlux')) ENDPROC && viz_conturi_flux ***--------------------------------------------------------------------------------------------- PROCEDURE FormulaFlux2Comentariu LPARAMETERS tcFormula, tcDebit_credit, tnTip, tcContTip2, tnTotal, tcFTotal && cFormuleFlux.debit,'D',cFormuleFlux.tip,cFormuleFlux.cont,cFormuleFlux.total,cFormuleFlux.ftotal LOCAL lcFormula, lcDebit_credit, lcCautInc, lcListaConturi, lcListaContAfis, lnTip, lcContTip2, llTotal, lcFTotal IF !EMPTY(NVL(tcDebit_credit, '')) lcDebit_credit = ALLTRIM(UPPER(NVL(tcDebit_credit, ''))) ELSE lcDebit_credit = '' ENDIF IF !EMPTY(NVL(tcFormula, '')) lcFormula = ALLTRIM(NVL(tcFormula, '')) ELSE lcFormula = '' ENDIF IF !EMPTY(NVL(tnTip, 0)) lnTip = tnTip ELSE lnTip = 0 ENDIF IF !EMPTY(NVL(tcContTip2, '')) lcContTip2 = ALLTRIM(NVL(tcContTip2, '')) ELSE lcContTip2 = '' ENDIF STORE '' TO lcListaConturi, lcListaContAfis llTotal = NVL(tnTotal, 0) = 1 IF !EMPTY(NVL(tcFTotal, '')) lcFTotal = ALLTRIM(NVL(tcFTotal, '')) ENDIF IF EMPTY(lcFormula) AND EMPTY(lcFTotal) RETURN '' ENDIF IF !llTotal DO CASE CASE lcDebit_credit = 'D' lcCautInc = [substr(scd,1,3) in (] && [inlist(left(scd,3)] CASE lcDebit_credit = 'C' lcCautInc = [substr(scc,1,3) in (] && [inlist(left(scc,3)] ENDCASE lnInc = AT(lcCautInc, lcFormula) IF lnInc > 0 lcCautSf = [')] lnSF = AT(lcCautSf, lcFormula) ENDIF lnLen = LEN(lcFormula) - LEN(lcCautInc) && 19 lcListaConturi = SUBSTR(lcFormula, LEN(lcCautInc) + 1, lnLen - 1) lcListaConturi = STRTRAN(lcListaConturi, ['], []) lnConturi = GETWORDCOUNT(lcListaConturi, [,]) IF lnConturi = 1 lcCont = GETWORDNUM(lcListaConturi, 1, [,]) lcListaContAfis = lcListaContAfis + lcCont ELSE FOR i = 1 TO lnConturi lcCont = GETWORDNUM(lcListaConturi, i, [,]) DO CASE CASE i = 1 lcListaContAfis = lcListaContAfis + lcCont + [ ] CASE i = 2 lcListaContAfis = lcListaContAfis + [ (] + lcCont + [, ] OTHERWISE lcListaContAfis = lcListaContAfis + lcCont + [, ] ENDCASE ENDFOR lcListaContAfis = SUBSTR(lcListaContAfis, 1, LEN(lcListaContAfis) - 2) lcListaContAfis = lcListaContAfis + [)] ENDIF DO CASE CASE lnTip = 1 DO CASE CASE lcDebit_credit = 'D' lcTraducere = [Platile din perioada selectata de tipul ] + lcListaContAfis + [ = 5xxx.] CASE lcDebit_credit = 'C' lcTraducere = [Incasarile din perioada selectata de tipul 5xxx = ] + lcListaContAfis + [.] ENDCASE CASE lnTip = 2 DO CASE CASE lcDebit_credit = 'D' lcTraducere = [Platile din perioada selectata de tipul ] + lcContTip2 + [ = 5xxx, ] lcTraducere = lcTraducere + [pentru care s-au gasit inregistrari de tipul ] + lcListaContAfis + [ = ] + lcContTip2 + [ in Registrul Jurnal Total.] CASE lcDebit_credit = 'C' lcTraducere = [Incasarile din perioada selectata de tipul 5xxx = ] + lcContTip2 + [, ] lcTraducere = lcTraducere + [pentru care s-au gasit inregistrari de tipul ] + lcContTip2 + [ = ] + lcListaContAfis + [ in Registrul Jurnal Total.] ENDCASE OTHERWISE lcTraducere = '' ENDCASE ENDIF IF llTotal lcTraducere = [Suma randurilor ] + STRTRAN(lcFTotal, 'R', '') *lcTraducere = STRTRAN(lcTraducere, '0', ' ') ENDIF RETURN lcTraducere ENDPROC && FormulaFlux2Comentariu