From ad60df5390c7b8f387858ba1d26bc564d66d2750 Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Mon, 27 Dec 2021 16:59:00 +0100 Subject: [PATCH] Patch level : nopatch Files correlati : Commento : Implementazione FP --- src/fp/fp0300.cpp | 48 +++++++++++++++++++++++----------------------- src/fp/fplib.h | 1 - src/fp/fplib01.cpp | 11 +++++------ 3 files changed, 29 insertions(+), 31 deletions(-) diff --git a/src/fp/fp0300.cpp b/src/fp/fp0300.cpp index 894d1f726..4aa7e5a7e 100644 --- a/src/fp/fp0300.cpp +++ b/src/fp/fp0300.cpp @@ -154,8 +154,6 @@ void TPA_mask::fill() TSheet_field& docs = sfield(F_DOCS); TString_array& sht = docs.rows_array(); - docs.hide(); - sht.destroy(); const TDate dal = get(F_DATAINI); @@ -200,19 +198,20 @@ void TPA_mask::fill() { if (!pi.add_status()) break; - const TRectype& doc = rec.cursor()->curr(); - const TTipo_documento& td = cached_tipodoc(doc.get(DOC_TIPODOC)); + const TDocumentoEsteso doc(rec.cursor()->curr()); // Controllo che la numerazione sia tra quelle giuste - // Controllo che il tipo documento sia OK if(!check_doc_filter(doc)) continue; + const TTipo_documento& td = doc.tipo(); //cached_tipodoc(doc.get(DOC_TIPODOC)); bool sent = false; + if (chiave_paf_doc(doc, hfatt, bfatt)) { - if (paf0100f.search(nullptr, hfatt, bfatt) && paf0100f.sq_get("P1_GESTIONE") != " " && paf0100f.sq_get("P1_ERRINT") != "*") + if (paf0100f.search(nullptr, hfatt, bfatt) && paf0100f.sq_get("P1_GESTIONE") != " " && + paf0100f.sq_get("P1_GESTIONE") != "0" && paf0100f.sq_get("P1_ERRINT") != "*") { if (paf0100f.sq_get("P1_GESTIONE") != filter_selected) continue; @@ -224,24 +223,25 @@ void TPA_mask::fill() TToken_string& row = docs.row(-1); row = sent ? " " : "X"; - row.add(rec.get(DOC_ANNO).as_int(), 1); - row.add(rec.get(DOC_CODNUM).as_string()); - row.add(rec.get(DOC_TIPODOC).as_string()); + row.add(doc.get_int(DOC_ANNO), 1); + row.add(doc.get(DOC_CODNUM)); + row.add(doc.get(DOC_TIPODOC)); - TString tipodoc = rec.get(DOC_TIPODOCSDI).as_string(); + TString tipodoc = doc.get(DOC_TIPODOCSDI); if (tipodoc.blank()) tipodoc = td.tipo_doc_sdi(); if (today 0) { const TRectype& mov = cache().get(LF_MOV, numreg); @@ -273,13 +275,11 @@ void TPA_mask::fill() row.add(split ? "X" : " "); const bool attach = !rec.get("COLL_GOLEM").is_empty(); + row.add(attach ? "X" : " "); row.add((!td.invio_xml()) ? "X" : ""); } - docs.force_update(); - docs.show(); - if (fat_no_cod > 0) warning_box("Sono state trovate una o più fatture senza codice destinatario né pec"); } @@ -639,7 +639,7 @@ bool TPA_mask::check_doc_filter(const TDocumentoEsteso& d) const const TString& codnum = d.get(DOC_CODNUM); const TString& tipodoc = d.get(DOC_TIPODOC); const char stato = d.stato(); - const TTipo_documento& td = cached_tipodoc(d.get(DOC_TIPODOC)); + const TTipo_documento& td = d.tipo(); // cached_tipodoc(d.get(DOC_TIPODOC)); // Mi precarico la tabella dei documenti scelti FOR_EACH_SHEET_ROW(sfield(F_DOCUMENTI_TIPO), nr, row) { diff --git a/src/fp/fplib.h b/src/fp/fplib.h index d1ffa37e0..5583f9b82 100644 --- a/src/fp/fplib.h +++ b/src/fp/fplib.h @@ -567,7 +567,6 @@ protected: const TRectype& cco(const TRectype& doc) const; // Contratto/Convenzione/Offerta const char * stato_paf() const { return _provvisorio ? "X" : "D"; } - const TString & natura(const char* codiva) const; static const char* get_esigibilita_iva(const TDocumentoEsteso& doc); void set_IVA(TString codiva, TPaf_record& paf) const; diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp index 5552ce105..c7d00f643 100644 --- a/src/fp/fplib01.cpp +++ b/src/fp/fplib01.cpp @@ -1616,8 +1616,9 @@ bool TDoc_fp::export_info_articolo(TFPRiga_documento* rdoc, TPaf_record& paf1900 for (int i = 0; i < FR_CMAX; i++) { const TString scat(rdoc->get(conai_sottocat_name(i))); + const real peso_conai = rdoc->get_real(conai_peso_name(i)).string(); - if (scat.full() && cache().get("&VESCC", scat).not_empty() && !_has_cust) + if (scat.full() && peso_conai != ZERO && cache().get("&VESCC", scat).not_empty() && !_has_cust) { reset(paf2100f); paf2100f.set("PK_KEYNLINEA", static_cast(riga_doc)); @@ -1628,7 +1629,7 @@ bool TDoc_fp::export_info_articolo(TFPRiga_documento* rdoc, TPaf_record& paf1900 msg_conai << "Contributo CONAI " << conai_material(conai_str2class(scat)) << " (Kg)"; paf2100f.set("PK_TIPODATO", "CONAI"); paf2100f.set("PK_RIFDATO", msg_conai); - paf2100f.set("PK_RIFNUMERO", rdoc->get_real(conai_peso_name(i)).string()); + paf2100f.set("PK_RIFNUMERO", peso_conai); ok &= insert(paf2100f); @@ -2729,7 +2730,7 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc) pafw300f.set("PW_NUMERO", doc.numero()); pafw300f.set("PW_DATA", doc.data()); - if (!cached_tipodoc(doc.get(DOC_TIPODOC)).invio_xml() || doc.noinvioxml()) + if (!cached_tipodoc(doc.get(DOC_TIPODOC)).invio_xml() || doc.noinvioxml() || _provvisorio) { pafw300f.set("PW_CODSDI", "**********"); } @@ -3404,10 +3405,8 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov) pafw300f.set("PW_TIPONUM", ""); //TODO COSA CI METTIAMO NEL TIPO NUM pafw300f.set("PW_NUMERO", mov.get(MOV_NUMDOC)); pafw300f.set("PW_DATA", mov.get_date(MOV_DATADOC)); - /* - if (!cached_tipodoc(doc.get(DOC_TIPODOC)).invio_xml() || doc.noinvioxml()) //TODO COSA CI VA MESSO?? COSA VUOL DIRE INVIO XML + if (!_definitivo) pafw300f.set("PW_CODSDI", "**********"); - */ pafw300f.set("PW_CDEST", _coddest); pafw300f.set("PW_RAGSOC", fornitore.ragione_sociale().left(35)); pafw300f.set("PW_PAESE", fornitore.stato_residenza_ISO());