From f645b800e0d6ad7082288d7a2d11675f583b37cf Mon Sep 17 00:00:00 2001 From: pirro Date: Thu, 2 Mar 1995 11:52:18 +0000 Subject: [PATCH] Correzione al ricalcolo saldi git-svn-id: svn://10.65.10.50/trunk@1068 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg4100.cpp | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/cg/cg4100.cpp b/cg/cg4100.cpp index 887208f04..35a35837e 100755 --- a/cg/cg4100.cpp +++ b/cg/cg4100.cpp @@ -362,17 +362,32 @@ bool CG4100_App::sort_sal() sal.reset(); sal.set_anno_es(year); sal.clear_saldi(year); + long numreg = 0L; + bool apertura = FALSE, provvis = FALSE; + TDate datareg; + while (!rmov.eof()) { if (_year == rmov.get(RMV_ANNOES)) { - const long numreg = rmov.get_long(RMV_NUMREG); + numreg = rmov.get_long(RMV_NUMREG); gruppo = rmov.get_int(RMV_GRUPPO); conto = rmov.get_int(RMV_CONTO); sottoconto = rmov.get_long(RMV_SOTTOCONTO); if (numreg != oldnumreg) { + if (oldnumreg !=0) + { + sal.set_anno_es(atoi(_year)); + sal.set_movap(apertura); + sal.set_movprovv(provvis); + sal.set_data_ulmov(datareg); + sal.set_num_ulmov(oldnumreg); + if (sal.items() > 0) + sal.registra(); + sal.reset(); + } oldnumreg = numreg; mov.zero(); mov.put(MOV_NUMREG, numreg); @@ -388,27 +403,26 @@ bool CG4100_App::sort_sal() causali.put(CAU_CODCAUS, codcaus); causali.read(); CHECK(causali.good(),"Archivi causali e movimenti inconsistenti"); + apertura = causali.get(CAU_MOVAP) == "A"; } + else apertura = FALSE; + provvis = mov.get(MOV_PROVVIS).not_empty(); + datareg = mov.get_date(MOV_DATAREG); } const char sezione = rmov.get(RMV_SEZIONE)[0]; real importo(rmov.get(RMV_IMPORTO)); - sal.set_movap(causali.get(CAU_MOVAP) == "A"); - sal.set_movprovv(mov.get(MOV_PROVVIS).not_empty()); - sal.set_data_ulmov(mov.get_date(MOV_DATAREG)); - sal.set_num_ulmov(numreg); sal.aggiorna(gruppo, conto, sottoconto, importo, sezione); - if (sal.items() > MAX_CNT) - { - sal.registra(); - sal.reset(); - sal.set_anno_es(atoi(_year)); - } } rmov.next(); prnd.addstatus(1); do_events(); } + sal.set_anno_es(atoi(_year)); + sal.set_movap(apertura); + sal.set_movprovv(provvis); + sal.set_data_ulmov(datareg); + sal.set_num_ulmov(oldnumreg); if (sal.items() > 0) sal.registra(); remove("__sal__.sav");