diff --git a/src/ps/ps0713800.cpp b/src/ps/ps0713800.cpp index ad110dfc8..3eaae4135 100644 --- a/src/ps/ps0713800.cpp +++ b/src/ps/ps0713800.cpp @@ -12,6 +12,15 @@ #include "ps0713800a.h" + +/* Utility */ + +bool regSpec(TString codcaus) +{ + return cache().get(LF_CAUSALI, codcaus, "REGSPIVA") != "X"; +} + + /////////////////////////////////// //// TEsportaIva_msk //// /////////////////////////////////// @@ -311,7 +320,7 @@ void TEsportaIva_msk::fill() if (!pi.add_status()) break; - if(get_bool(B_SOLRITFIS) && rmoviva.get("23.RITFIS").as_real() <= ZERO) continue; + if(get_bool(B_SOLRITFIS) && rmoviva.get("23.RITFIS").as_real() <= ZERO && !regSpec(rmoviva.get("23.CODCAUS").as_string())) continue; TCursor* i = rmoviva.cursor(); int k = i->pos(); @@ -534,7 +543,7 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const if (!pi.add_status()) break; - if(m.get_bool(B_SOLRITFIS) && rmoviva.get("23.RITFIS").as_real() <= ZERO) continue; + if(m.get_bool(B_SOLRITFIS) && rmoviva.get("23.RITFIS").as_real() <= ZERO && !regSpec(rmoviva.get("23.CODCAUS").as_string())) continue; TDate last_data_pag; const long numreg = rmoviva.get(RMI_NUMREG).as_int();