Modifiche per correzione mese 13: corretto confronto tra il mese

ricavato dal TRecfield di PIM e quello corrente nelle funzioni
per l'IVA11. Correzione nella write_liq(): in caso di mese 13,
vanno considerati tutti i mesi precedenti per quanto riguarda
rimborsi, versamenti, rettifiche (memorizzati in LIM).


git-svn-id: svn://10.65.10.50/trunk@5486 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1997-10-29 14:52:58 +00:00
parent 13716d81ca
commit 3bb3075200

View File

@ -1689,11 +1689,11 @@ void TLiquidazione_app::iva11_set_arr_pim(const TString& codatt)
for (_pim->first(); !_pim->eof(); _pim->next())
{
if (_year != *_pim_anno) continue;
if (*_pim_mese != "13") continue;
if (atoi(*_pim_mese) != 13) continue;
cur_att = *_pim_codatt;
cur_att.rtrim(1);
if (codatt != cur_att) continue; // considera solo quelli dell'anno, obviously.
// Must consider current activity too...
// Must consider current activity too...
codiva = *_pim_codiva;
reg = *_pim_codreg;
look_iva(codiva); look_reg(reg); // posiziona la tabella registri e quella IVA
@ -1940,7 +1940,7 @@ void TLiquidazione_app::iva11_set_arr_pim(const TString& codatt)
// ATTENZIONE: solo per i regimi 74ter (ag. viaggio)
for (_plm->first();!_plm->eof();_plm->next())
{
if (_year != *_plm_anno || *_plm_mese == "13") continue;
if (_year != *_plm_anno || atoi(*_plm_mese) != 13) continue;
cur_att = *_plm_codatt;
cur_att.rtrim(1);
if (codatt != cur_att) continue;
@ -2094,9 +2094,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
differita = FALSE;
}
}
// Modifiche per PIM13
int m = (month == 13) ? 13 : 1;
for (; m <= 13; m++)
for (int m = 1; m <= 13; m++)
{
// ciclo su tutti i mesi del caso (1 o 3;
// tutti se annuale)
@ -2105,45 +2104,66 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
look_plm(differita ? 12 : m, att);
bool is_lim = look_lim(_isdifferita ? m+deltam : m);
// gia' conteggiato: prorata
// da conteggiare: IVA vendite ag. viaggio
// a debito: IVA vendite, debito precedente
// a credito: IVA acquisti, ulteriori detrazioni 1 e 2
if (!attivita_agricola)
// Se trattasi di annuale considera solo PLM/PUM del mese 13
if ((month == 13 && m == 13) || month != 13)
{
iva_vend += _plm->get_real("R0");
iva_acq += _plm->get_real("R1");
risultato += (_plm->get_real("R0") - _plm->get_real("R1"));
res_debt += _plm->get_real("R0");
res_cred += _plm->get_real("R1");
}
else
{
// Tiene aggiornata l'iva vendite
iva_vend += _plm->get_real("R6") + _plm->get_real("R5");
// Tiene aggiornata l'iva acquisti, che andra' rettificata all'uscita del mese
// secondo la formula:
// iva_acq = iva_acq + iva detraibile calcolata
// l'iva detraibile calcolata e' a sua volta fatta cosi'
// sum(plm->R11) * { sum(pum->R11) / [sum(pum->R11) + sum(pum->R10)]}
// dove plm->R11 = acquisti misti fuori CEE
// pum->R10 = tot. imponibile reg agr. 1
// pum->R11 = tot. imponibile reg agr. 2
iva_acq += _plm->get_real("R7") + _plm->get_real("R5");
acq_noCEE += _plm->get_real("R11");
imp_agr1 += _pum->get_real("R10");
imp_agr2 += _pum->get_real("R11");
}
detrazioni+= (_plm->get_real("R3") + _plm->get_real("R4"));
// gia' conteggiato: prorata
// da conteggiare: IVA vendite ag. viaggio
// a debito: IVA vendite, debito precedente
// a credito: IVA acquisti, ulteriori detrazioni 1 e 2
if (!attivita_agricola)
{
iva_vend += _plm->get_real("R0");
iva_acq += _plm->get_real("R1");
risultato += (_plm->get_real("R0") - _plm->get_real("R1"));
res_debt += _plm->get_real("R0");
res_cred += _plm->get_real("R1");
}
else
{
// Tiene aggiornata l'iva vendite
iva_vend += _plm->get_real("R6") + _plm->get_real("R5");
// Tiene aggiornata l'iva acquisti, che andra' rettificata all'uscita del mese
// secondo la formula:
// iva_acq = iva_acq + iva detraibile calcolata
// l'iva detraibile calcolata e' a sua volta fatta cosi'
// sum(plm->R11) * { sum(pum->R11) / [sum(pum->R11) + sum(pum->R10)]}
// dove plm->R11 = acquisti misti fuori CEE
// pum->R10 = tot. imponibile reg agr. 1
// pum->R11 = tot. imponibile reg agr. 2
iva_acq += _plm->get_real("R7") + _plm->get_real("R5");
acq_noCEE += _plm->get_real("R11");
imp_agr1 += _pum->get_real("R10");
imp_agr2 += _pum->get_real("R11");
}
detrazioni+= (_plm->get_real("R3") + _plm->get_real("R4"));
// detrazioni solo non in regime agricolo
if (!attivita_agricola)
{
risultato -= (_plm->get_real("R3") + _plm->get_real("R4"));
res_cred += (_plm->get_real("R3") + _plm->get_real("R4"));
}
// detrazioni solo non in regime agricolo
if (!attivita_agricola)
{
risultato -= (_plm->get_real("R3") + _plm->get_real("R4"));
res_cred += (_plm->get_real("R3") + _plm->get_real("R4"));
}
/* totalizza importi 74 ter */
if (_isviaggio)
{
// somma totali per calcolo successivo
c_iCEE += _plm->get_real("R5");
c_eCEE += _plm->get_real("R6");
a_iCEE += _plm->get_real("R7");
a_eCEE += _plm->get_real("R8");
c_mCEE += _plm->get_real("R9");
a_mCEE += _plm->get_real("R10");
a_meCEE += _plm->get_real("R11");
}
} // endif per considerare solo PLM del mese 13
// Le seguenti cose (versamenti, rettifiche e rimborsi)
// vanno considerate per tutti i mesi (tabella lim)
/* se annuale, somma versamenti mesi 1-12
* solo una volta (non per tutte le attivita')
*/
@ -2168,6 +2188,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
rimborsi += _lim->get_real("R1");
res_debt += _lim->get_real("R1");
}
/*
* rettifiche gia' col loro bravo segno
*/
@ -2194,19 +2215,6 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
res_debt += abs(_lim->get_real("R5"));
}
}
/* totalizza importi 74 ter */
if (_isviaggio)
{
// somma totali per calcolo successivo
c_iCEE += _plm->get_real("R5");
c_eCEE += _plm->get_real("R6");
a_iCEE += _plm->get_real("R7");
a_eCEE += _plm->get_real("R8");
c_mCEE += _plm->get_real("R9");
a_mCEE += _plm->get_real("R10");
a_meCEE += _plm->get_real("R11");
}
} // fine ciclo sul mese
// counter attivita' per evitare troppi versamenti