Patch level : 12.0 716

Files correlati     : cg0.exe cg4.exe cgmenu.men cg0800a.msk cg4b00a.msk cg0800a.rep cg4b00a.rep
Commento            :

Aggiunto lag per il calcolo PRO rata
This commit is contained in:
AlexBonazzi 2019-03-04 23:01:38 +01:00
parent aafc2166c8
commit 6f4d9fea17
4 changed files with 41 additions and 25 deletions

View File

@ -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 // Somma i vari prorata calcolati per gli anni precedenti
prorata += prorata_precedente1 + prorata_precedente2; prorata += prorata_precedente1 + prorata_precedente2;
prorata += prorata_diff;
acquisti_iva -= prorata; // Rettifica acquisti_iva if (!lia.get_bool("B7"))
prorata = ZERO;
prorata += prorata_diff; acquisti_iva -= prorata; // Rettifica acquisti_iva
fdiffinc_iva_acq -= prorata_diff; // Rettifica acquisti_iva differiti incassati fdiffinc_iva_acq -= prorata_diff; // Rettifica acquisti_iva differiti incassati
} }
look_plm(month, codatt, true); 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 // calcolo conguaglio -- se positivo e' a debito
if (prorata > ZERO) if (prorata > ZERO && lia.get_bool("B7"))
{ {
topay = (iaq + ppg) * prorata / CENTO; topay = (iaq + ppg) * prorata / CENTO;
round_imposta(topay); round_imposta(topay);

View File

@ -2028,28 +2028,35 @@ void TLiquidazione_app::set_pumpam(const _DescrItem& d)
real rprc = CENTO - prc; real rprc = CENTO - prc;
TString ss(rprc.string()); TString ss(rprc.string());
set_row(row++, FR("%% PRO-RATA (%s%%) ed IVA non detraibile (%s%%)@69g%r"), if (d._r11 != ZERO)
(const char*) ss, (const char*)prc.string(), &(d._r11)); set_row(row++, FR("%% PRO-RATA (%s%%) ed IVA non detraibile (%s%%)@69g%r"),
yy-=2; (const char*)ss, (const char*)prc.string(), &(d._r11));
if (d._r13 != INVALID_PRORATA && d._r12 != ZERO) else
{ set_row(row++, FR("%% PRO-RATA (%s%%)"), (const char*)ss);
rprc = CENTO - d._r13; yy-=2;
ss = rprc.string(); if (d._r13 != INVALID_PRORATA)
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)); 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 else
if (!_isfinal && d._r13 == INVALID_PRORATA_ASSERT) if (!_isfinal && d._r13 == INVALID_PRORATA_ASSERT)
set_row(row++, FR("Impossibile reperire la %% PRO-RATA relativa all'anno %d."), yy); set_row(row++, FR("Impossibile reperire la %% PRO-RATA relativa all'anno %d."), yy);
yy--; yy--;
if (d._r15 != INVALID_PRORATA && d._r14 != ZERO) if (d._r15 != INVALID_PRORATA)
{ {
rprc = CENTO - d._r15; rprc = CENTO - d._r15;
ss = rprc.string(); ss = rprc.string();
set_row(row++, FR("%% PRO-RATA %d (%s%%) ed IVA non detraibile (%s%%)@69g%r"), if (d._r14 != ZERO)
yy, (const char*) ss, (const char*)d._r15.string(), &(d._r14)); 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 else
if (!_isfinal && d._r15 == INVALID_PRORATA_ASSERT) if (!_isfinal && d._r15 == INVALID_PRORATA_ASSERT)
set_row(row++, FR("Impossibile reperire la %% PRO-RATA relativa all'anno %d."), yy); 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 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"), if (d._r6 > ZERO)
(const char*)s1, (const char*)s2, &(d._r6)); 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 denom = vol_aff - rev_charge;
const real num = denom - d._r1 - d._r4 - d._r5 + d._r8 - d._r7 + d._r9; 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("Numeratore pro-rata @69g%r"), &num);

View File

@ -19,6 +19,7 @@
#define F_GESMANCRED 219 #define F_GESMANCRED 219
#define F_RCDAL 223 #define F_RCDAL 223
#define F_RCAL 224 #define F_RCAL 224
#define F_PRORATA 225
#define F_ROUNDLIQ 221 #define F_ROUNDLIQ 221
#define F_ROUNDDIC 222 #define F_ROUNDDIC 222

View File

@ -151,6 +151,12 @@ BEGIN
FIELD B6 FIELD B6
END END
BOOLEAN F_PRORATA
BEGIN
PROMPT 50 9 "Calcolo Pro rata"
FIELD B7
END
GROUPBOX DLG_NULL 78 6 GROUPBOX DLG_NULL 78 6
BEGIN BEGIN
PROMPT 1 11 "@bCredito" PROMPT 1 11 "@bCredito"