Patch level : 12.0 938

Files correlati     : fp0.exe
Commento            : Sistemata fatturazione con ritenute e casse professionali
This commit is contained in:
Simone Palacino 2020-02-05 18:04:23 +01:00
parent 68bd377f3f
commit 6ab12f151d

View File

@ -1274,9 +1274,9 @@ const real calc_ritenuta(const TDocumento& doc)
void TDoc_fp::add_ritenuta(const TDocumentoEsteso& doc, const TSpesa_prest& sp, TPaf_record& paf0700f) const
{
// <DatiRitenuta>
const real importo_ritenute = (doc.imponibile() - doc.spese()) * sp.perc() / CENTO; // Le spese non contribuiscono mai al calcolo delle ritenute!
paf0700f.set("P7_TIPORITENUTA", _rec_clifo.get_char(CLI_TIPOPERS) == 'F' ? "RT01" : "RT02");
TString doc_imponibile = doc.imponibile().string();
paf0700f.set("P7_IMPORTORIT", converti_prezzo(doc.ritenute()));
paf0700f.set("P7_IMPORTORIT", converti_prezzo(importo_ritenute));
paf0700f.set("P7_ALIQUOTARIT", sp.perc());
static TString caus_la; caus_la.cut(0);
caus_la << sp.get("S14")[0];
@ -1324,24 +1324,24 @@ bool TDoc_fp::add_cassa_previdenziale(TRiga_documento& rdoc)
paf0800f.set("P8_RIFNUMLINEA", _idx_cassa_previdenziale++);
// Resto
const TSpesa_prest& sp = rdoc.spesa();
const real imponibile_ritenuta = rdoc.doc().ritenute();//calc_ritenuta(rdoc.doc());
const real importo_cassa = imponibile_ritenuta * sp.perc() / CENTO;
const real imponibile_doc = rdoc.doc().prestazioni();//calc_ritenuta(rdoc.doc());
const real importo_cassa = imponibile_doc * sp.perc() / CENTO;
paf0800f.set("P8_TIPOCASSA", sp.cassa_previdenziale());
// Aliquota della cassa
paf0800f.set("P8_ALIQCASSA", sp.perc());
// Importo contributo cassa
paf0800f.set("P8_IMCONTRCASSA", converti_prezzo(importo_cassa));
// Imponibile cassa
paf0800f.set("P8_IMPONCASSA", converti_prezzo(imponibile_ritenuta));
paf0800f.set("P8_IMPONCASSA", converti_prezzo(imponibile_doc));
// Aliquota applicata alla riga spesa
paf0800f.set("P8_ALIQIVA", rdoc.iva().percentuale());
if(sp.sogg_a_rit())
paf0800f.set("P8_RITENUTA", "SI");
paf0800f.set("P8_NATURA", rdoc.iva().natura());
// Inserisco il tutto nei dati riepilogo
TRiepilogo_agg& pop = _riepilogo_agg[rdoc.iva().codice()];
/*TRiepilogo_agg& pop = _riepilogo_agg[rdoc.iva().codice()];
pop.imponibile += importo_cassa;
pop.imposta += importo_cassa * rdoc.iva().percentuale() / CENTO;
pop.imposta += importo_cassa * rdoc.iva().percentuale() / CENTO;*/
return insert(paf0800f);
}