Corretta ventilazione trimestrale. Considerava i mesi singolarmente e
poi ne sommava i risultati. Ora fa come l'annuale: considera i mesi globalmente. git-svn-id: svn://10.65.10.50/trunk@4812 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
bd12d42977
commit
b53b8baa81
@ -231,7 +231,8 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
||||
|
||||
// se ricalcola l'annuale si tiene tutte le vendite e corrispettivi di
|
||||
// tutti i lerci mesi
|
||||
if (!(_month == 13 && month > 1))
|
||||
// Analogamente se sta calcolando una trimestrale
|
||||
if (!(_month == 13 && month > 1 || _freqviva == "T" && (month != 4 && month != 7 && month != 10)))
|
||||
{
|
||||
_vend_arr.destroy();
|
||||
_corr_arr.destroy();
|
||||
@ -421,6 +422,7 @@ bool TLiquidazione_app::update_att(int month, const char* codatt,
|
||||
{
|
||||
zero_att(month,codatt);
|
||||
recalc_att(month,codatt);
|
||||
if (_freqviva == "M" || (_freqviva == "T" && month == _month) || _month == 13)
|
||||
recalc_ventilation(month, codatt);
|
||||
recalc_corrispettivi(month, codatt);
|
||||
//13/12/1995
|
||||
|
@ -281,8 +281,8 @@ void TLiquidazione_app::recalc_ventilation(int month, const char* codatt)
|
||||
totacq += vv._totale;
|
||||
}
|
||||
|
||||
const bool is_annual = _month == 13 && month == 13;
|
||||
for (j = 0; is_annual && j < _vend_arr.items(); j++)
|
||||
const bool is_annual_or_trim = (_month == 13 && month == 13) || (_freqviva == "T");
|
||||
for (j = 0; is_annual_or_trim && j < _vend_arr.items(); j++)
|
||||
{
|
||||
_VendItem& vi = (_VendItem&)_vend_arr[j];
|
||||
totven += vi._totale;
|
||||
@ -292,15 +292,15 @@ void TLiquidazione_app::recalc_ventilation(int month, const char* codatt)
|
||||
for (int i = 0; i < _vend_arr.items(); i++)
|
||||
{
|
||||
_VendItem* vi = (_VendItem*)&_vend_arr[i];
|
||||
if (vi->_month != month && !is_annual)
|
||||
if (vi->_month != month && !is_annual_or_trim)
|
||||
continue;
|
||||
|
||||
// questo serve solo per il prospettino di m.
|
||||
if (!is_annual)
|
||||
if (!is_annual_or_trim)
|
||||
totven += vi->_totale;
|
||||
|
||||
// 3.2) calcola percentuali di ripartizione e prepara l'affettatrice
|
||||
TDistrib dst(!is_annual ? vi->_totale : totven,ROUND_LIRA);
|
||||
TDistrib dst(!is_annual_or_trim ? vi->_totale : totven,ROUND_LIRA);
|
||||
for (j = 0; j < _vent_arr.items(); j++)
|
||||
{
|
||||
_VentItem* vv = (_VentItem*)&_vent_arr[j];
|
||||
@ -331,7 +331,7 @@ void TLiquidazione_app::recalc_ventilation(int month, const char* codatt)
|
||||
if ((totven - tlor) == real(1.0))
|
||||
imposta += real(1.0);
|
||||
|
||||
if (is_annual)
|
||||
if (is_annual_or_trim)
|
||||
{
|
||||
// memorizza i dati della ventilazione annuale in un TArray
|
||||
a_item.imposta() = imposta;
|
||||
@ -375,7 +375,7 @@ void TLiquidazione_app::recalc_ventilation(int month, const char* codatt)
|
||||
_pim->rewrite();
|
||||
}
|
||||
}
|
||||
if (is_annual)
|
||||
if (is_annual_or_trim)
|
||||
{
|
||||
// Cazzeggia e riscrive i PIM/PAM/PLM (veid sopra) ripartendo equamente gli importi annuali
|
||||
// tra i vari mesi, tipodet e codici IVA.
|
||||
|
@ -324,8 +324,12 @@ void TLiquidazione_app::describe_ventilation(int month, const char* codatt)
|
||||
if (d->_r1.is_zero() || d->_r0.is_zero())
|
||||
delete d;
|
||||
else
|
||||
{
|
||||
// Questo e' il fantastico moltiplicatore
|
||||
d->_r2 = d->_r1 / d->_r0;
|
||||
_descr_arr.add(d);
|
||||
}
|
||||
}
|
||||
|
||||
void TLiquidazione_app::describe_agricolo(int month, const char* codatt)
|
||||
{
|
||||
@ -1922,8 +1926,7 @@ void TLiquidazione_app::set_ventila(_DescrItem& d)
|
||||
&(d._r0));
|
||||
set_row(5,"@10gTotale dei corrispettivi da ventilare@55g%r",
|
||||
&(d._r1));
|
||||
real m = d._r1 / d._r0;
|
||||
set_row(6,"@10gMoltiplicatore@59g%3.9r",&m);
|
||||
set_row(6,"@10gMoltiplicatore@59g%3.9r",&(d._r2));
|
||||
set_row(7,"");
|
||||
set_row(8,"@10gCod.");
|
||||
set_row(9,"@10gIVA@17gDescrizione@48gAcquisti"
|
||||
|
Loading…
x
Reference in New Issue
Block a user