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_codreg = new TRecfield(*_pim_r,"CODTAB",10,12);
_pim_mese = new TRecfield(*_pim_r,"CODTAB",13,14); _pim_mese = new TRecfield(*_pim_r,"CODTAB",13,14);
_pim_tipocr = new TRecfield(*_pim_r,"CODTAB",15,15); _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_year = new TRecfield(*_ppa_r,"CODTAB",0,3);
_ppa_codatt = new TRecfield(*_ppa_r,"CODTAB",4,9); _ppa_codatt = new TRecfield(*_ppa_r,"CODTAB",4,9);
_ppa_month = new TRecfield(*_ppa_r,"CODTAB",10,11); _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")); TApplication::set_firm(_nditte->curr().get_long("CODDITTA"));
_prind->addstatus(1); _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) if (_recalc == ever)
{ {
for (int m = 1; m < _month; m++) for (int m = 1; m < _month; m++)
@ -381,9 +396,15 @@ void CG4300_App::recalc_att(int month, const char* codatt)
{ {
switch(tipoes_v) switch(tipoes_v)
{ {
case 1: esenti_b1 += imponibile; break; case 1:
case 2: esenti_b2 += imponibile; break; esenti_b1 += imponibile;
case 3: esenti_b3 += imponibile; break; break;
case 2:
esenti_b2 += imponibile;
break;
case 3:
esenti_b3 += imponibile;
break;
} }
} }
else if (tipoes_a == 14) else if (tipoes_a == 14)
@ -449,6 +470,7 @@ void CG4300_App::recalc_att(int month, const char* codatt)
* Calcolo e aggiornamento * Calcolo e aggiornamento
* cerca o crea progressivo IVA * cerca o crea progressivo IVA
*/ */
look_pim(month, codatt, reg, tipocr_s, codiva, TRUE); look_pim(month, codatt, reg, tipocr_s, codiva, TRUE);
real imp = _pim_r->get_real("R0"); // imponibile 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); _pim_r->put("I0",LORDO);
add_vendite(month, reg, imponibile); add_vendite(month, reg, imponibile);
} }
else else if (corrisp)
if (corrisp)
{ {
real perc = _iva->get_real("R0") / CENTO; 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"); tiporeg tipomov = (tiporeg)_reg->get_long("I0");
bool corrisp = _reg->get_bool("B0"); bool corrisp = _reg->get_bool("B0");
TString tipoiva = _iva->get("S1"); TString tipoiva = _iva->get("S1");
TString codiva((const char*)(*_pim_codiva));
// se e' corrispettivo da ventilare non // se e' corrispettivo da ventilare non
// scrivo un cannolo ripieno visto che e' stato ventilato // scrivo un cannolo ripieno visto che e' stato ventilato
@ -700,12 +701,12 @@ void CG4300_App::set_pim(_DescrItem& d)
if (d._f0) // e' il primo if (d._f0) // e' il primo
{ {
// intestazioncina // intestazioncina
set_row(1,"Cod.@41gVENDITE@71gCORRISPETTIVI@106gACQUISTI"); set_row(1," Cod.@41gVENDITE@71gCORRISPETTIVI@106gACQUISTI");
set_row(2,"IVA Descrizione@30gImponibile@49gImposta@63gImponibile" set_row(2," IVA Descrizione@30gImponibile@49gImposta@63gImponibile"
"@82gImposta@96gImponibile@115gImposta"); "@82gImposta@96gImponibile@115gImposta");
set_row(3,""); 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._s1,
(const char*)d._s2, (const char*)d._s2,
&(d._r0), &(d._r0),
@ -867,6 +868,10 @@ void CG4300_App::set_grand(_DescrItem& d)
iva = abs(iva); iva = abs(iva);
iva.round(_isannual ? ROUND_MILLELIRE : ROUND_LIRA); 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') if (how == 'c')
{ {
set_row(rw++,"@23gCREDITO ATTUALE@58g%r",&iva); set_row(rw++,"@23gCREDITO ATTUALE@58g%r",&iva);
@ -892,14 +897,14 @@ void CG4300_App::set_grand(_DescrItem& d)
} }
else 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); set_row(rw++,"@23gIVA DA VERSARE@75g%r",&iva);
else else
set_row(rw++,"@23gIVA DA VERSARE@85g0 (%s < 50.000)", set_row(rw++,"@23gIVA DA VERSARE@85g0 (%s < 50.000)",
(const char*)iva.string(".")); (const char*)iva.string("."));
} }
} }
}
// rapportini per rimborso infraannuale // rapportini per rimborso infraannuale
if (d._arr.items() > 0) if (d._arr.items() > 0)
{ {