Patch level : 12.0 934

Files correlati     : cg4.exe cg5000a.msk cg5300a.msk ba3.exe batbiva.msk f124.trr
Commento            :

 - Corretto ricalcolo saldi per i movimenti provvisori
 - Aggiunto calcolo pro rata con numeratore e denominatore impostato sui codici IVA
This commit is contained in:
Alessandro Bonazzi 2020-01-30 20:21:11 +01:00
parent 4a1cefa181
commit da6afbcc7e
10 changed files with 269 additions and 174 deletions

View File

@ -90,7 +90,7 @@ bool CG4100_App::sort_sal()
sal.clear_saldi(year); sal.clear_saldi(year);
long numreg = 0L; long numreg = 0L;
tiposal tsal = normale; tiposal tsal = normale;
bool provvis = FALSE; char provvis;
TDate datareg; TDate datareg;
TString query; query << "USE RMOV SELECT ANNOES=" << _year; TString query; query << "USE RMOV SELECT ANNOES=" << _year;
@ -108,15 +108,14 @@ bool CG4100_App::sort_sal()
break; break;
if (_year != rmov.get_int(RMV_ANNOES)) if (_year != rmov.get_int(RMV_ANNOES))
continue; continue;
numreg = rmov.get_long(RMV_NUMREG); numreg = rmov.get_long(RMV_NUMREG);
gruppo = rmov.get_int(RMV_GRUPPO); gruppo = rmov.get_int(RMV_GRUPPO);
conto = rmov.get_int(RMV_CONTO); conto = rmov.get_int(RMV_CONTO);
sottoconto = rmov.get_long(RMV_SOTTOCONTO); sottoconto = rmov.get_long(RMV_SOTTOCONTO);
bool scaricato = false; bool scaricato = false;
if (numreg != oldnumreg)
if (numreg != oldnumreg)
{ {
if (sal.items() > 0) if (sal.items() > 0)
{ {
@ -143,7 +142,7 @@ bool CG4100_App::sort_sal()
} }
scaricato = mov.get_bool(MOV_SCARCON); scaricato = mov.get_bool(MOV_SCARCON);
provvis = mov.get(MOV_PROVVIS).not_empty(); provvis = mov.get_char(MOV_PROVVIS);
datareg = mov.get_date(MOV_DATAREG); datareg = mov.get_date(MOV_DATAREG);
sal.set_anno_es(_year); sal.set_anno_es(_year);

View File

@ -308,6 +308,9 @@ bool TLiquidazione_app::user_create()
__firm = TApplication::get_firm(); __firm = TApplication::get_firm();
_prorata_nd = ini_get_bool(CONFIG_STUDIO, "cg", "ProRataNumDen", false);
pnd.add_status(1); pnd.add_status(1);
if (_is_interactive) if (_is_interactive)

View File

@ -273,7 +273,8 @@ class TLiquidazione_app : public TPrint_application
bool _stampa_acc; // stampa trafiletto saldo/acconto bool _stampa_acc; // stampa trafiletto saldo/acconto
bool _riepilogo; // stampa riepilogo sul registro bool _riepilogo; // stampa riepilogo sul registro
bool _sind11; // somma imposte non detraibili in trasferimento IVA11 (da configurazione dati studio) bool _sind11; // somma imposte non detraibili in trasferimento IVA11 (da configurazione dati studio)
tbc _basecalc; // tipo base di calcolo acconto bool _prorata_nd; // calcolo pro rata con numeratore e denominatore su codice IVA
tbc _basecalc; // tipo base di calcolo acconto
TString8 _freqviva; // frequenza versamenti (M|T) TString8 _freqviva; // frequenza versamenti (M|T)
long _n_ditte; // numero ditte long _n_ditte; // numero ditte
bool _comp_acconto; // stiamo calcolando l'acconto bool _comp_acconto; // stiamo calcolando l'acconto

View File

@ -1644,11 +1644,11 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
const TPartita& p = arrpart.partita(pagsca); const TPartita& p = arrpart.partita(pagsca);
const TRiga_partite& rp = p.riga(nrigp); const TRiga_partite& rp = p.riga(nrigp);
datapag = rp.get(PART_DATAPAG); datapag = rp.get(PART_DATAREG);
if (!datapag.ok()) if (!datapag.ok())
datapag = rp.get(PART_DATADOC); datapag = rp.get(PART_DATADOC);
if (!datapag.ok()) if (!datapag.ok())
datapag = rp.get(PART_DATAREG); datapag = rp.get(PART_DATAPAG);
if (datapag < datafat) if (datapag < datafat)
datapag = datafat; datapag = datafat;
} }
@ -2922,10 +2922,10 @@ 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;
acquisti_iva -= prorata; // Rettifica acquisti_iva
prorata += prorata_diff; prorata += prorata_diff;
if (!lia.get_bool("B7")) if (!lia.get_bool("B7"))
prorata = ZERO; prorata = ZERO;
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);
@ -4237,43 +4237,53 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
{ {
const TString8 att = tmpatt; const TString8 att = tmpatt;
const int tipoatt = att.right(1)[0] - '0'; const int tipoatt = att.right(1)[0] - '0';
if (tipoatt == 1) // su PLA l'attivita' e' sempre 1 if (tipoatt == 1) // su PLA l'attivita' e' sempre 1
{ {
if (!look_pla(att)) if (!look_pla(att))
continue; continue;
const real vf1 = _pla->get_real("R14"); const real vf1 = _pla->get_real("R14");
const real vf2 = _pla->get_real("S1"); const real vf2 = _pla->get_real("S1");
const real iaq = _pla->get_real("R11"); // IVA acquisti const real iaq = _pla->get_real("R11"); // IVA acquisti
const real ppg = _pla->get_real("R12"); // pro-rata pagato const real ppg = _pla->get_real("R12"); // pro-rata pagato
vol_aff_1 += vf1; vol_aff_1 += vf1;
vol_aff_2 += vf2; vol_aff_2 += vf2;
vol_aff_l += _pla->get_real("R0"); // volume affari lordo vol_aff_l += _pla->get_real("R0"); // volume affari lordo
real es_c1 = _pla->get_real("R1"); // Tipo esenzione B1 real es_c1 = _pla->get_real("R1"); // Tipo esenzione B1
real es_c2 = _pla->get_real("R2"); real es_c2 = _pla->get_real("R2");
real es_c3 = _pla->get_real("R3"); real es_c3 = _pla->get_real("R3");
real es_c1a = _pla->get_real("R15"); real es_c1a = _pla->get_real("R15");
real es_c3_am = _pla->get_real("R16"); real es_c3_am = _pla->get_real("R16");
real es_c1a_am = _pla->get_real("R17"); real es_c1a_am = _pla->get_real("R17");
real csamm = _pla->get_real("R4"); real csamm = _pla->get_real("R4");
real ven_rev = _pla->get_real("R18"); real ven_rev = _pla->get_real("R18");
real prorata;
real conguaglio; real prorata;
real topay; real conguaglio;
const real ris = vf1 + vf2; // gia' esclusi: NS, B3, cess. amm real topay;
// calcola nuovo prorata dal 1998 per ogni attivita' (miste: 1+2) // 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; if (_prorata_nd)
const real rsn = rsa - es_c1; {
if (!rsa.is_zero()) const real rsd = _pla->get_real("R20");
{ const real rsn = _pla->get_real("R19");
prorata = CENTO - (rsn * CENTO / rsa); // Percentuale di indetraibilità: reciproco della detraibilità
prorata.round(0); if (rsd != ZERO)
} prorata = CENTO - (rsn * CENTO / rsd); // Percentuale di indetraibilita: reciproco della percentuale di detraibilita'
}
// calcolo conguaglio -- se positivo e' a debito else
{
const real ris = vf1 + vf2; // gia' esclusi: NS, B3, cess. amm
const real rsd = ris - (es_c1a - es_c1a_am) - (es_c3 - es_c3_am) - ven_rev;
const real rsn = rsd - es_c1;
if (!rsd.is_zero())
prorata = CENTO - (rsn * CENTO / rsd); // Percentuale di indetraibilità: reciproco della detraibilità
}
prorata.round(0);
// calcolo conguaglio -- se positivo e' a debito
if (prorata > ZERO && lia.get_bool("B7")) if (prorata > ZERO && lia.get_bool("B7"))
{ {
topay = (iaq + ppg) * prorata / CENTO; topay = (iaq + ppg) * prorata / CENTO;
@ -4590,20 +4600,20 @@ void TLiquidazione_app::recalc_annual(const char* att, bool & first)
{ {
// viene chiamata 2 volte per le att. miste; PLA e' stata // viene chiamata 2 volte per le att. miste; PLA e' stata
// azzerata dove serve da update_firm se siamo all'annuale // azzerata dove serve da update_firm se siamo all'annuale
real es_c1 = 0.0; real es_c1;
real es_c2 = 0.0; real es_c2;
real es_c3 = 0.0; real es_c3;
real es_c1a = 0.0; real es_c1a;
real es_c3_am = 0.0; real es_c3_am;
real es_c1a_am= 0.0; real es_c1a_am;
real cess_amm = 0.0; real cess_amm;
real vendite = 0.0; real vendite;
real pro_pag = 0.0; real pro_pag;
real iva_acq = 0.0; real iva_acq;
real ven_lrd = 0.0; real ven_lrd;
real volaff1 = 0.0; real volaff1;
real volaff2 = 0.0; real volaff2;
real ven_rev = 0.0; real ven_rev;
TString4 codiva,reg,tiva; TString4 codiva,reg,tiva;
TToken_string va7("",'!'); TToken_string va7("",'!');
@ -4634,53 +4644,65 @@ void TLiquidazione_app::recalc_annual(const char* att, bool & first)
TAssoc_array corr_ann; TAssoc_array corr_ann;
_CorrItem *cc; _CorrItem *cc;
bool is_key; bool is_key;
real num_pro_rata;
real den_pro_rata;
_pim->zero(); _pim->put("CODTAB", _year); // 24-02-2014 Partiamo dall'anno giusto _pim->zero(); _pim->put("CODTAB", _year); // 24-02-2014 Partiamo dall'anno giusto
for (int err = _pim->read(_isgteq); err == NOERR; err = _pim->next()) for (int err = _pim->read(_isgteq); err == NOERR; err = _pim->next())
{ {
if (_year != *_pim_anno || _month != atoi(*_pim_mese)) // In questo caso _month vale sempre 13 if (_year != *_pim_anno || _month != atoi(*_pim_mese)) // In questo caso _month vale sempre 13
continue; continue;
const int tipocr = atoi(*_pim_tipocr);
codiva = *_pim_codiva;
reg = *_pim_codreg;
look_iva(codiva); look_reg(reg);
tiva = _iva->get("S1");
const tiporeg treg = (tiporeg)_reg->get_long("I0");
const bool corrisp = _reg->get_bool("B0");
const tipo_sospensione simp = _reg->get_bool("B1") ? (tipo_sospensione) _reg->get_int("I9") : nessuna;
if ( // ESCLUSI:
strcmp(att,*_pim_codatt) != 0 ||
treg != vendita || // non vendite
tipocr == 4 || // cessioni beni ammortizzabili
tiva == "NS" || // non soggetti
simp == normale ||
simp == liquidazione) // sospensione di imposta
continue;
real imp_ifs = _pim->get("R0"); // Imponibile const int tipocr = atoi(*_pim_tipocr);
real imp_af = _pim->get("R7"); // Autofatture codiva = *_pim_codiva;
va7 = _pim->get("S0"); reg = *_pim_codreg;
real imp_va7 = va7.get(0); // operazioni VA7 look_iva(codiva); look_reg(reg);
imp_ifs -= imp_af + imp_va7; // Toglie le autofatture e le op. VA7 tiva = _iva->get("S1");
const tiporeg treg = (tiporeg)_reg->get_long("I0");
const bool corrisp = _reg->get_bool("B0");
const tipo_sospensione simp = _reg->get_bool("B1") ? (tipo_sospensione)_reg->get_int("I9") : nessuna;
if (corrisp) if ( // ESCLUSI:
{ strcmp(att, *_pim_codatt) != 0 ||
imp_ifs += _pim->get_real("R5"); // Se corrisp. aggiunge le FS treg != vendita || // non vendite
is_key = corr_ann.is_key(codiva); tipocr == 4 || // cessioni beni ammortizzabili
if (!is_key) // Aggiunge se non esiste tiva == "NS" || // non soggetti
corr_ann.add(codiva, (_CorrItem*) new _CorrItem,is_key); simp == normale ||
_CorrItem& ca = (_CorrItem&) corr_ann[codiva]; simp == liquidazione) // sospensione di imposta
ca._totale += _pim->get_real("R3"); continue;
if (!is_key) // se non c'e' lo aggiunge
ca._aliquota = _iva->get_real("R0")/CENTO; // Se è nuovo setta l'aliquota real imp_ifs = _pim->get("R0"); // Imponibile
} real imp_af = _pim->get("R7"); // Autofatture
if (tipoatt == 1) va7 = _pim->get("S0");
volaff1 += imp_ifs; real imp_va7 = va7.get(0); // operazioni VA7
else imp_ifs -= imp_af + imp_va7; // Toglie le autofatture e le op. VA7
volaff2 += imp_ifs;
} if (corrisp)
{
imp_ifs += _pim->get_real("R5"); // Se corrisp. aggiunge le FS
is_key = corr_ann.is_key(codiva);
if (!is_key) // Aggiunge se non esiste
corr_ann.add(codiva, (_CorrItem*) new _CorrItem, is_key);
_CorrItem& ca = (_CorrItem&)corr_ann[codiva];
ca._totale += _pim->get_real("R3");
if (!is_key) // se non c'e' lo aggiunge
ca._aliquota = _iva->get_real("R0") / CENTO; // Se è nuovo setta l'aliquota
}
if (tipoatt == 1)
volaff1 += imp_ifs;
else
volaff2 += imp_ifs;
if (_prorata_nd)
{
TCodiceIVA ci(codiva);
if (ci.numeratore_pro_rata())
num_pro_rata += imp_ifs;
if (ci.denominatore_pro_rata())
den_pro_rata += imp_ifs;
}
}
// Ora si scorporano i corrispettivi raggruppati per codice IVA e si totalizzano gli imponibili // Ora si scorporano i corrispettivi raggruppati per codice IVA e si totalizzano gli imponibili
// calcolati, da aggiungere poi a volaff1 o volaff2 // calcolati, da aggiungere poi a volaff1 o volaff2
@ -4692,6 +4714,15 @@ void TLiquidazione_app::recalc_annual(const char* att, bool & first)
volaff1 += imp; volaff1 += imp;
else else
volaff2 += imp; volaff2 += imp;
if (_prorata_nd)
{
TCodiceIVA ci(codiva);
if (ci.numeratore_pro_rata())
num_pro_rata += imp;
if (ci.denominatore_pro_rata())
den_pro_rata += imp;
}
} }
// calcola esenti, cessioni, lordo vendite, prorata pagato // calcola esenti, cessioni, lordo vendite, prorata pagato
@ -4757,8 +4788,9 @@ void TLiquidazione_app::recalc_annual(const char* att, bool & first)
const int tipomov = id.get(ID_TIPOMOV).as_int(); const int tipomov = id.get(ID_TIPOMOV).as_int();
const int annoliq = id.get(ID_ANNOLIQ).as_int(); const int annoliq = id.get(ID_ANNOLIQ).as_int();
const TDate dataregp = id.get(ID_DATAREGP).as_date(); const TDate dataregp = id.get(ID_DATAREGP).as_date();
const TImporto imp(sezione, id.get(RMI_IMPONIBILE).as_real()); TImporto imp(sezione, id.get(RMI_IMPONIBILE).as_real());
imp.normalize('D');
key = id.get(ID_NUMREG).as_string(); key = id.get(ID_NUMREG).as_string();
key.add(id.get(ID_NUMRIG).as_string()); key.add(id.get(ID_NUMRIG).as_string());
codiva = cache().get(LF_RMOVIVA, key, RMI_CODIVA); codiva = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
@ -4774,6 +4806,15 @@ void TLiquidazione_app::recalc_annual(const char* att, bool & first)
} }
if ((annoliq == year) && (tipoiva == 1)) if ((annoliq == year) && (tipoiva == 1))
tot1 += imp; tot1 += imp;
if (_prorata_nd)
{
TCodiceIVA ci(codiva);
if (ci.numeratore_pro_rata())
num_pro_rata += imp.valore();
if (ci.denominatore_pro_rata())
den_pro_rata += imp.valore();
}
} }
} }
first = false; first = false;
@ -4795,6 +4836,11 @@ void TLiquidazione_app::recalc_annual(const char* att, bool & first)
_pla->put("R14", volaff1); _pla->put("R14", volaff1);
_pla->put("S1", volaff2.string()); _pla->put("S1", volaff2.string());
_pla->put("R18", ven_rev); _pla->put("R18", ven_rev);
_pla->rewrite(); if (_prorata_nd)
{
_pla->put("R19", num_pro_rata);
_pla->put("R20", den_pro_rata);
}
_pla->rewrite();
} }

View File

@ -1095,7 +1095,7 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
// calcolo del prorata o del nuovo plafond o .... // calcolo del prorata o del nuovo plafond o ....
if (look_pla(codatt)) if (look_pla(codatt))
{ {
real v1 = _pla->get_real("R14"); // Totale imponibile vendite real v1 = _pla->get_real("R14"); // Volume d'affari I attività
real v2 = _pla->get_real("S1"); // Volume d'affari II attività real v2 = _pla->get_real("S1"); // Volume d'affari II attività
real ris = v1 + v2; real ris = v1 + v2;
real e1 = _pla->get_real("R1"); // Totale vendite esenti C1 real e1 = _pla->get_real("R1"); // Totale vendite esenti C1
@ -1108,32 +1108,44 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
real vrc = _pla->get_real("R18"); // Vendite reverse charge real vrc = _pla->get_real("R18"); // Vendite reverse charge
real iaq = _pla->get_real("R11"); // IVA acquisti real iaq = _pla->get_real("R11"); // IVA acquisti
real ppg = _pla->get_real("R12"); // pro-rata pagato real ppg = _pla->get_real("R12"); // pro-rata pagato
real ven_rev = _pla->get_real("R18");
// calcola nuovo prorata per ogni attivita' (miste: 1+2) // calcola nuovo prorata per ogni attivita' (miste: 1+2)
real pr; real prorata;
const real rsa = ris - (e3-e5) - (e4-e6) - ven_rev; real rsd;
const real rsn = rsa - e1; real rsn;
if (!rsa.is_zero()) if (_prorata_nd)
{ {
pr = CENTO - (rsn * CENTO / rsa); // Percentuale di indetraibilita: reciproco della percentuale di detraibilita' rsd = _pla->get_real("R20");
pr.round(0); rsn = _pla->get_real("R19");
}
if (!rsd.is_zero())
prorata = CENTO - (rsn * CENTO / rsd); // Percentuale di indetraibilita: reciproco della percentuale di detraibilita'
}
else
{
rsd = ris - (e3 - e5) - (e4 - e6) - vrc;
rsn = rsd - e1;
if (!rsd.is_zero())
prorata = CENTO - (rsn * CENTO / rsd); // Percentuale di indetraibilita: reciproco della percentuale di detraibilita'
}
prorata.round(0);
real co = 0.0; real co = 0.0;
real topay = 0.0; real topay = 0.0;
//if (pr != _prorata.current())
{ // calcolo conguaglio -- se positivo e' a debito
// calcolo conguaglio -- se positivo e' a debito const TRectype & lia = get_lia();
if (pr > ZERO)
{ if (prorata > ZERO && lia.get_bool("B7"))
topay = (iaq + ppg) * pr / CENTO; {
round_imposta(topay); topay = (iaq + ppg) * prorata / CENTO;
} round_imposta(topay);
co = topay - ppg; }
round_imposta(co); else
} prorata = ZERO;
co = topay - ppg;
round_imposta(co);
_DescrItem* dd = new _DescrItem(ANNUAL); _DescrItem* dd = new _DescrItem(ANNUAL);
@ -1156,7 +1168,7 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
} }
dd->_r0 = ris; dd->_r0 = ris;
dd->_r1 = e1; dd->_r1 = e1;
dd->_r2 = pr > ZERO ? pr : ZERO; dd->_r2 = prorata;
dd->_r3 = co; dd->_r3 = co;
dd->_r4 = e2; dd->_r4 = e2;
dd->_r5 = e3; dd->_r5 = e3;
@ -1165,8 +1177,9 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
dd->_r8 = e5; dd->_r8 = e5;
dd->_r9 = e6; dd->_r9 = e6;
dd->_r10 = vrc; dd->_r10 = vrc;
dd->_ra0 = rsa; dd->_ra0 = rsn;
dd->_ra1 = rsn; dd->_ra1 = rsd;
dd->_ra2 = vrc;
t->_arr.add(dd); t->_arr.add(dd);
} }
} }
@ -2792,7 +2805,7 @@ bool TLiquidazione_app::set_annual(_DescrItem& d)
int row = get_maxrow()+1; int row = get_maxrow()+1;
if (row == 1) row = 4; if (row == 1) row = 4;
if (d._f0 & IS_PRORATA) if ((d._r2 > ZERO) && (d._f0 & IS_PRORATA))
{ {
// non lo ha stampato prima se annuale, perche' Vladimiro il nefido pretende l'assurdo aggiornamento della perc. a quella nuova // non lo ha stampato prima se annuale, perche' Vladimiro il nefido pretende l'assurdo aggiornamento della perc. a quella nuova
const int year_int = atoi(_year); const int year_int = atoi(_year);
@ -2817,20 +2830,46 @@ bool TLiquidazione_app::set_annual(_DescrItem& d)
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("%% PRO-RATA (%s%%) ed IVA non detraibile (%s%%)@69g%r"), (const char*)s1, (const char*)s2, &(d._r6));
else else
set_row(row++, FR("%% PRO-RATA (%s%%)"), (const char*)s1); set_row(row++, FR("%% PRO-RATA (%s%%)"), (const char*)s1);
set_row(row++, FR("Numeratore pro-rata @69g%r"), &(d._ra1)); set_row(row++, FR("Detraibilità @69g%r%%"), &perc_det);
set_row(row++, FR("Denominatore @69g%r"), &(d._ra0));
#ifdef DBG
set_row(row++, FR("Numeratore pro-rata 1 @69g%r"), &(d._ra3));
set_row(row++, FR("Denominatore 1 @69g%r"), &(d._ra2));
#endif
set_row(row++,FR("Detraibilità @69g%r%%"), &perc_det);
row++; row++;
set_row(row++,FR("C1 - Operazioni esenti escluse da nr. 1 a 9 e 11 art. 10 @69g%r"), &(d._r1)); if (_prorata_nd)
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("Numeratore pro-rata @69g%r"), &(d._ra0));
set_row(row++,FR("@6gdi cui cessione beni ammortizzabili @69g%r"), &(d._r8)); set_row(row++, FR("Denominatore @69g%r"), &(d._ra1));
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)); else
{
set_row(row++, FR(" - Volume d'affari @69g%r"), &(vol_aff));
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));
const real diff1 = d._r5 - d._r8;
if (diff1 != ZERO)
{
set_row(row++, FR("@69g----------------"));
set_row(row++, FR("6g Differenza @69g%r"), &(diff1));
row++;
}
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));
const real diff2 = d._r7 - d._r9;
if (diff2 != ZERO)
{
set_row(row++, FR("@69g----------------"));
set_row(row++, FR("6g Differenza @69g%r"), &(diff2));
row++;
}
set_row(row++, FR(" - Vendite Reverse Charge @69g%r"), &(d._ra2));
set_row(row++, FR("Numeratore pro-rata @69g%r"), &(d._ra0));
set_row(row++, FR(" Volume d'affari - C3(senza beni amm.) - C1A(senza beni amm.) - vendite reverse charge "));
set_row(row++, FR("Denominatore @69g%r"), &(d._ra1));
set_row(row++, FR(" Denominatore - C1 "));
}
// set_row(row++, FR("Volume d'affari @69g%r"), &vol_aff); // 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("Totale vendite al fine del calcolo del pro-rata @69g%r"), &vol_aff);

View File

@ -19,4 +19,5 @@
#define FLD_DESAGV 119 #define FLD_DESAGV 119
#define CHK_RICACQ 120 #define CHK_RICACQ 120
#define CHK_NOIDRG 121 #define CHK_NOIDRG 121
#define CHK_02GESCOMPCR 122 #define CHK_02GESCOMPCR 122
#define CHK_PRORATAND 123

View File

@ -6,7 +6,7 @@ ENDPAGE
PAGE "Parametri contabilità" 0 0 0 2 PAGE "Parametri contabilità" 0 0 0 2
GROUPBOX DLG_NULL 74 10 GROUPBOX DLG_NULL 74 11
BEGIN BEGIN
PROMPT 1 1 "@bParametri IVA" PROMPT 1 1 "@bParametri IVA"
END END
@ -76,10 +76,10 @@ BEGIN
DISPLAY "%@5" R0 DISPLAY "%@5" R0
DISPLAY "Vent." S6 DISPLAY "Vent." S6
DISPLAY "Sospeso" B2 DISPLAY "Sospeso" B2
OUTPUT FLD_CODAGV CODTAB OUTPUT FLD_CODAGV CODTAB
OUTPUT FLD_DESAGV S0 OUTPUT FLD_DESAGV S0
CHECKTYPE NORMAL CHECKTYPE NORMAL
FIELD CodAgv FIELD CodAgv
VALIDATE ZEROFILL_FUNC 2 VALIDATE ZEROFILL_FUNC 2
END END
@ -98,28 +98,34 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
BOOLEAN CHK_PRORATAND
BEGIN
PROMPT 3 10 "Calcolo Pro rata con numeratore e denominatore"
FIELD ProRataNumDen
END
GROUPBOX DLG_NULL 74 5 GROUPBOX DLG_NULL 74 5
BEGIN BEGIN
PROMPT 1 13 "@bStampa registri" PROMPT 1 14 "@bStampa registri"
END END
BOOLEAN CHK_STIREG BOOLEAN CHK_STIREG
BEGIN BEGIN
PROMPT 3 14 "Stampare l'intestazione sui registri bollati" PROMPT 3 15 "Stampare l'intestazione sui registri bollati"
HELP "Indicare se stampare l'intestazione della ditta sui registri" HELP "Indicare se stampare l'intestazione della ditta sui registri"
FIELD StiReg FIELD StiReg
END END
BOOLEAN CHK_NODTRG BOOLEAN CHK_NODTRG
BEGIN BEGIN
PROMPT 3 15 "Non stampare la data di operazione" PROMPT 3 16 "Non stampare la data di operazione"
HELP "Indicare se non stampare la data dell'operazione sui registri IVA" HELP "Indicare se non stampare la data dell'operazione sui registri IVA"
FIELD NoDtRg FIELD NoDtRg
END END
BOOLEAN CHK_NOIDRG BOOLEAN CHK_NOIDRG
BEGIN BEGIN
PROMPT 3 16 "Non stampare il prospetto IVA differita o per cassa" PROMPT 3 17 "Non stampare il prospetto IVA differita o per cassa"
HELP "Indicare se non stampare il prospetto dell'IVA differita o per cassa" HELP "Indicare se non stampare il prospetto dell'IVA differita o per cassa"
FIELD NoIdRg FIELD NoIdRg
END END

View File

@ -1,12 +1,12 @@
#define F_ANNO 101 #define F_ANNO 201
#define F_TIPOCF 102 #define F_TIPOCF 202
#define F_GRUPPO 103 #define F_GRUPPO 203
#define F_CONTO 104 #define F_CONTO 204
#define F_SOTTOCONTO 105 #define F_SOTTOCONTO 205
#define F_SOTTOC_CLIENTE 106 #define F_SOTTOC_CLIENTE 206
#define F_SOTTOC_FORN 107 #define F_SOTTOC_FORN 207
#define F_DESCR_CONTO 108 #define F_DESCR_CONTO 208
#define F_DESCR_CLIENTE 109 #define F_DESCR_CLIENTE 209
#define F_DESCR_FORN 110 #define F_DESCR_FORN 210
#define F_SHEET_SALDI 111 #define F_SHEET_SALDI 211
#define F_SCARICATO 112 #define F_SCARICATO 212

View File

@ -103,6 +103,12 @@ BEGIN
FIELD B4 FIELD B4
END END
BOOLEAN F_PRORATAC
BEGIN
PROMPT 47 6 "Calcolo Pro rata"
FIELD B7
END
BOOLEAN F_GESIC BOOLEAN F_GESIC
BEGIN BEGIN
PROMPT 4 7 "Gestione IVA per cassa" PROMPT 4 7 "Gestione IVA per cassa"
@ -151,12 +157,6 @@ BEGIN
FIELD B6 FIELD B6
END END
BOOLEAN F_PRORATAC
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"

View File

@ -872,7 +872,7 @@ void TTab_conti::aggiorna_conto(const TBill& tcon,
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
TSaldo_agg::TSaldo_agg() : _anno_es(0), _data_ulmov(""), _num_ulmov(0l), TSaldo_agg::TSaldo_agg() : _anno_es(0), _data_ulmov(""), _num_ulmov(0l),
_movap(normale), _provv(false), _movimentato(false) _movap(normale), _provv(' '), _movimentato(false)
{} {}
void TSaldo_agg::aggiorna(const TBill& tc, const TImporto& imp, bool somma, bool scaricato) void TSaldo_agg::aggiorna(const TBill& tc, const TImporto& imp, bool somma, bool scaricato)