diff --git a/src/cg/cg0500.cpp b/src/cg/cg0500.cpp index 37b15b65f..ba1baa09d 100755 --- a/src/cg/cg0500.cpp +++ b/src/cg/cg0500.cpp @@ -363,9 +363,15 @@ bool TCaus_app::tipodoc_hndl (TMask_field& f, KEY k) if (codreg.full()) { TRegistro registro(codreg, app().anno_iva()); + if (registro.name().empty()) - return f.error_box(FR("Non esiste il registro %s per l'anno %d"), - (const char*)codreg, app().anno_iva()); + { + TRegistro registro_prec(codreg, app().anno_iva() - 1); + + if (registro_prec.name().empty()) + return f.error_box(FR("Non esiste il registro %s per l'anno %d"), + (const char*)codreg, app().anno_iva()); + } } app().mostra_campi(); diff --git a/src/cg/cg0500a.uml b/src/cg/cg0500a.uml index 9f8196d2f..89a922b78 100755 --- a/src/cg/cg0500a.uml +++ b/src/cg/cg0500a.uml @@ -104,7 +104,7 @@ BEGIN OUTPUT F_CORRISP B0 OUTPUT F_DES_REG S0 WARNING "Registro assente o non compatibile col tipo documento" - CHECKTYPE REQUIRED + CHECKTYPE SEARCH FLAGS "UZ" END diff --git a/src/cg/cg4301.cpp b/src/cg/cg4301.cpp index fd62043ae..4a6c09f87 100755 --- a/src/cg/cg4301.cpp +++ b/src/cg/cg4301.cpp @@ -2211,9 +2211,17 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & } // __end of _agricolo if (tipodet == 1) // acquisti indeducibili su ricavi esenti art. 10 - { - acq_ies += imponibile; - acq_ies_iva += imposta; + { + if (is_reverse_charge(_mov->curr())) + { + acquisti += imponibile; + acquisti_iva += imposta; + } + else + { + acq_ies += imponibile; + acq_ies_iva += imposta; + } } if (tipodet == 3) // passaggi interni (solo per ventilaz) @@ -3989,7 +3997,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts) { real debiti = res_debt; round_imposta(debiti); real crediti = res_cred; round_imposta(crediti); - const real risul = debiti - crediti; + real risul = debiti - crediti; TRectype lim = get_lim(month+deltam); const real cred_util_F24 = lim.get_real("R16"); @@ -3997,6 +4005,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts) ((_freqviva == "T") && (month == 3))) { risultato += cred_prec; + risul += cred_prec; cred_prec = ZERO; } credito_utilizzabile = credito_utilizzabile_inizio_anno;