From eed8701537cc2194129962f22dce67617a2683ea Mon Sep 17 00:00:00 2001 From: AlexBonazzi Date: Thu, 21 Feb 2019 16:24:39 +0100 Subject: [PATCH] Patch level : 12.0 704 Files correlati : cg4.exe Commento : MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- src/cg/cg4301.cpp | 33 ++++++++++++++++++--------------- src/cg/cg4304.cpp | 30 ++++++++++++++++++------------ 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/src/cg/cg4301.cpp b/src/cg/cg4301.cpp index 896f345c9..deafac616 100755 --- a/src/cg/cg4301.cpp +++ b/src/cg/cg4301.cpp @@ -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",""); diff --git a/src/cg/cg4304.cpp b/src/cg/cg4304.cpp index b07692b47..178473231 100755 --- a/src/cg/cg4304.cpp +++ b/src/cg/cg4304.cpp @@ -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); }