From ff385e6c4ba42c100ae041642819e95dd950a2ee Mon Sep 17 00:00:00 2001 From: smen Date: Mon, 26 Sep 2022 12:38:59 +0200 Subject: [PATCH] Patch level : 12.0 Files correlati : fp0700.cpp, fplib01.cpp Commento: Sistemato il campo P2_FISCIVACOD per i clienti extra CEE. Prima l'identificativo fiscale per gli extra CEE veniva riportato nel campo P2_CODFISCALE e la fattura veniva scartata. Ora invece viene scritto nel campo P2_FISCIVACOD. --- src/fp/fp0700.cpp | 14 +++++++++++--- src/fp/fplib01.cpp | 16 +++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/fp/fp0700.cpp b/src/fp/fp0700.cpp index dcd948228..107059dfa 100644 --- a/src/fp/fp0700.cpp +++ b/src/fp/fp0700.cpp @@ -497,7 +497,7 @@ void TPAR_mask::export_paf() void TPAR_mask::print_reg() { TSheet_field& sht = sfield(F_REGS); - const TString &tipo_doc_sdi = get(F_TIPO_SDI); + //const TString &tipo_doc_sdi = get(F_TIPO_SDI); TReport_book book; //elab.set_cache_insert(true); @@ -513,12 +513,20 @@ void TPAR_mask::print_reg() if (sht.get_bool_row_cell(r, S_SELECTED)) { const long nreg = sht.get_long_row_cell(r, S_NUMREG); - TProgram_report mov_rep("fp0700a"); + + TProgram_report mov_rep; + const TString &td = sht.get_str_row_cell(r, S_TIPODOC); + + if (td != "TD28") + mov_rep.load("fp0700a"); + else + mov_rep.load("fp0700b"); + TISAM_recordset * recset = (TISAM_recordset *)mov_rep.recordset(); const TRectype & mov = cache().get(LF_MOV, nreg); recset->set_var("#NUM", nreg, true); - recset->set_var("#TIPODOCSDI", tipo_doc_sdi, true); + recset->set_var("#TIPODOCSDI", td, true); const TCausale & caus = cached_causale(mov.get(MOV_CODCAUS), mov.get_int(MOV_ANNOES)); diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp index 8360ae9e8..2a28c0869 100644 --- a/src/fp/fplib01.cpp +++ b/src/fp/fplib01.cpp @@ -3418,7 +3418,17 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov) paf0200f.set("P2_FISCIVAPAESE", fornitore.stato_partita_IVA()); paf0200f.set("P2_FISCIVACOD", fornitore.partita_IVA()); } - paf0200f.set("P2_CODFISCALE", fornitore.codice_fiscale()); + + if (fornitore.estero_non_CEE()) + { + paf0200f.set("P2_FISCIVAPAESE", fornitore.stato_partita_IVA()); + paf0200f.set("P2_FISCIVACOD", fornitore.codice_fiscale()); + paf0200f.set("P2_CODFISCALE", ""); + } + else + { + paf0200f.set("P2_CODFISCALE", fornitore.codice_fiscale()); + } const bool df = _ditta.fisica(); @@ -3446,7 +3456,7 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov) // I clienti esteri possono avere CAP alfanumerici, li tolgo if (fornitore.stato_residenza_ISO() != "IT") { - paf0200f.set("P2_SEDECAP", "00000"); + paf0200f.set("P2_SEDECAP", ""); } else { @@ -3659,7 +3669,7 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov) pafw300f.set("PW_TIPONUM", caus.reg().name()); //TODO COSA CI METTIAMO NEL TIPO NUM ava pafw300f.set("PW_NUMERO", mov.get(MOV_NUMDOC)); pafw300f.set("PW_DATA", mov.get_date(MOV_DATADOC)); - pafw300f.set("PW_CDEST", _coddest); + pafw300f.set("PW_CDEST", _coddest); //CHECKARE pafw300f.set("PW_RAGSOC", fornitore.ragione_sociale().left(35)); pafw300f.set("PW_PAESE", fornitore.stato_residenza_ISO()); pafw300f.set("PW_CODICE", fornitore.codice_fiscale_estero());