Correzione MI3386.

git-svn-id: svn://10.65.10.50/trunk@3007 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-06-18 09:29:09 +00:00
parent a10725c9f7
commit d0b788810d

View File

@ -676,15 +676,32 @@ real TLiquidazione_app::versamenti_IVA(int month, const char* types, bool intr)
{
//if (_del->get_bool("B0") || _is_visliq) // solo se stampata, a meno
// che non sia per visliq
if (_month == 13)
ret += _del->get_real("R2"); // Questo e' l'importo lordo non arrotondato!!
real importo_dovuto_non_arrotondato(_del->get_real("R2"));
real interessi(_del->get_real("R1"));
real importo_dovuto_arrotondato(_del->get_real("R0"));
real work(importo_dovuto_non_arrotondato);
work.round(ROUND_MILLELIRE);
if (_month == 13 && _freqviva == "T" && importo_dovuto_arrotondato == work)
ret += importo_dovuto_non_arrotondato; // Questo e' l'importo lordo non arrotondato!!
else
ret += _del->get_real("R0");
ret += importo_dovuto_arrotondato;
//gli interessi vengono memorizzati solo se si
//devono pagare (=> nessun controllo su intra)
ret -= _del->get_real("R1"); // al netto degli interessi
// In caso di 13a liq devo fare la somma degli importi netti dovuti, ecco perche' leggo R2,
ret -= interessi; // al netto degli interessi
// In caso di 13a liq e per trimestrali... devo fare la somma
// degli importi netti dovuti, ecco perche' leggo R2,
// perche togliendo poi gli interessi ottengo il dovuto netto!
// Questa casistica vale pero' solo se in R2 c'e' qualcosa(!=0) ed
// e' relativo all'importo presente in R0. Ovvero:
// nel caso si estraggano i versamenti trimestrali, i campi R2
// vengono correttamente compilati. Se poi si modificano a mano i
// valori di R0 (tramite gestione versamenti, visualizzazione o
// calcolo acconti) tale importo non e' piu' consistente, ecco quindi
// il controllo effettuato tra R0 e ROUND(R2). In realta' sarebbe piu'
// oppurtuno che in gestione versamenti, visualizzazione liquidazione e
// calcolo acconti, vi sia la possibilita' di modificare anche R2.
// Tutto cio' e' relativo all'errore MI3386.
}
}
return ret;