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:
angelo 1996-12-12 12:29:31 +00:00
parent 1a87d3753b
commit a6c7cc383a
2 changed files with 35 additions and 25 deletions

View File

@ -1978,6 +1978,11 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
real iva_acq = 0.0; real iva_acq = 0.0;
real conguaglio = 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 // totali per agenzie viaggio
real c_iCEE = 0.0; real c_iCEE = 0.0;
real c_eCEE = 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")); risultato += (_plm->get_real("R0") - _plm->get_real("R1"));
res_debt += _plm->get_real("R0"); res_debt += _plm->get_real("R0");
res_cred += _plm->get_real("R1"); 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+= (_plm->get_real("R3") + _plm->get_real("R4"));
// detrazioni solo non in regime agricolo // detrazioni solo non in regime agricolo
@ -2151,29 +2172,18 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
} // end ciclo su attivita' } // end ciclo su attivita'
if (_isagricolo) 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) real perc; // percentuale di deducibilita'
// ovvero real iva_ded; // iva deducibile
// 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();
for (int i = 0; i < items; i++) perc = imp_agr2 /(imp_agr1 + imp_agr2);
{ perc.round(2);
_DescrItem& d = (_DescrItem&)_descr_arr[i]; iva_ded = acq_noCEE * perc;
if (d._flags == REGAGR) iva_ded.round(ROUND_LIRA);
{ iva_acq += iva_ded;
iva_vend = d._r1; res_debt += iva_vend;
iva_acq = d._r2 + d._r10; res_cred += iva_acq;
res_debt += iva_vend; risultato += (iva_vend - iva_acq);
res_cred += iva_acq;
risultato += (iva_vend - iva_acq);
break;
}
continue;
}
} // __ end of _isagricolo } // __ end of _isagricolo
if (month < 13) // va bene anche se differita sommando deltam (che e' 0 normalmente) if (month < 13) // va bene anche se differita sommando deltam (che e' 0 normalmente)

View File

@ -349,7 +349,7 @@ void TLiquidazione_app::describe_agricolo(int month, const char* codatt)
d->_r7 += _pum->get_real("R10"); d->_r7 += _pum->get_real("R10");
d->_r8 += _pum->get_real("R11"); 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 // in caso di ditta a regime agricolo
// alias: // alias:
// _r9 mantiene la percentuale (gia' arrotondata!) // _r9 mantiene la percentuale (gia' arrotondata!)