Correzione errore MI2364 relativo al calcolo volume d'affari -B3 - NS:

non discriminava i corrispettivi.
Corretti errori correlati al precedente: MI3572 e MI3574.
Corretto errore MI3573 relativo all'errato aggiornamento in annuale
dell'iva acquisti (sottraeva il prorata pagato nell'anno).
Corretto errore MI3575 relativo all'arrotondamento ad una lira del
prorata calcolato nel periodo.


git-svn-id: svn://10.65.10.50/trunk@5654 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1997-11-21 11:09:35 +00:00
parent c9b3b83f27
commit 05fab9299b

View File

@ -1325,6 +1325,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
if (!_prorata.is_zero() && month != 13)
{
prorata = acquisti_iva * (_prorata / CENTO);
prorata.round(ROUND_LIRA);
acquisti_iva -= prorata;
}
look_plm(month, codatt, TRUE);
@ -2635,7 +2636,7 @@ void TLiquidazione_app::recalc_annual(const char* att)
// Per avere un risultato corretto, si deve totalizzare PIM->R3 per codice iva
// e quindi effettuare lo scorporo dell'imponibile e aggiungere al relativo volume d'affari
TAssoc_array corr_ann;
_CorrItem cx,*cc;
_CorrItem *cc;
bool is_key;
for (_pim->first(); !_pim->eof(); _pim->next())
@ -2648,7 +2649,7 @@ void TLiquidazione_app::recalc_annual(const char* att)
reg = *_pim_codreg;
look_iva(codiva); look_reg(reg);
tiva = _iva->get("S1");
int biva = (int)_iva->get_long("I3");
const bool b3 = _iva->get("S2") == "B3";
tiporeg treg = (tiporeg)_reg->get_long("I0");
const bool corrisp = _reg->get_bool("B0");
const bool simp = _reg->get_bool("B1");
@ -2657,28 +2658,27 @@ void TLiquidazione_app::recalc_annual(const char* att)
a13 = _pim->get("S0");
imp_a13 = a13.get(0);
imp_ifs -= imp_af + imp_a13; // Toglie le autofatture e le op. A13
if (corrisp)
{
imp_ifs += _pim->get_real("R5"); // Se corrisp. aggiunge le FS
is_key = corr_ann.is_key(codiva);
cx._totale = 0;
_CorrItem& ca = is_key ? (_CorrItem&) corr_ann[codiva] : cx;
ca._totale += _pim->get_real("R3");
if (!is_key) // se non c'e' lo aggiunge
{
ca._aliquota = _iva->get_real("R0")/CENTO; // Se e' nuovo setta l'aliquota
corr_ann.add(codiva,ca);
}
}
if ( // ESCLUSI:
strcmp(att,*_pim_codatt) != 0 ||
treg != vendita || // non vendite
tipocr == 4 || // cessioni beni ammortizzabili
tiva == "NS" || // non soggetti
biva == 3 || // bi tre
b3 || // bi tre
simp) // sospensione di imposta
continue;
if (corrisp)
{
imp_ifs += _pim->get_real("R5"); // Se corrisp. aggiunge le FS
is_key = corr_ann.is_key(codiva);
if (!is_key) // Aggiunge se non esiste
corr_ann.add(codiva, (_CorrItem*) new _CorrItem,is_key);
_CorrItem& ca = (_CorrItem&) corr_ann[codiva];
ca._totale += _pim->get_real("R3");
if (!is_key) // se non c'e' lo aggiunge
ca._aliquota = _iva->get_real("R0")/CENTO; // Se e' nuovo setta l'aliquota
}
if (tipoatt == 1)
volaff1 += imp_ifs;
else
@ -2725,8 +2725,8 @@ void TLiquidazione_app::recalc_annual(const char* att)
//real iv = _plm->get_real("R1"); // Iva acquisti annuale
//iv -= pro_pag;
iva_acq -= pro_pag; // Si sottraggano i prorata pagati
_plm->put("R1",iva_acq); // Si riscriva il tutto
_plm->rewrite();
//_plm->put("R1",iva_acq); // Si riscriva il tutto
//_plm->rewrite();
}
_pla->put("R0", vendite);