diff --git a/cg/cg4304.cpp b/cg/cg4304.cpp index f5385ef79..a23a8a675 100755 --- a/cg/cg4304.cpp +++ b/cg/cg4304.cpp @@ -218,12 +218,6 @@ void TLiquidazione_app::describe_plafond(int month, const char* codatt) d->_r6 = t1; d->_r7 = t2; d->_r8 = t3; break; } - //06/12/1995 - if (t3.sign() < 0) t3 = ZERO; - if (t3 < (t1+t2)) - describe_error("Acquisti in eccesso rispetto al plafond disponibile", - att.cut(5)); - //fine } // for tipo esenzione plafond _descr_arr.add(d); @@ -515,6 +509,22 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt) real cvv = _pim->get_real("R1"); // iva totale real cfi = _pim->get_real("R13"); // imp. falsi corrispettivi real cfv = _pim->get_real("R14"); // iva falsi corrispettivi + // Qui comincia la modifica per l'errore MI3404... + // Giochiamo sopra la particolarita' che se non e' un registro di corrispettivi + // allora se R5 o R6 sono <> 0 significa che trattasi di documento FS, + // che pertanto va stornato dal totale corrispettivi. (Cosi' vuole Vladimiro, + // anche se sono sempre piu' convinto che sia una trojata). + // Va beh, OBBEDISCO. + real ifs(_pim->get_real("R5")); // imp. fatture con scontrino + real vfs(_pim->get_real("R6")); // iva fatture con scontrino + if (!corrisp) + { + d->_r2 -= ifs; // tolgo FS dai corrispettivi + d->_r3 -= vfs; + t2 -= ifs; // idem per i totali + t3 -= vfs; + } + // ... E qui finisce. if (corrisp) { @@ -526,8 +536,6 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt) { // usa R0 e R1 visto che la ventilazione e' gia' // stata calcolata - real ifs(_pim->get_real("R5")); // imp. fatture con scontrino - real vfs(_pim->get_real("R6")); // iva fatture con scontrino d->_r2 += (cvi /* - ifs */); // tolgo FS dai corrispettivi d->_r3 += (cvv /* - vfs */); @@ -736,6 +744,11 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt) _DescrItem* dd = new _DescrItem(ANNUAL); + // MonsterFish: arrotonda alle 1000 LIRE B1,B2,B3,B4 + e1.round(ROUND_MILLELIRE); + e2.round(ROUND_MILLELIRE); + e3.round(ROUND_MILLELIRE); + ris.round(ROUND_MILLELIRE); // prorata if (!_prorata.is_zero()) dd->_f0 |= IS_PRORATA; @@ -1076,7 +1089,7 @@ void TLiquidazione_app::set_plafond(_DescrItem& d) set_print_zero(TRUE); set_row(1,"QUADRO RELATIVO ALLA DISPONIBILITA' ED ALL'UTILIZZO " - "MENSILE DEI PLAFOND"); + "MENSILE DEI PLAFONDS"); set_row(2,""); set_row(3,""); set_row(4,"Art. 8 1° comma lettere a-b@31gDisponibile@48g%r",