diff --git a/src/ca/ca3700.cpp b/src/ca/ca3700.cpp index 51df9440a..108b0de8c 100755 --- a/src/ca/ca3700.cpp +++ b/src/ca/ca3700.cpp @@ -1570,8 +1570,7 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp, cur_rmovana.freeze(); const TRectype& rmovana = cur_rmovana.curr(); // const TRectype& movana = rel_rmovana.curr(LF_MOVANA); - const long numreg = rmovana.get_long(RMOVANA_NUMREG); - const TRectype & movana = cache().get(LF_MOVANA, numreg); + TProgress_monitor pi((long)rmovana_items, "Scansione righe movimenti...", true); //aggiunta adolfica di implosione righe movimenti eventualmente ripartite in precedenza.. @@ -1589,6 +1588,7 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp, { //legge la testata iniziale const long numreg = rmovana.get_long(RMOVANA_NUMREG); + const TRectype & movana = cache().get(LF_MOVANA, numreg); //se la testata e' cambiata, allora ha cambiato movana e quindi le righe da compattare sono.. //..quelle che ha gia' messo nell'array delle righe_attuali @@ -1622,23 +1622,22 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp, } else //if(_implode_rows.. metodo standard senza ripartizioni { - for (cur_rmovana = 0; cur_rmovana.pos() < rmovana_items; ++cur_rmovana) + for (cur_rmovana = 0; pi.addstatus(1) && cur_rmovana.pos() < rmovana_items; ++cur_rmovana) { - if (!pi.addstatus(1)) - break; - const TString & cms = cur_rmovana.curr().get(RMOVANA_CODCMS); + const TString & cms = rmovana.get(RMOVANA_CODCMS); + const long numreg = rmovana.get_long(RMOVANA_NUMREG); + const TRectype & movana = cache().get(LF_MOVANA, numreg); - if (cms != _codcms) - { + if (cms == _codcms) + scrive_riga(tmp, rmovana, movana, NULL, log); #ifdef DBG - TString msg; msg << "Mov - Commessa " << _codcms << " - Scartato " << movana.get(MOVANA_DCODNUM) << "." << movana.get_int(MOVANA_DANNO) << "." << movana.get_int(MOVANA_DNDOC) << " - Commessa " << cms; + else + { + TString msg; msg << "Mov - Commessa " << _codcms << " - Scartato " << movana.get(MOVANA_DCODNUM) << "." << movana.get_int(MOVANA_DANNO) << "." << movana.get_int(MOVANA_DNDOC) << " - Commessa " << cms; log.log(2, msg); -#endif - continue; } - - scrive_riga(tmp, rmovana, movana, NULL, log); +#endif } } }