Patch level : 12.0 704

Files correlati     : cg4.exe
Commento            :

Modificato salvataggio percentuale pro-rata (diana2000) per sistemare si puo azzerare il campo R12 della tabella PLM del mese in oggetto (c'è 1999) o ricalcolare la liquidazione
Va provato anche con un pro-rata per verificare che salvi la % giusta.

Modificato prospetto pro-rata annuale.

Modificato il calcolo interessi oer i trimestrali. Ora anche a dicembre (Pastore).
This commit is contained in:
AlexBonazzi 2019-02-21 16:24:39 +01:00
parent 6fcfd8a10e
commit eed8701537
2 changed files with 36 additions and 27 deletions

View File

@ -2981,7 +2981,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
acquisti_iva += agr_detIA;
}
_plm->put("R12", _prorata.percentuale(_year));
_plm->put("R12", _prorata.percentuale(_year) != INVALID_PRORATA ? _prorata.percentuale(_year) : ZERO);
_plm->put("R4", percentuale1);
_plm->put("R16", percentuale2);
_plm->put("R17", cred_fattrit);
@ -4379,7 +4379,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
lim.put("R1",rimborsi);
lim.put("R5",rettifiche);
lim.put("R17", variazioni_imposta);
lim.put("R17", variazioni_imposta);
lim.put("R18", imposta_non_versata);
lim.put("R19", crediti_speciali);
}
@ -4391,22 +4391,25 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
* false per ditte mensili e liq. annuale
* Ulteriormente smentito e rettificato
*/
bool true_trim = (month == 3 || month == 6 || month == 9);
if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
|| (month == 13 && !(_isbenzinaro && _gest4)) ))
{
// bool true_trim = (month == 3 || month == 6 || month == 9);
// if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
// || (month == 13 && !(_isbenzinaro && _gest4)) )) // cambiato 2019
if (_isintr && (month == 3 || month == 6 || month == 9 || month == 12 || month ==13))
{
const real interesse = interesse_trimestrale(_month);
const real r = risultato - imposta_non_versata; // CM 26-09-2000
real ivi = r.sign() > 0 ? (r * interesse / CENTO) : ZERO;
round_al_centesimo(ivi);
lim.put("R14", ivi);
}
lim.put("R10", interesse_trimestrale(_month));
}
//questo serve anche per la visualizzazione e per l'estrazione deleghe
if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
|| (month == 13 && !(_isbenzinaro && _gest4)) ))
lim.put("R10", interesse_trimestrale(_month));
// if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
// || (month == 13 && !(_isbenzinaro && _gest4)) )) cambiato 2019
// lim.put("R10", interesse_trimestrale(_month));
lim.put("R7", tot_cong); // totale conguaglio su tutte le attivita'
lim.put("R8", versamenti);
lim.put("R9", vers_int);
@ -4429,10 +4432,10 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
_lam->put("R1", iva_acq);
_lam->put("R2", cred_prec);
_lam->put("R3", debt_precd);
_lam->put("R5", _imposta_inc_diff_ven);
_lam->put("R6", _imposta_inc_cassa_ven);
_lam->put("R7", _imposta_inc_diff_acq);
_lam->put("R8", _imposta_inc_cassa_acq);
_lam->put("R5", _imposta_inc_diff_ven);
_lam->put("R6", _imposta_inc_cassa_ven);
_lam->put("R7", _imposta_inc_diff_acq);
_lam->put("R8", _imposta_inc_cassa_acq);
lim.put("B0","");

View File

@ -1197,7 +1197,8 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
if ((e1+e2+e3+e4) > ZERO)
{
dd->_f0 |= IS_PRORATA;
}
dd->_r18 = _pla->get_real("R18");
}
dd->_r0 = ris;
dd->_r1 = e1;
dd->_r2 = pr > ZERO ? pr : ZERO;
@ -1208,7 +1209,7 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
dd->_r7 = e4;
dd->_r8 = e5;
dd->_r9 = e6;
dd->_r10 = vrc;
dd->_r10 = vrc;
t->_arr.add(dd);
}
}
@ -2809,20 +2810,25 @@ bool TLiquidazione_app::set_annual(_DescrItem& d)
const real perc_det = CENTO - d._r2;
_perc_ind_annual = d._r2;
const real vol_aff = d._r0;
real vol_aff = d._r0;
const real rev_charge = d._r18;
const TString16 s1 = perc_det.stringa();
const TString16 s2 = d._r2.stringa();
set_row(row++, FR("%% PRO-RATA (%s%%) ed IVA non detraibile (%s%%)@69g%r"),
(const char*)s1, (const char*)s2, &(d._r6));
set_row(row++,FR("C1 - Operazioni esenti escluse da nr. 1 a 9 e 11 art. 10 @69g%r"), &(d._r1));
set_row(row++,FR("C2 - Operazioni esenti di cui nr. 11 art. 10 @69g%r"), &(d._r4));
set_row(row++,FR("C3 - Operazioni esenti da nr. 1 a 9 art. 10 @69g%r"), &(d._r5));
set_row(row++,FR("@6gdi cui cessione beni ammortizzabili @69g%r"), &(d._r8));
set_row(row++,FR("C1A - Operazioni esenti di cui all'art.10 n. 27 quinquies @69g%r"), &(d._r7));
set_row(row++,FR("@6gdi cui cessione beni ammortizzabili @69g%r"), &(d._r9));
set_row(row++,FR("Totale vendite al fine del calcolo del pro-rata @69g%r"), &vol_aff);
set_row(row++,FR("Detraibilità @69g%r%%"), &perc_det);
const real denom = vol_aff - rev_charge;
const real num = denom - d._r1 - d._r4 - d._r5 + d._r8 - d._r7 + d._r9;
set_row(row++, FR("Numeratore pro-rata @69g%r"), &num);
set_row(row++, FR("Denominatore @69g%r"), &denom);
// set_row(row++,FR("C1 - Operazioni esenti escluse da nr. 1 a 9 e 11 art. 10 @69g%r"), &(d._r1));
// set_row(row++,FR("C2 - Operazioni esenti di cui nr. 11 art. 10 @69g%r"), &(d._r4));
// set_row(row++,FR("C3 - Operazioni esenti da nr. 1 a 9 art. 10 @69g%r"), &(d._r5));
// set_row(row++,FR("@6gdi cui cessione beni ammortizzabili @69g%r"), &(d._r8));
// set_row(row++,FR("C1A - Operazioni esenti di cui all'art.10 n. 27 quinquies @69g%r"), &(d._r7));
// set_row(row++,FR("@6gdi cui cessione beni ammortizzabili @69g%r"), &(d._r9));
// set_row(row++, FR("Volume d'affari @69g%r"), &vol_aff);
// set_row(row++, FR("Totale vendite al fine del calcolo del pro-rata @69g%r"), &vol_aff);
set_row(row++,FR("Detraibilità @69g%r%%"), &perc_det);
set_print_zero(false);
}