Rifatta la modifica per il regime agricolo in modo piu' coerente
e convincente, senza usare la struttura _descr_arr, anche perche' in stampa registri non andava un tubo. git-svn-id: svn://10.65.10.50/trunk@3998 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1a87d3753b
commit
a6c7cc383a
@ -1978,6 +1978,11 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
real iva_acq = 0.0;
|
||||
real conguaglio = 0.0;
|
||||
|
||||
// totali per regimi agricoli
|
||||
real acq_noCEE = 0.0;
|
||||
real imp_agr1 = 0.0;
|
||||
real imp_agr2 = 0.0;
|
||||
|
||||
// totali per agenzie viaggio
|
||||
real c_iCEE = 0.0;
|
||||
real c_eCEE = 0.0;
|
||||
@ -2040,8 +2045,24 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
risultato += (_plm->get_real("R0") - _plm->get_real("R1"));
|
||||
res_debt += _plm->get_real("R0");
|
||||
res_cred += _plm->get_real("R1");
|
||||
} // le storie per l'agricolo sono piu' sotto, oltre la fine del do..while()
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// Tiene aggiornata l'iva vendite
|
||||
iva_vend += _plm->get_real("R6");
|
||||
// Tiene aggiornata l'iva acquisti, che andra' rettificata all'uscita
|
||||
// secondo la formula:
|
||||
// iva_acq = iva_acq + iva detraibile calcolata
|
||||
// l'iva detraibile calcolata e' a sua volta fatta cosi'
|
||||
// sum(plm->R11) * { sum(pum->R11) / [sum(pum->R11) + sum(pum->R10)]}
|
||||
// dove plm->R11 = acquisti misti fuori CEE
|
||||
// pum->R10 = tot. imponibile reg agr. 1
|
||||
// pum->R11 = tot. imponibile reg agr. 2
|
||||
iva_acq += _plm->get_real("R7");
|
||||
acq_noCEE += _plm->get_real("R11");
|
||||
imp_agr1 += _pum->get_real("R10");
|
||||
imp_agr2 += _pum->get_real("R11");
|
||||
}
|
||||
detrazioni+= (_plm->get_real("R3") + _plm->get_real("R4"));
|
||||
|
||||
// detrazioni solo non in regime agricolo
|
||||
@ -2151,29 +2172,18 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
} // end ciclo su attivita'
|
||||
|
||||
if (_isagricolo)
|
||||
{ // Ora si deve rettificare risultato in questo modo:
|
||||
// risultato += (cessioni non in reg. agr. - (acq. non in reg. agr - beni amm. + iva detr)
|
||||
// ovvero
|
||||
// risultato += (d._r1 - (d._r2 + d._r10);
|
||||
// Utilizza solo d._r2 perche' gia' non comprensivo dei beni ammortizzabili
|
||||
// Giusto per fare qualcosa di nuovo e non ricalcolare ogni volta gli stessi importi
|
||||
// si reperisce REGAGR da _descr_arr
|
||||
const int items = _descr_arr.items();
|
||||
{
|
||||
real perc; // percentuale di deducibilita'
|
||||
real iva_ded; // iva deducibile
|
||||
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
_DescrItem& d = (_DescrItem&)_descr_arr[i];
|
||||
if (d._flags == REGAGR)
|
||||
{
|
||||
iva_vend = d._r1;
|
||||
iva_acq = d._r2 + d._r10;
|
||||
res_debt += iva_vend;
|
||||
res_cred += iva_acq;
|
||||
risultato += (iva_vend - iva_acq);
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
perc = imp_agr2 /(imp_agr1 + imp_agr2);
|
||||
perc.round(2);
|
||||
iva_ded = acq_noCEE * perc;
|
||||
iva_ded.round(ROUND_LIRA);
|
||||
iva_acq += iva_ded;
|
||||
res_debt += iva_vend;
|
||||
res_cred += iva_acq;
|
||||
risultato += (iva_vend - iva_acq);
|
||||
} // __ end of _isagricolo
|
||||
|
||||
if (month < 13) // va bene anche se differita sommando deltam (che e' 0 normalmente)
|
||||
|
@ -349,7 +349,7 @@ void TLiquidazione_app::describe_agricolo(int month, const char* codatt)
|
||||
d->_r7 += _pum->get_real("R10");
|
||||
d->_r8 += _pum->get_real("R11");
|
||||
}
|
||||
// Aggiungo anche questi, perche' oltre che servire in stampa, servono anche in write_liq()
|
||||
// Aggiungo anche questi per comodita' futura.
|
||||
// in caso di ditta a regime agricolo
|
||||
// alias:
|
||||
// _r9 mantiene la percentuale (gia' arrotondata!)
|
||||
|
Loading…
x
Reference in New Issue
Block a user