Patch level : 10.1032

Files correlati     :  cg34.exe sv1.exe
Ricompilazione Demo : [ ]
Commento            :

Bug 	0001868: Diana 2000 - stampe di operazioni ad esigibilità differita

Il dr. figuccia richiede che tramite stampa vengano evidenziate le fattura ad esigibilità differite di anni precedenti che sono state incassate/pagate nell'anno in corso, e le fatture emesse nell'anno in corso e non saldate.
Sono dati che servono per la dichiarazione iva, quelli che sono calcolati in automatico dall 13° liquidazione a suo parere sono errati perchè non vengono distinti in questo modo

I valori sono evidenziati come un  cui dei totali


git-svn-id: svn://10.65.10.50/branches/R_10_00@22290 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2011-06-20 15:05:02 +00:00
parent 22089a13b3
commit 002a72673a
3 changed files with 36 additions and 4 deletions

View File

@ -175,6 +175,7 @@ public:
_r30, _r31, _r32, _r33; _r30, _r31, _r32, _r33;
TArray _arr; TArray _arr;
TDate _d0; TDate _d0;
real _diff_ven_ap, _diff_ven_ap_iva, _diff_acq_ap, _diff_acq_ap_iva;
_DescrItem(word f) : _f0(0), _f1(0), _f2(0) _DescrItem(word f) : _f0(0), _f1(0), _f2(0)
{ _flags = f; } { _flags = f; }
@ -310,6 +311,8 @@ class TLiquidazione_app : public TPrint_application
bool _is_interactive; // lanciata da menu o da altro prog bool _is_interactive; // lanciata da menu o da altro prog
bool _is_visliq; // lanciata da visualizzazione liquidazione bool _is_visliq; // lanciata da visualizzazione liquidazione
int _monthinatt; // mese inizio attivita' (serve per differita) int _monthinatt; // mese inizio attivita' (serve per differita)
real _diff_ven_ap, _diff_ven_ap_iva, _diff_acq_ap, _diff_acq_ap_iva;
// main cursor // main cursor
TRelation* _rel; TRelation* _rel;

View File

@ -658,8 +658,13 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
real fdiff_iva_acq = ZERO; real fdiff_iva_acq = ZERO;
real fdiffinc_imp_acq = ZERO; real fdiffinc_imp_acq = ZERO;
real fdiffinc_iva_acq = ZERO; real fdiffinc_iva_acq = ZERO;
for (int j = 0; j < 23; j++) _diff_ven_ap = ZERO;
_diff_ven_ap_iva = ZERO;
_diff_acq_ap = ZERO;
_diff_acq_ap_iva = ZERO;
for (int j = 0; j < 23; j++)
{ {
vt_imponibile[j] = ZERO; vt_imponibile[j] = ZERO;
vt_imposta[j] = ZERO; vt_imposta[j] = ZERO;
@ -1978,6 +1983,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
fdiff_iva += diff_iva; fdiff_iva += diff_iva;
fdiffinc_imp += incdiff_imp; fdiffinc_imp += incdiff_imp;
fdiffinc_iva += incdiff_iva; fdiffinc_iva += incdiff_iva;
if (_mov->get_int(MOV_ANNOIVA) < year_int)
{
_diff_ven_ap += incdiff_imp;
_diff_ven_ap_iva += incdiff_iva;
}
} }
else else
{ {
@ -1990,6 +2000,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
fdiff_iva_acq += diff_iva; fdiff_iva_acq += diff_iva;
fdiffinc_imp_acq += incdiff_imp; fdiffinc_imp_acq += incdiff_imp;
fdiffinc_iva_acq += incdiff_iva; fdiffinc_iva_acq += incdiff_iva;
if (_mov->get_int(MOV_ANNOIVA) < year_int)
{
_diff_acq_ap += incdiff_imp;
_diff_acq_ap_iva += incdiff_iva;
}
} }
} }
@ -2099,9 +2114,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
if (percentuale2 != INVALID_PRORATA && percentuale2 != INVALID_PRORATA_ASSERT) if (percentuale2 != INVALID_PRORATA && percentuale2 != INVALID_PRORATA_ASSERT)
aaa -= rr2 ? *rr2 : ZERO; aaa -= rr2 ? *rr2 : ZERO;
prorata = _prorata.calc_prorata(aaa, _year); prorata = _prorata.calc_prorata(aaa, _year);
aaa = fdiffinc_iva_acq;
const real prorata_diff = _prorata.calc_prorata(aaa, _year);
// Somma i vari prorata calcolati per gli anni precedenti // Somma i vari prorata calcolati per gli anni precedenti
prorata += prorata_precedente1 + prorata_precedente2; prorata += prorata_precedente1 + prorata_precedente2;
if (!fdiffinc_iva_acq.is_zero()) if (!fdiffinc_iva_acq.is_zero())
{ {
@ -2110,8 +2127,9 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
prorata += prorata_diffinc_acq; prorata += prorata_diffinc_acq;
fdiffinc_iva_acq -= prorata_diffinc_acq; fdiffinc_iva_acq -= prorata_diffinc_acq;
} }
acquisti_iva -= prorata; // Rettifica acquisti_iva acquisti_iva -= prorata; // Rettifica acquisti_iva
fdiffinc_iva_acq -= prorata_diff; // Rettifica acquisti_iva differiti incassati
} }
look_plm(month, codatt, TRUE); look_plm(month, codatt, TRUE);

View File

@ -979,6 +979,10 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
totdi->_r29 = t29; totdi->_r29 = t29;
totdi->_r32 = t32; totdi->_r32 = t32;
totdi->_r33 = t33; totdi->_r33 = t33;
totdi->_diff_ven_ap = _diff_ven_ap;
totdi->_diff_ven_ap_iva = _diff_ven_ap_iva;
totdi->_diff_acq_ap = _diff_acq_ap;
totdi->_diff_acq_ap_iva = _diff_acq_ap_iva;
} }
// Totali progressivi da registri, comprensivi dei valori per calcolo vol affari. // Totali progressivi da registri, comprensivi dei valori per calcolo vol affari.
if (tot != NULL && issosp) // Setta i valori (e la conseguente stampa della riga) solo se presenti registri in sospensione if (tot != NULL && issosp) // Setta i valori (e la conseguente stampa della riga) solo se presenti registri in sospensione
@ -1823,7 +1827,14 @@ void TLiquidazione_app::set_plm_diff(_DescrItem& d)
if (d._flags == TOT_ROW_D) if (d._flags == TOT_ROW_D)
set_row(rw++,FR("Totale@25g%r@41g%r@91g%r@107g%r"), &(d._r26), &(d._r27), &(d._r30), &(d._r31)); set_row(rw++,FR("Totale@25g%r@41g%r@91g%r@107g%r"), &(d._r26), &(d._r27), &(d._r30), &(d._r31));
else else
{
set_row(rw++,FR("Totale@25g%r@41g%r@91g%r@107g%r"), &(d._r28), &(d._r29), &(d._r32), &(d._r33)); set_row(rw++,FR("Totale@25g%r@41g%r@91g%r@107g%r"), &(d._r28), &(d._r29), &(d._r32), &(d._r33));
if (_isannual)
{
rw++;
set_row(rw++,FR("Totale anni prec. @25g%r@41g%r@91g%r@107g%r"), &(d._diff_ven_ap), &(d._diff_ven_ap_iva), &(d._diff_acq_ap), &(d._diff_acq_ap_iva));
}
}
set_row(rw++,""); set_row(rw++,"");
} }