diff --git a/src/cg/cg4301.cpp b/src/cg/cg4301.cpp index 1a0adccbe..1339f5374 100755 --- a/src/cg/cg4301.cpp +++ b/src/cg/cg4301.cpp @@ -2913,11 +2913,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & // Somma i vari prorata calcolati per gli anni precedenti prorata += prorata_precedente1 + prorata_precedente2; - - acquisti_iva -= prorata; // Rettifica acquisti_iva - - prorata += prorata_diff; - fdiffinc_iva_acq -= prorata_diff; // Rettifica acquisti_iva differiti incassati + prorata += prorata_diff; + if (!lia.get_bool("B7")) + prorata = ZERO; + acquisti_iva -= prorata; // Rettifica acquisti_iva + fdiffinc_iva_acq -= prorata_diff; // Rettifica acquisti_iva differiti incassati } look_plm(month, codatt, true); @@ -4256,7 +4256,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts) } // calcolo conguaglio -- se positivo e' a debito - if (prorata > ZERO) + if (prorata > ZERO && lia.get_bool("B7")) { topay = (iaq + ppg) * prorata / CENTO; round_imposta(topay); diff --git a/src/cg/cg4304.cpp b/src/cg/cg4304.cpp index 178473231..d92871195 100755 --- a/src/cg/cg4304.cpp +++ b/src/cg/cg4304.cpp @@ -2028,28 +2028,35 @@ void TLiquidazione_app::set_pumpam(const _DescrItem& d) real rprc = CENTO - prc; TString ss(rprc.string()); - set_row(row++, FR("%% PRO-RATA (%s%%) ed IVA non detraibile (%s%%)@69g%r"), - (const char*) ss, (const char*)prc.string(), &(d._r11)); - yy-=2; - if (d._r13 != INVALID_PRORATA && d._r12 != ZERO) - { - rprc = CENTO - d._r13; - ss = rprc.string(); - set_row(row++, FR("%% PRO-RATA %d (%s%%) ed IVA non detraibile (%s%%)@69g%r"), - yy, (const char*) ss, (const char*)d._r13.string(), &(d._r12)); - } + if (d._r11 != ZERO) + set_row(row++, FR("%% PRO-RATA (%s%%) ed IVA non detraibile (%s%%)@69g%r"), + (const char*)ss, (const char*)prc.string(), &(d._r11)); + else + set_row(row++, FR("%% PRO-RATA (%s%%)"), (const char*)ss); + yy-=2; + if (d._r13 != INVALID_PRORATA) + { + rprc = CENTO - d._r13; + ss = rprc.string(); + if (d._r12 != ZERO) + set_row(row++, FR("%% PRO-RATA %d (%s%%) ed IVA non detraibile (%s%%)@69g%r"), yy, (const char*)ss, (const char*)d._r13.string(), &(d._r12)); + else + set_row(row++, FR("%% PRO-RATA %d (%s%%)"), yy, (const char*)ss); + } else if (!_isfinal && d._r13 == INVALID_PRORATA_ASSERT) set_row(row++, FR("Impossibile reperire la %% PRO-RATA relativa all'anno %d."), yy); yy--; - if (d._r15 != INVALID_PRORATA && d._r14 != ZERO) - { - rprc = CENTO - d._r15; - ss = rprc.string(); - set_row(row++, FR("%% PRO-RATA %d (%s%%) ed IVA non detraibile (%s%%)@69g%r"), - yy, (const char*) ss, (const char*)d._r15.string(), &(d._r14)); - } + if (d._r15 != INVALID_PRORATA) + { + rprc = CENTO - d._r15; + ss = rprc.string(); + if (d._r14 != ZERO) + set_row(row++, FR("%% PRO-RATA %d (%s%%) ed IVA non detraibile (%s%%)@69g%r"), yy, (const char*) ss, (const char*)d._r15.string(), &(d._r14)); + else + set_row(row++, FR("%% PRO-RATA %d (%s%%)"), yy, (const char*)ss); + } else if (!_isfinal && d._r15 == INVALID_PRORATA_ASSERT) set_row(row++, FR("Impossibile reperire la %% PRO-RATA relativa all'anno %d."), yy); @@ -2814,8 +2821,10 @@ bool TLiquidazione_app::set_annual(_DescrItem& d) 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)); + if (d._r6 > ZERO) + set_row(row++, FR("%% PRO-RATA (%s%%) ed IVA non detraibile (%s%%)@69g%r"), (const char*)s1, (const char*)s2, &(d._r6)); + else + set_row(row++, FR("%% PRO-RATA (%s%%)"), (const char*)s1); 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); diff --git a/src/cg/cg5300a.h b/src/cg/cg5300a.h index a464d3bba..8a613df71 100755 --- a/src/cg/cg5300a.h +++ b/src/cg/cg5300a.h @@ -19,6 +19,7 @@ #define F_GESMANCRED 219 #define F_RCDAL 223 #define F_RCAL 224 +#define F_PRORATA 225 #define F_ROUNDLIQ 221 #define F_ROUNDDIC 222 diff --git a/src/cg/cg5300a.uml b/src/cg/cg5300a.uml index 00a9f5d29..ecd184ca2 100755 --- a/src/cg/cg5300a.uml +++ b/src/cg/cg5300a.uml @@ -151,6 +151,12 @@ BEGIN FIELD B6 END +BOOLEAN F_PRORATA +BEGIN + PROMPT 50 9 "Calcolo Pro rata" + FIELD B7 +END + GROUPBOX DLG_NULL 78 6 BEGIN PROMPT 1 11 "@bCredito"