diff --git a/cg/cg2104.cpp b/cg/cg2104.cpp index 4bc34cf86..638444d36 100755 --- a/cg/cg2104.cpp +++ b/cg/cg2104.cpp @@ -239,9 +239,13 @@ bool TPrimanota_application::pag_sheet_handler(TMask_field& f, KEY key) if (key == K_ENTER && m.edit_mode()) { - const real tot = m.get(in_valuta ? SK_TOTDOCVAL : F_TOTALE); + real tot = m.get(in_valuta ? SK_TOTDOCVAL : F_TOTALE); for (int r = pag.n_rate()-1; r >= 0; r--) - imp += pag.tval_rata(r); + imp += in_valuta ? pag.tval_rata(r) : pag.tlit_rata(r); + + imp.round(pag.round(in_valuta)); + tot.round(pag.round(in_valuta)); + if (imp != tot) { const char* const pic = in_valuta ? ".3" : "."; @@ -259,8 +263,10 @@ bool TPrimanota_application::pag_sheet_handler(TMask_field& f, KEY key) const real totlit = m.get(F_TOTALE); imp = ZERO; for (int r = pag.n_rate()-1; r >= 0; r--) - imp += pag.tlit_rata(r); - imp.round(0); + imp += pag.tlit_rata(r); + + imp.round(pag.round(FALSE)); + if (imp != totlit) { const TString is(imp.string("."));