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>
TPaf_record& paf0400f = _paf_container.get_paf("PAF0400F");
#ifndef DBG
// Per soggetti non italiani con solo codice fiscale va messo lo stato e il codice fiscale
if (cliente.partita_IVA().full())
{
paf0400f.set("P4_FISCIVAPAESE", cliente.stato_partita_IVA());
paf0400f.set("P4_FISCIVACOD", cliente.partita_IVA());
}
else if(cliente.stato_partita_IVA() != "IT")
{
const TString& stato_paiv = cliente.stato_partita_IVA();
paf0400f.set("P4_FISCIVAPAESE", stato_paiv.full() ? stato_paiv : cliente.stato_residenza_ISO());
paf0400f.set("P4_FISCIVACOD", cliente.codice_fiscale());
}
else
TString stato = cliente.stato_partita_IVA();
TTable tab_codiso("%SCE");
tab_codiso.tab();
tab_codiso.put("CODTAB", stato); tab_codiso.read();
const TString &piva = cliente.partita_IVA(),
&fisc = cliente.codice_fiscale();
if (!stato.full())
stato = "IT";
paf0400f.set("P4_FISCIVAPAESE", stato); // Per tutti
if(tab_codiso.get_bool("B0")) // Cliente EU
{
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
paf0400f.set("P4_FISCIVAPAESE", "IT");