From 0a05d1ed2a73ab07207473c43c7c21fdea34bfda Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Tue, 7 Jul 2020 15:25:11 +0200 Subject: [PATCH] 2Patch level : 12.0 974 Files correlati : f90.exe Commento : Contollato l'addebito CONAI e che la categoria CONAI esista. Deve provarlo Simone prima di faare la patch soptrattutto su chi ha il CONAI. --- src/fp/fplib01.cpp | 73 +++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 34 deletions(-) diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp index dd23d2968..920ca5a22 100644 --- a/src/fp/fplib01.cpp +++ b/src/fp/fplib01.cpp @@ -1379,50 +1379,55 @@ bool TDoc_fp::export_info_articolo(TFPRiga_documento* rdoc, TPaf_record& paf1900 } } } + // Controllo se ha il CONAI in tal caso aggiungo i dati - for (int i = 0; i < FR_CMAX; i++) - { - if (rdoc->get(conai_peso_name(i)).full() && !_has_cust) + const TTipo_documento & tipodoc = rdoc->doc().tipo(); + + if (tipodoc.add_conai()) + for (int i = 0; i < FR_CMAX; i++) { - reset(paf2100f); - paf2100f.set("PK_KEYNLINEA", static_cast(riga_doc)); - paf2100f.set("PK_KEYNLINAR", _idx_adg_doc_row++); + const TString scat(rdoc->get(conai_sottocat_name(i))); - TString scat = rdoc->get(conai_sottocat_name(i)); - TString msg_conai; + if (scat.full() && cache().get("&VESCC", scat).not_empty() && !_has_cust) + { + reset(paf2100f); + paf2100f.set("PK_KEYNLINEA", static_cast(riga_doc)); + paf2100f.set("PK_KEYNLINAR", _idx_adg_doc_row++); - 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()); - ok &= insert(paf2100f); + TString msg_conai; + + 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()); + ok &= insert(paf2100f); - TLocalisamfile cfven(LF_CFVEN); - cfven.put("TIPOCF", "C"); - cfven.put("CODCF", rdoc->doc().codcf()); - cfven.read(); - TString esen_field = conai_esenzione_name(conai_str2class(scat)); + TLocalisamfile cfven(LF_CFVEN); + cfven.put("TIPOCF", "C"); + cfven.put("CODCF", rdoc->doc().codcf()); + cfven.read(); + TString esen_field = conai_esenzione_name(conai_str2class(scat)); - real perc_esenz = cfven.get_real(esen_field); - if (perc_esenz > ZERO) - { - reset(paf2100f); - paf2100f.set("PK_KEYNLINEA", static_cast(riga_doc)); - paf2100f.set("PK_KEYNLINAR", _idx_adg_doc_row++); + real perc_esenz = cfven.get_real(esen_field); + if (perc_esenz > ZERO) + { + reset(paf2100f); + paf2100f.set("PK_KEYNLINEA", static_cast(riga_doc)); + paf2100f.set("PK_KEYNLINAR", _idx_adg_doc_row++); - real qta = rdoc->calc_conai_qta(i); - qta = qta * perc_esenz / CENTO; - qta.round(2); - TString msg_esen; msg_esen << "Esenzione CONAI sul totale riga (Kg)"; + real qta = rdoc->calc_conai_qta(i); + qta = qta * perc_esenz / CENTO; + qta.round(2); + TString msg_esen; msg_esen << "Esenzione CONAI sul totale riga (Kg)"; - paf2100f.set("PK_TIPODATO", "ESEN CONAI"); - paf2100f.set("PK_RIFDATO", msg_esen); - paf2100f.set("PK_RIFNUMERO", qta); - ok &= insert(paf2100f); - } + paf2100f.set("PK_TIPODATO", "ESEN CONAI"); + paf2100f.set("PK_RIFDATO", msg_esen); + paf2100f.set("PK_RIFNUMERO", qta); + ok &= insert(paf2100f); + } + } } - } return ok; } const TFirm& TDoc_fp::get_firm()