diff --git a/ca/ca2200.cpp b/ca/ca2200.cpp index 6a22dc34f..db3ffd9a6 100755 --- a/ca/ca2200.cpp +++ b/ca/ca2200.cpp @@ -249,23 +249,27 @@ bool TRib_movanal_app::explode_rows(const TRecord_array& input_rows, TRecord_arr for (i = 1; i <= rrip.rows(); i++) { - TRectype* newrec = new TRectype(rec); - newrec->put(RMOVANA_NUMRIG, output_rows.rows() + 1); const real imp = distrib.get(); // Legge la quota da distribuire - newrec->put(RMOVANA_IMPORTO, imp); //e la mette nella nuova riga - //poi copia i valori dei campi cdc,cms,fsc,in quelli di tipo ori (nello stesso record) - copia_campo(rec, RMOVANA_CODCCOSTO, *newrec, RMOVANA_CODCCORI); - copia_campo(rec, RMOVANA_CODCMS, *newrec, RMOVANA_CODCMSORI); - copia_campo(rec, RMOVANA_CODFASE, *newrec, RMOVANA_CODFASEORI); - copia_campo(rec, RMOVANA_CODCONTO, *newrec, RMOVANA_CODCONTORI); - //e mette nei campi std i valori che trova nelle righe ripartizione - copia_campo(rrip[i], RRIP_CODCOSTO, *newrec, RMOVANA_CODCCOSTO); - copia_campo(rrip[i], RRIP_CODCMS, *newrec, RMOVANA_CODCMS); - copia_campo(rrip[i], RRIP_CODFASE, *newrec, RMOVANA_CODFASE); - copia_campo(rrip[i], RRIP_CODCONTO, *newrec, RMOVANA_CODCONTO); - output_rows.add_row(newrec); - ho_cambiato_qualchecosa = true; + if (imp != ZERO) + { + TRectype* newrec = new TRectype(rec); + newrec->put(RMOVANA_NUMRIG, output_rows.rows() + 1); + newrec->put(RMOVANA_IMPORTO, imp); //e la mette nella nuova riga + //poi copia i valori dei campi cdc,cms,fsc,in quelli di tipo ori (nello stesso record) + copia_campo(rec, RMOVANA_CODCCOSTO, *newrec, RMOVANA_CODCCORI); + copia_campo(rec, RMOVANA_CODCMS, *newrec, RMOVANA_CODCMSORI); + copia_campo(rec, RMOVANA_CODFASE, *newrec, RMOVANA_CODFASEORI); + copia_campo(rec, RMOVANA_CODCONTO, *newrec, RMOVANA_CODCONTORI); + //e mette nei campi std i valori che trova nelle righe ripartizione + copia_campo(rrip[i], RRIP_CODCOSTO, *newrec, RMOVANA_CODCCOSTO); + copia_campo(rrip[i], RRIP_CODCMS, *newrec, RMOVANA_CODCMS); + copia_campo(rrip[i], RRIP_CODFASE, *newrec, RMOVANA_CODFASE); + copia_campo(rrip[i], RRIP_CODCONTO, *newrec, RMOVANA_CODCONTO); + + output_rows.add_row(newrec); + ho_cambiato_qualchecosa = true; + } } } else //nessuna riga di ripartizione->aggiungo la riga input all'output