Patch level : 12.0 726
Files correlati : cg0.exe cg4.exe cgmenu.men cg0800a.msk cg4b00a.msk cg0800a.rep cg4b00a.rep cg3.exe cg3200a.msk cg3600a.msk232.bat Commento : Sistemata esposizione pro rata Modificate le stampe progressivi IVA Aggiunta indicazione indeducibili sul prospetto progressivi IVA dal periodo successivo Toloto il calcolointeressi in 13 per i trimestrali
This commit is contained in:
parent
b2b336b7ea
commit
e0e2beb1b3
@ -1539,6 +1539,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
real incdiff_iva; // Liquidazione differita incassate imposta
|
||||
real impon_ind; // Imponibile indetraibile
|
||||
real impos_ind; // Imposta indetraibile
|
||||
real impon_ind_succ; // Imponibile indetraibile da periodo successivo
|
||||
real impos_ind_succ; // Imposta indetraibile da periodo successivo
|
||||
real impon_det; // Imponibile detraibile
|
||||
real impos_det; // Imposta detraibile
|
||||
char sezfat;
|
||||
@ -1940,82 +1942,6 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Calcoli sprecati: dal 2016 calcolimao la comuncazione annuale direttamente in cg5
|
||||
const TString& iva_vpn = _iva->get(tipomov == vendita ? "S10" : "S11");
|
||||
|
||||
// Aggiunto "&& is_detraibile==0" al test altrimenti somma due volte imponibile_orig (22/01/2015)
|
||||
if (!bIsMovDiff && iva_vpn.full() && _mov->get_int(MOV_ANNOIVA) == year_int && is_detraibile == 0)
|
||||
{
|
||||
switch (tipomov)
|
||||
{
|
||||
case vendita: // CD1 - 1 2 3 4
|
||||
{
|
||||
// bool is_valid = !corrisp && tipodoc != "AF" && (cau_intra || !cau_valintra) &&
|
||||
// sosp_imp != normale && sosp_imp != liquidazione;
|
||||
bool is_valid = tipodoc != "AF" && sosp_imp != normale && sosp_imp != liquidazione;
|
||||
if (is_valid)
|
||||
{
|
||||
cessioni_cd1_1 += imponibile_orig;
|
||||
if (iva_vpn.starts_with("CD1"))
|
||||
{
|
||||
if (tipocr == 4)
|
||||
cessioni_cd1_5 += imponibile_orig;
|
||||
}
|
||||
if (!cau_intra)
|
||||
{
|
||||
if (iva_vpn == "CD12")
|
||||
cessioni_cd1_2 += imponibile_orig; else
|
||||
if (iva_vpn == "CD13")
|
||||
cessioni_cd1_3 += imponibile_orig;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (iva_vpn == "CD14")
|
||||
cessioni_cd1_4 += imponibile_orig;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case acquisto: // CD2 - 1 2 3 4
|
||||
{
|
||||
acquisti_cd2_1 += imponibile_orig;
|
||||
if (iva_vpn.starts_with("CD2"))
|
||||
{
|
||||
if (tipocr == 2 || tipocr == 3 || tipocr == 8)
|
||||
acquisti_cd2_5 += imponibile_orig;
|
||||
}
|
||||
if (!cau_intra)
|
||||
{
|
||||
if (iva_vpn == "CD22")
|
||||
acquisti_cd2_2 += imponibile_orig;
|
||||
else
|
||||
if (iva_vpn == "CD23")
|
||||
acquisti_cd2_3 += imponibile_orig;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (iva_vpn == "CD24")
|
||||
acquisti_cd2_4 += imponibile_orig;
|
||||
}
|
||||
if (iva_vpn == "CD31")
|
||||
{
|
||||
oroargento_cd3_1 += imponibile_orig;
|
||||
oroargento_cd3_2 += imposta_orig;
|
||||
}
|
||||
if (iva_vpn == "CD33")
|
||||
{
|
||||
rottami_cd3_3 += imponibile_orig;
|
||||
rottami_cd3_4 += imposta_orig;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
bool bMovDiffToAdd = true;
|
||||
@ -2043,6 +1969,12 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
imposta = ZERO;
|
||||
}
|
||||
|
||||
|
||||
if (tipoind > 0 && _mov->get_int(MOV_MESELIQ) > 0)
|
||||
{
|
||||
impon_ind_succ += imponibile;
|
||||
impos_ind_succ += imposta;
|
||||
}
|
||||
/* Riga imponibile > 9 = ritenute; non si considerano (Scudler 1994) */
|
||||
|
||||
|
||||
@ -2698,6 +2630,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
||||
curr.add("R13", fci);
|
||||
curr.add("R14", fcv);
|
||||
}
|
||||
if (i == 1)
|
||||
{
|
||||
curr.add("R15", impon_ind_succ);
|
||||
curr.add("R16", impos_ind_succ);
|
||||
}
|
||||
// questi servono per i ricalcoli altrui (classify_pim) o
|
||||
// per trucchetti di ricalcolo successivi
|
||||
curr.add("R11",fsi);
|
||||
@ -4247,7 +4184,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
const real ris = vf1 + vf2; // gia' esclusi: NS, B3, cess. amm
|
||||
|
||||
// calcola nuovo prorata dal 1998 per ogni attivita' (miste: 1+2)
|
||||
const real rsa = ris - (es_c1a-es_c1a_am) - (es_c3-es_c3_am) - ven_rev;
|
||||
const real rsa = ris - (es_c1a-es_c1a_am) - (es_c3-es_c3_am);
|
||||
const real rsn = rsa - es_c1;
|
||||
if (!rsa.is_zero())
|
||||
{
|
||||
@ -4402,7 +4339,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
// 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))
|
||||
if (_isintr && (month == 3 || month == 6 || month == 9 || month == 12)) // non più in 13 || month ==13))
|
||||
{
|
||||
const real interesse = interesse_trimestrale(_month);
|
||||
const real r = risultato - imposta_non_versata; // CM 26-09-2000
|
||||
@ -4411,6 +4348,12 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
lim.put("R14", ivi);
|
||||
lim.put("R10", interesse_trimestrale(_month));
|
||||
}
|
||||
else
|
||||
{
|
||||
lim.zero("R14");
|
||||
lim.zero("R10");
|
||||
|
||||
}
|
||||
|
||||
//questo serve anche per la visualizzazione e per l'estrazione deleghe
|
||||
// if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
|
||||
|
@ -507,7 +507,7 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
|
||||
const TString8 ref(atts.items() == 1 ? codatt : "ALL");
|
||||
int last = _descr_arr.last();
|
||||
bool issosp = false;
|
||||
real t0, t1, t2, t3, t4, t5, t26, t27, t28, t29, t30, t31, t32, t33;
|
||||
real t0, t1, t2, t3, t4, t5, t15, t16, t26, t27, t28, t29, t30, t31, t32, t33;
|
||||
real rt0, rt1, rt2, rt3, rt4, rt5;
|
||||
real autodafe, autodafe_iva, art40, art40_iva;
|
||||
real diffimp, diffiva, diffincimp, diffinciva;
|
||||
@ -615,8 +615,6 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
|
||||
continue;
|
||||
|
||||
// questi non vanno in liquidazione, i totali sono gia' calcolati altrove
|
||||
if ((tipodet == 1 || tipodet == 3 || tipodet == 9) && !is_rit)
|
||||
continue;
|
||||
|
||||
// se ha tutti gli importi nulli viene da un annullamento di
|
||||
// progressivi esistenti (achtung fatture con scontrino)
|
||||
@ -675,7 +673,17 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
|
||||
d->_s1 = codiva;
|
||||
_descr_arr.insert(d, i);
|
||||
}
|
||||
|
||||
if ((tipodet == 1 || tipodet == 3 || tipodet == 9) && !is_rit)
|
||||
{
|
||||
if (PIM_PIS == PIS_ROW)
|
||||
{
|
||||
d->_r15 += tab->get_real("R0");
|
||||
d->_r16 += tab->get_real("R1");
|
||||
t15 += tab->get_real("R0");
|
||||
t16 += tab->get_real("R1");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (tipomov == acquisto)
|
||||
{
|
||||
// Ci sono anche le fatture in ritardo (solo in annuale)! Con tipo detraibilita' 1,3,9
|
||||
@ -979,6 +987,7 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
|
||||
tot->_r0 = t0; tot->_r1 = t1;
|
||||
tot->_r2 = t2; tot->_r3 = t3;
|
||||
tot->_r4 = t4; tot->_r5 = t5;
|
||||
tot->_r15 = t15; tot->_r16 = t16;
|
||||
}
|
||||
if (totd != NULL)
|
||||
{
|
||||
@ -1158,7 +1167,7 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
|
||||
|
||||
// calcola nuovo prorata per ogni attivita' (miste: 1+2)
|
||||
real pr;
|
||||
const real rsa = ris - (e3-e5) - (e4-e6) - vrc;
|
||||
const real rsa = ris - (e3-e5) - (e4-e6);
|
||||
const real rsn = rsa - e1;
|
||||
|
||||
if (!rsa.is_zero())
|
||||
@ -1771,18 +1780,23 @@ void TLiquidazione_app::set_pim_head(_DescrItem& d)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (d._flags == PIM_HEAD || d._flags == PIS_HEAD)
|
||||
if (d._flags == PIM_HEAD)
|
||||
{
|
||||
set_row(r++, FR(" Cod.@41gVENDITE@71gCORRISPETTIVI@106gACQUISTI"));
|
||||
set_row(r++,FR(" IVA Descrizione@30gImponibile@49gImposta@63gImponibile"
|
||||
"@82gImposta@96gImponibile@115gImposta"));
|
||||
set_row(r++, FR(" IVA Descrizione@30gImponibile@49gImposta@63gImponibile@82gImposta@96gImponibile@115gImposta"));
|
||||
set_row(r, "");
|
||||
}
|
||||
/* else
|
||||
else
|
||||
{
|
||||
set_row(r++,FR(" Cod.@41gVENDITE"));
|
||||
set_row(r++,FR(" IVA Descrizione@30gImponibile@49gImposta"));
|
||||
} */
|
||||
if (d._flags == PIS_HEAD)
|
||||
{
|
||||
set_row(r++, FR(" Cod.@41gVENDITE@71gCORRISPETTIVI@106gACQUISTI"));
|
||||
set_row(r++, FR(" @99gACQUISTI INDETRAIBILI"));
|
||||
set_row(r++, FR(" IVA Descrizione@30gImponibile@49gImposta@63gImponibile@82gImposta@96gImponibile@115gImposta"));
|
||||
// set_row(r++, FR(" @96gImponibile@115gImposta"));
|
||||
set_row(r, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1814,12 +1828,19 @@ void TLiquidazione_app::set_pim(_DescrItem& d)
|
||||
if (d._s2.len() > 19) d._s2.cut(19);
|
||||
}
|
||||
|
||||
if (d._flags == PIM_ROW || d._flags == PIS_ROW)
|
||||
if (d._flags == PIM_ROW)
|
||||
{
|
||||
set_row(rw++,"%-4s %s@25g%r@41g%r@58g%r@74g%r@91g%r@107g%r",
|
||||
(const char*)d._s1, (const char*)d._s2,
|
||||
set_row(rw++, "%-4s %s@25g%r@41g%r@58g%r@74g%r@91g%r@107g%r", (const char*)d._s1, (const char*)d._s2,
|
||||
&(d._r0), &(d._r1), &(d._r2), &(d._r3), &(d._r4), &(d._r5));
|
||||
}
|
||||
else
|
||||
if (d._flags == PIS_ROW)
|
||||
{
|
||||
set_row(rw++, "%-4s %s@25g%r@41g%r@58g%r@74g%r@91g%r@107g%r", (const char*)d._s1, (const char*)d._s2,
|
||||
&(d._r0), &(d._r1), &(d._r2), &(d._r3), &(d._r4), &(d._r5));
|
||||
if (d._r15 != ZERO)
|
||||
set_row(rw++, "@91g%r@107g%r", &(d._r15), &(d._r16));
|
||||
}
|
||||
else
|
||||
if (d._flags == PIM_ROW_D || d._flags == PIS_ROW_D)
|
||||
{
|
||||
@ -1868,6 +1889,8 @@ void TLiquidazione_app::set_plm(_DescrItem& d)
|
||||
set_row(rw++,""); set_row(rw++,"");
|
||||
set_row(rw++,FR("Totale@25g%r@41g%r@58g%r@74g%r@91g%r@107g%r"),
|
||||
&(d._r0), &(d._r1), &(d._r2), &(d._r3), &(d._r4), &(d._r5));
|
||||
if(d._r15 != ZERO)
|
||||
set_row(rw++, FR("@91g%r@107g%r"), &(d._r15), &(d._r16));
|
||||
set_row(rw++,"");
|
||||
}
|
||||
if (!(d._r7.is_zero() && d._r8.is_zero()))
|
||||
|
Loading…
x
Reference in New Issue
Block a user