Corretti errori MI0044 MI2009 MI2010 MI2011 MI2008 MI0058 (liquidazione)

Aggiunto controllo per mesi precedenti da ricalcolare


git-svn-id: svn://10.65.10.50/trunk@462 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1994-10-26 11:29:09 +00:00
parent e24268703c
commit 3a5c94cc13
3 changed files with 76 additions and 50 deletions

View File

@ -86,7 +86,7 @@ void CG4300_App::user_create()
_pim_codreg = new TRecfield(*_pim_r,"CODTAB",10,12);
_pim_mese = new TRecfield(*_pim_r,"CODTAB",13,14);
_pim_tipocr = new TRecfield(*_pim_r,"CODTAB",15,15);
_pim_codiva = new TRecfield(*_pim_r,"CODTAB",16,17);
_pim_codiva = new TRecfield(*_pim_r,"CODTAB",16,19);
_ppa_year = new TRecfield(*_ppa_r,"CODTAB",0,3);
_ppa_codatt = new TRecfield(*_ppa_r,"CODTAB",4,9);
_ppa_month = new TRecfield(*_ppa_r,"CODTAB",10,11);

View File

@ -30,6 +30,21 @@ bool CG4300_App::recalc_all()
{
TApplication::set_firm(_nditte->curr().get_long("CODDITTA"));
_prind->addstatus(1);
int need_refresh = FALSE;
if (_recalc != ever)
{
for (int m = 1; m < _month; m++)
{
if (!is_month_ok(m)) continue;
if (!look_lim(m)) need_refresh = TRUE;
else need_refresh |= !(_lim->get_bool("B0"));
}
if (need_refresh)
if (yesno_box("Alcuni mesi precedenti non risultano ricalcolati. E' "
"consigliabile il ricalcolo. Si desidera eseguirlo?"))
_recalc = ever;
}
if (_recalc == ever)
{
for (int m = 1; m < _month; m++)
@ -381,9 +396,15 @@ void CG4300_App::recalc_att(int month, const char* codatt)
{
switch(tipoes_v)
{
case 1: esenti_b1 += imponibile; break;
case 2: esenti_b2 += imponibile; break;
case 3: esenti_b3 += imponibile; break;
case 1:
esenti_b1 += imponibile;
break;
case 2:
esenti_b2 += imponibile;
break;
case 3:
esenti_b3 += imponibile;
break;
}
}
else if (tipoes_a == 14)
@ -449,6 +470,7 @@ void CG4300_App::recalc_att(int month, const char* codatt)
* Calcolo e aggiornamento
* cerca o crea progressivo IVA
*/
look_pim(month, codatt, reg, tipocr_s, codiva, TRUE);
real imp = _pim_r->get_real("R0"); // imponibile
@ -464,8 +486,7 @@ void CG4300_App::recalc_att(int month, const char* codatt)
_pim_r->put("I0",LORDO);
add_vendite(month, reg, imponibile);
}
else
if (corrisp)
else if (corrisp)
{
real perc = _iva->get_real("R0") / CENTO;

View File

@ -291,6 +291,7 @@ void CG4300_App::describe_pims(int month, const char* codatt)
tiporeg tipomov = (tiporeg)_reg->get_long("I0");
bool corrisp = _reg->get_bool("B0");
TString tipoiva = _iva->get("S1");
TString codiva((const char*)(*_pim_codiva));
// se e' corrispettivo da ventilare non
// scrivo un cannolo ripieno visto che e' stato ventilato
@ -705,7 +706,7 @@ void CG4300_App::set_pim(_DescrItem& d)
"@82gImposta@96gImponibile@115gImposta");
set_row(3,"");
}
set_row(d._f0 ? 4 : 1,"%3s %-20s@25g%r %r@58g%r %r@91g%r %r",
set_row(d._f0 ? 4 : 1,"%4s %-20s@25g%r %r@58g%r %r@91g%r %r",
(const char*)d._s1,
(const char*)d._s2,
&(d._r0),
@ -867,6 +868,10 @@ void CG4300_App::set_grand(_DescrItem& d)
iva = abs(iva);
iva.round(_isannual ? ROUND_MILLELIRE : ROUND_LIRA);
// se non c'e' nulla da versare non stampa una minchia
if (!iva.is_zero())
{
if (how == 'c')
{
set_row(rw++,"@23gCREDITO ATTUALE@58g%r",&iva);
@ -892,14 +897,14 @@ void CG4300_App::set_grand(_DescrItem& d)
}
else
{
if (iva.is_zero() || iva >= IVA_DA_RIPORTARE || d._f1)
if (iva >= IVA_DA_RIPORTARE || d._f1)
set_row(rw++,"@23gIVA DA VERSARE@75g%r",&iva);
else
set_row(rw++,"@23gIVA DA VERSARE@85g0 (%s < 50.000)",
(const char*)iva.string("."));
}
}
}
// rapportini per rimborso infraannuale
if (d._arr.items() > 0)
{