diff --git a/cg/cg2102.cpp b/cg/cg2102.cpp index 1e20d59d2..c4cab45ce 100755 --- a/cg/cg2102.cpp +++ b/cg/cg2102.cpp @@ -1248,8 +1248,24 @@ bool TPrimanota_application::iva_notify(TSheet_field& iva, int r, KEY k) app().calcola_imp(); // Calcola imponibili } - if (app().is_fattura() && m.insert_mode()) - app().set_scadenze(m); // Ricalcola rate + if (app().is_fattura() && m.insert_mode()) + { + bool rec = TRUE; + TPagamento& pag = app().pagamento(); + real imposta, imponibile; + if (pag.in_valuta()) + { + imposta = m.get_real(F_IMPOSTE) / pag.cambio(); imposta.round(3); + imponibile = m.get_real(SK_TOTDOCVAL) - imposta; + } + else + { + imposta = m.get_real(F_IMPOSTE); + imponibile = m.get_real(F_TOTALE) - imposta; + } + rec = (pag.imposta() != imposta || pag.imponibile() != imponibile); + if (rec) app().set_scadenze(m); // Ricalcola rate + } } return TRUE; }