Patch level : 12.0 940

Files correlati     : fp0.exe
Commento            : Corretta esportazione partite iva e codici fiscali in fattura elettronica. Problema uscito per i clienti gruppi iva.
This commit is contained in:
Simone Palacino 2020-02-12 16:57:45 +01:00
parent 13a2cc7403
commit 7e254c164f

View File

@ -1542,21 +1542,28 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
// <CessionarioCommittente> // <CessionarioCommittente>
TPaf_record& paf0400f = _paf_container.get_paf("PAF0400F"); TPaf_record& paf0400f = _paf_container.get_paf("PAF0400F");
#ifndef DBG #ifndef DBG
// Per soggetti non italiani con solo codice fiscale va messo lo stato e il codice fiscale TString stato = cliente.stato_partita_IVA();
if (cliente.partita_IVA().full()) TTable tab_codiso("%SCE");
{ tab_codiso.tab();
paf0400f.set("P4_FISCIVAPAESE", cliente.stato_partita_IVA()); tab_codiso.put("CODTAB", stato); tab_codiso.read();
paf0400f.set("P4_FISCIVACOD", cliente.partita_IVA()); const TString &piva = cliente.partita_IVA(),
} &fisc = cliente.codice_fiscale();
else if(cliente.stato_partita_IVA() != "IT") if (!stato.full())
{ stato = "IT";
const TString& stato_paiv = cliente.stato_partita_IVA(); paf0400f.set("P4_FISCIVAPAESE", stato); // Per tutti
paf0400f.set("P4_FISCIVAPAESE", stato_paiv.full() ? stato_paiv : cliente.stato_residenza_ISO()); if(tab_codiso.get_bool("B0")) // Cliente EU
paf0400f.set("P4_FISCIVACOD", cliente.codice_fiscale());
}
else
{ {
paf0400f.set("P4_CODFISC", cliente.codice_fiscale()); if(piva.full())
paf0400f.set("P4_FISCIVACOD", piva);
if(fisc.full())
paf0400f.set("P4_CODFISC", fisc);
}
else // Cliente EXTRA-EU sempre nel campo della partita iva sui paf
{
if (fisc.full()) // Guardo prima l'id fiscale, perche' e' qui che dovrebbero stare in Campo
paf0400f.set("P4_FISCIVACOD", fisc);
else if (piva.full()) // Altrimenti dovrebbe essere nella partita iva
paf0400f.set("P4_FISCIVACOD", piva);
} }
#else #else
paf0400f.set("P4_FISCIVAPAESE", "IT"); paf0400f.set("P4_FISCIVAPAESE", "IT");