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; 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("R4", percentuale1);
_plm->put("R16", percentuale2); _plm->put("R16", percentuale2);
_plm->put("R17", cred_fattrit); _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("R1",rimborsi);
lim.put("R5",rettifiche); lim.put("R5",rettifiche);
lim.put("R17", variazioni_imposta); lim.put("R17", variazioni_imposta);
lim.put("R18", imposta_non_versata); lim.put("R18", imposta_non_versata);
lim.put("R19", crediti_speciali); 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 * false per ditte mensili e liq. annuale
* Ulteriormente smentito e rettificato * Ulteriormente smentito e rettificato
*/ */
bool true_trim = (month == 3 || month == 6 || month == 9); // bool true_trim = (month == 3 || month == 6 || month == 9);
if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4) // if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
|| (month == 13 && !(_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 interesse = interesse_trimestrale(_month);
const real r = risultato - imposta_non_versata; // CM 26-09-2000 const real r = risultato - imposta_non_versata; // CM 26-09-2000
real ivi = r.sign() > 0 ? (r * interesse / CENTO) : ZERO; real ivi = r.sign() > 0 ? (r * interesse / CENTO) : ZERO;
round_al_centesimo(ivi); round_al_centesimo(ivi);
lim.put("R14", ivi); lim.put("R14", ivi);
} lim.put("R10", interesse_trimestrale(_month));
}
//questo serve anche per la visualizzazione e per l'estrazione deleghe //questo serve anche per la visualizzazione e per l'estrazione deleghe
if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4) // if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
|| (month == 13 && !(_isbenzinaro && _gest4)) )) // || (month == 13 && !(_isbenzinaro && _gest4)) )) cambiato 2019
lim.put("R10", interesse_trimestrale(_month)); // lim.put("R10", interesse_trimestrale(_month));
lim.put("R7", tot_cong); // totale conguaglio su tutte le attivita' lim.put("R7", tot_cong); // totale conguaglio su tutte le attivita'
lim.put("R8", versamenti); lim.put("R8", versamenti);
lim.put("R9", vers_int); 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("R1", iva_acq);
_lam->put("R2", cred_prec); _lam->put("R2", cred_prec);
_lam->put("R3", debt_precd); _lam->put("R3", debt_precd);
_lam->put("R5", _imposta_inc_diff_ven); _lam->put("R5", _imposta_inc_diff_ven);
_lam->put("R6", _imposta_inc_cassa_ven); _lam->put("R6", _imposta_inc_cassa_ven);
_lam->put("R7", _imposta_inc_diff_acq); _lam->put("R7", _imposta_inc_diff_acq);
_lam->put("R8", _imposta_inc_cassa_acq); _lam->put("R8", _imposta_inc_cassa_acq);
lim.put("B0",""); 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) if ((e1+e2+e3+e4) > ZERO)
{ {
dd->_f0 |= IS_PRORATA; dd->_f0 |= IS_PRORATA;
} dd->_r18 = _pla->get_real("R18");
}
dd->_r0 = ris; dd->_r0 = ris;
dd->_r1 = e1; dd->_r1 = e1;
dd->_r2 = pr > ZERO ? pr : ZERO; 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->_r7 = e4;
dd->_r8 = e5; dd->_r8 = e5;
dd->_r9 = e6; dd->_r9 = e6;
dd->_r10 = vrc; dd->_r10 = vrc;
t->_arr.add(dd); t->_arr.add(dd);
} }
} }
@ -2809,20 +2810,25 @@ bool TLiquidazione_app::set_annual(_DescrItem& d)
const real perc_det = CENTO - d._r2; const real perc_det = CENTO - d._r2;
_perc_ind_annual = 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 s1 = perc_det.stringa();
const TString16 s2 = d._r2.stringa(); const TString16 s2 = d._r2.stringa();
set_row(row++, FR("%% PRO-RATA (%s%%) ed IVA non detraibile (%s%%)@69g%r"), set_row(row++, FR("%% PRO-RATA (%s%%) ed IVA non detraibile (%s%%)@69g%r"),
(const char*)s1, (const char*)s2, &(d._r6)); (const char*)s1, (const char*)s2, &(d._r6));
const real denom = vol_aff - rev_charge;
set_row(row++,FR("C1 - Operazioni esenti escluse da nr. 1 a 9 e 11 art. 10 @69g%r"), &(d._r1)); const real num = denom - d._r1 - d._r4 - d._r5 + d._r8 - d._r7 + d._r9;
set_row(row++,FR("C2 - Operazioni esenti di cui nr. 11 art. 10 @69g%r"), &(d._r4)); set_row(row++, FR("Numeratore pro-rata @69g%r"), &num);
set_row(row++,FR("C3 - Operazioni esenti da nr. 1 a 9 art. 10 @69g%r"), &(d._r5)); set_row(row++, FR("Denominatore @69g%r"), &denom);
set_row(row++,FR("@6gdi cui cessione beni ammortizzabili @69g%r"), &(d._r8)); // 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("C1A - Operazioni esenti di cui all'art.10 n. 27 quinquies @69g%r"), &(d._r7)); // set_row(row++,FR("C2 - Operazioni esenti di cui nr. 11 art. 10 @69g%r"), &(d._r4));
set_row(row++,FR("@6gdi cui cessione beni ammortizzabili @69g%r"), &(d._r9)); // set_row(row++,FR("C3 - Operazioni esenti da nr. 1 a 9 art. 10 @69g%r"), &(d._r5));
set_row(row++,FR("Totale vendite al fine del calcolo del pro-rata @69g%r"), &vol_aff); // set_row(row++,FR("@6gdi cui cessione beni ammortizzabili @69g%r"), &(d._r8));
set_row(row++,FR("Detraibilità @69g%r%%"), &perc_det); // 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); set_print_zero(false);
} }