diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp index 00650673c..780f0fbe0 100644 --- a/src/fp/fplib01.cpp +++ b/src/fp/fplib01.cpp @@ -1305,15 +1305,26 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc) if(doc.get("CODVETT1").full()) { TRectype vet = cache().get("%VET", doc.get("CODVETT1")); - TString4 statopiva = vet.get("S3").mid(49, 2); - TString piva = vet.get("S3").mid(20, 28); + const TString4 statopiva = vet.get("S3").mid(49, 2); + const TString piva = vet.get("S3").mid(20, 28); + const TString codfisc = vet.get("S13").mid(28, 16); + + if(piva.empty() && codfisc.empty()) + { + TString msg = "Il vettore "; + msg << vet.get("S0").mid(0, 50) << " non ha nč codice fiscale nč partita IVA, la fattura " << doc.anno() << " " << doc.codice_numerazione() << " " << doc.numero() << " non puņ essere trasmessa"; + log(3, msg); + return false; + } + + if(statopiva.full() && piva.full()) { paf1700f.set("PG_FISCIVAPAESE", statopiva.full() ? statopiva : "IT"); paf1700f.set("PG_FISCIVACODICE", piva); } - paf1700f.set("PG_CODICEFISCALE", vet.get("S13").mid(28, 16)); + paf1700f.set("PG_CODICEFISCALE", codfisc); if (vet.get_bool("B0")) {