diff --git a/src/cg/cg4301.cpp b/src/cg/cg4301.cpp index 9297de89b..2517e1d81 100755 --- a/src/cg/cg4301.cpp +++ b/src/cg/cg4301.cpp @@ -1184,7 +1184,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & #ifdef DBG const long nr = _mov->get_long(MOV_NUMREG); - if (nr == 92218) + if (nr == 30559) int i = 1 ; #endif @@ -1459,7 +1459,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & #ifdef DBG const long nr = _mov->get_long(MOV_NUMREG); - if (nr == 29167 || nr == 29171 ) + if (nr == 30559 || nr == 29171 ) int i = 1 ; #endif @@ -1480,10 +1480,14 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & if (diff_totr == ZERO) continue; - if (bRowIsMovDiff && tm == tm_fattura) + + TDate datafat; + + if (bRowIsMovDiff && tm == tm_fattura) { const TDate datareg = _mov->get(MOV_DATAREG); + datafat = datareg; sezfat = tipomov == vendita ? 'D' : 'A'; id.put(RMI_NUMREG, _rmoviva->get(RMI_NUMREG)); id.put(RMI_NUMRIG, _rmoviva->get(RMI_NUMRIG)); @@ -1544,7 +1548,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & error_box("Errore %d in creazione record IVADIFF", id.status()); } - id.put(MOV_DATAREG, _mov->get(MOV_DATADOC)); + TDate datareg = _mov->get(MOV_DATADOC); + + if (datareg < datafat) + datareg = datafat; + id.put(MOV_DATAREG, datareg); CHECKD(rmi_tipoatt > 0, "Invalid tipo att ", rmi_tipoatt); id.put("TIPOATT", rmi_tipoatt); id.put("TIPOIVA", tipomov == 2 ? 2 : 1); @@ -1574,6 +1582,9 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & d = rp.get(PART_DATADOC); if (!d.ok()) d = rp.get(PART_DATAREG); + if (d < datafat) + d = datafat; + id.put("DATAREGP", d); id.put("ANNOLIQ", d.year()); pagtmp = p.importo_pagsca(pagsca); diff --git a/src/cg/cg4400.cpp b/src/cg/cg4400.cpp index ed0af0e6e..7c5551b04 100755 --- a/src/cg/cg4400.cpp +++ b/src/cg/cg4400.cpp @@ -2089,17 +2089,15 @@ bool TStampa_registri_app::print_IVAxCassa(int da_month, int a_month) riga.put(format("%6ld", rec.get_long(MOV_NUMREG)), 125); pr.print(riga); - if(id.get(ID_INDETR).as_bool()) + if(!id.get(ID_INDETR).as_bool()) { - _riga_prospettoXcassa.add_riga(imponibile, imposta, ZERO, ZERO, ZERO, ZERO, codiva); break; - } - else switch (tipodiff) { - case 1: _riga_prospettoXcassa.add_riga(ZERO, ZERO, imponibile, imposta, ZERO, ZERO, codiva); break; - case 2: _riga_prospettoXcassa.add_riga(ZERO, ZERO, ZERO, ZERO, imponibile, imposta, codiva); break; - default: break; + case 1: _riga_prospettoXcassa.add_riga(ZERO, ZERO, imponibile, imposta, ZERO, ZERO, codiva); break; + case 2: _riga_prospettoXcassa.add_riga(ZERO, ZERO, ZERO, ZERO, imponibile, imposta, codiva); break; + default: break; } + } } } else