Correzione ai progressivi IVA

git-svn-id: svn://10.65.10.50/trunk@1081 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1995-03-08 13:21:42 +00:00
parent fdfaa20627
commit 2b27fb4ab7

View File

@ -30,7 +30,7 @@ class CG0400_application : public TPrintapp
int _sospmsk, _tipoprog, _livelloprog, _tipo_crmsk, _annoiva, _i; int _sospmsk, _tipoprog, _livelloprog, _tipo_crmsk, _annoiva, _i;
TString _cap,_cofi,_paiva,_ragsoc,_comunefis,_provfis,_viafis,_codivamsk,_codattmsk; TString _cap,_cofi,_paiva,_ragsoc,_comunefis,_provfis,_viafis,_codivamsk,_codattmsk;
//bool _vuoilordi; //bool _vuoilordi;
Importi _mesi[12]; Importi _mesi[13];
public: public:
virtual bool user_create(); virtual bool user_create();
@ -75,7 +75,7 @@ bool CG0400_application::user_destroy()
void CG0400_application::azzera_mesi() void CG0400_application::azzera_mesi()
{ {
for (int i=0; i<12; i++) for (int i=0; i<=12; i++)
{ {
_mesi[i].imponibile = ZERO; _mesi[i].imponibile = ZERO;
_mesi[i].imposta = ZERO; _mesi[i].imposta = ZERO;
@ -98,11 +98,17 @@ void CG0400_application::cerca_i_pim()
if (anno != _annoiva) continue; if (anno != _annoiva) continue;
if (_livelloprog == 1) //riepilogo per aliquota if (_livelloprog == 1) //riepilogo per aliquota
if (codiva.trim() != _codivamsk) continue; {
codiva = codiva.trim();
if (codiva != _codivamsk) continue;
}
if (_livelloprog == 2) //riepilogo per attivita' if (_livelloprog == 2) //riepilogo per attivita'
if (codatt.trim() != _codattmsk) continue; {
codatt = codatt.trim();
if (codatt != _codattmsk) continue;
}
impo = impos = ZERO; impo = impos = ZERO;
@ -120,12 +126,20 @@ void CG0400_application::cerca_i_pim()
break; break;
case vend_norm: case vend_norm:
if (_tipoprog == 2) break; //acquisti if (_tipoprog == 2) break; //acquisti
if (_tipo_crmsk == 1) //nella maschera e' stato richiesto if (_sospmsk == 1) //nella maschera e' stato richiesto
{ //vendite in genere { //vendite in genere
impo += imponibile; impo += imponibile;
impos += imposta; impos += imposta;
} }
break; break;
case vend_simp:
if (_tipoprog == 2) break; //acquisti
if (_sospmsk == 2) //nella maschera e' stato richiesto
{ //vendite in sospensione d'imposta
impo += imponibile;
impos += imposta;
}
break;
case acq_ind_op_es: case acq_ind_op_es:
if (_tipoprog == 1) break; if (_tipoprog == 1) break;
if (_tipo_crmsk == 2) if (_tipo_crmsk == 2)
@ -229,16 +243,13 @@ bool CG0400_application::set_print(int)
if (_tipoprog == 1) if (_tipoprog == 1)
_sospmsk = _msk->get_int(F_TIPOTAB); //vendite in genere; vendite in sospensione d'imposta _sospmsk = _msk->get_int(F_TIPOTAB); //vendite in genere; vendite in sospensione d'imposta
_livelloprog = _msk->get_int(F_LIVELLO); _livelloprog = _msk->get_int(F_LIVELLO);
_codivamsk = _msk->get(F_CODIVA);
_codattmsk = _msk->get(F_ATTIVITA);
//if (_tipoprog == 2)
if (_livelloprog == 1) //si tratta di una aliquota if (_livelloprog == 1) //si tratta di una aliquota
{
_codivamsk = _msk->get(F_CODIVA);
_tipo_crmsk = _msk->get_int(F_TIPOTABE); _tipo_crmsk = _msk->get_int(F_TIPOTABE);
} else //si tratta di una attivita'
else //si tratta di una attivita'
{
_codattmsk = _msk->get(F_ATTIVITA);
_tipo_crmsk = _msk->get_int(F_TIPOTABEL); _tipo_crmsk = _msk->get_int(F_TIPOTABEL);
}
set_real_picture("###.###.###.###"); set_real_picture("###.###.###.###");
set_print_zero(); set_print_zero();
@ -255,7 +266,7 @@ bool CG0400_application::set_print(int)
void CG0400_application::calcola_totali(real& imp, real& imps) void CG0400_application::calcola_totali(real& imp, real& imps)
{ {
for (int i=0; i<12; i++) for (int i=0; i<=12; i++)
{ {
imp += _mesi[i].imponibile; imp += _mesi[i].imponibile;
imps += _mesi[i].imposta; imps += _mesi[i].imposta;