From d3ef1ee4800ffc69b3c138e6692f1c37fdbd646e Mon Sep 17 00:00:00 2001 From: smen Date: Fri, 4 Nov 2022 16:47:03 +0100 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=2012.?= =?UTF-8?q?0=20Files=20correlati=20=20=20=20=20:=20f9=20Commento:=20Sistem?= =?UTF-8?q?ato=20il=20contatore=20dell'archiviazione=20(Quello=20che=20ti?= =?UTF-8?q?=20dice=20quanti=20movimenti=20ha=20estratto,=20quanti=20in=20e?= =?UTF-8?q?rrore=20etc...)=20Aggiunto=20uno=20status=20apposta=20per=20i?= =?UTF-8?q?=20documenti=20che=20sono=20stati=20abbinati=20ma=20non=20appar?= =?UTF-8?q?tengono=20a=20nessuna=20cat=20doc=20(la=20cat=20doc=20ora=20non?= =?UTF-8?q?=20=C3=A8=20pi=C3=B9=20obbligatoria=20perche=20leggiamo=20il=20?= =?UTF-8?q?tipo=20doc=20dal=20fppro)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/f9/f90100.cpp | 23 +++++++++++++++++------ src/f9/f9lib.h | 3 ++- src/f9/f9lib01.cpp | 19 +++++++++++++++++-- 3 files changed, 36 insertions(+), 9 deletions(-) diff --git a/src/f9/f90100.cpp b/src/f9/f90100.cpp index 97cc6027a..c2b18049d 100644 --- a/src/f9/f90100.cpp +++ b/src/f9/f90100.cpp @@ -80,6 +80,11 @@ int TEstrai_mask::estrai() const TipoIVA& iva = reg.iva(); TString numdoc = mov.get_string(MOV_NUMDOCEXT); + long nreg = mov.get_long(MOV_NUMREG); + + if (nreg == 20045) + int here = 0; + if (escluso) int here = 0; @@ -101,21 +106,27 @@ int TEstrai_mask::estrai() // Effettiva estrazione. Faccio partire diagnostica e scrittura db. const result_estr result = _estrazione->estrai(); #ifdef DBG + int tot; + if(tipodoc == 'A') + tot = (int)_stats.fa_estr + (int)_stats.fa_err + (int)_stats.fa_skip; + else + tot = (int)_stats.fv_estr + (int)_stats.fv_err + (int)_stats.fv_cart_skip; TString msg; - msg << "total: " << (int)_stats.total << "\n"; + msg << "Tot. Docs : " << tot << "\n"; + if (tipodoc == 'A') { - msg << "Movimenti saltati: " << (int)_stats.fa_skip << "\n"; - msg << "Movimenti in errore: " << (int)_stats.fa_err << "\n"; - msg << "Movimenti estratti: " << (int)_stats.fa_estr << "\n"; - msg << "Movimenti senza cat. doc.: " << (int)_stats.fa_nocatdoc; + msg << "Movimenti estratti : " << (int)_stats.fa_estr << "\n"; + msg << "Movimenti in errore : " << (int)_stats.fa_err << "\n"; + msg << "Movimenti saltati : " << (int)_stats.fa_skip; + //msg << "Movimenti senza cat. doc.: " << (int)_stats.fa_nocatdoc; } else { msg << "Movimenti saltati poiche' cartacei: " << (int)_stats.fv_cart_skip << "\n"; msg << "Movimenti in errore: " << (int)_stats.fv_err << "\n"; msg << "Movimenti estratti: " << (int)_stats.fv_estr << "\n"; - msg << "Movimenti senza cat. doc.: " << (int)_stats.fv_nocatdoc; + //msg << "Movimenti senza cat. doc.: " << (int)_stats.fv_nocatdoc; } message_box(msg); #endif diff --git a/src/f9/f9lib.h b/src/f9/f9lib.h index b9b80a6e8..dc0ad9aeb 100644 --- a/src/f9/f9lib.h +++ b/src/f9/f9lib.h @@ -305,7 +305,8 @@ enum err_mov mov_no_cartaceo, // Movimento cartaceo che non ha bisogno di essere estratto. mov_pura_iva, // Movimento di sola IVA (integrazione Rev. Charge) mov_no_filecart, // Il documento cartaceo non ha associato un file, o questo non e' stato trovato. - mov_annesso_nexist // Un annesso obbligatorio e' mancante. + mov_annesso_nexist, // Un annesso obbligatorio e' mancante. + mov_nocat_butok // Non è stata trovata nessuna categoria documentale per il seguente documento. Verra usato il TIPODOCSDI presente nel FPPRO }; class TMovimento_estr : public TObject // aggiungere metodi per TArray diff --git a/src/f9/f9lib01.cpp b/src/f9/f9lib01.cpp index 5e8d7d4ea..614b2c1c9 100644 --- a/src/f9/f9lib01.cpp +++ b/src/f9/f9lib01.cpp @@ -61,6 +61,8 @@ const char* TMovimento_estr::err_mov2name(const err_mov descr_estr) return "Movimento di sola IVA. (Le integrazioni Rev. Charge sono gestite come annessi alle vendite)"; case mov_annesso_nexist: return "Un annesso obbligatorio e' mancante."; + case mov_nocat_butok: + return "OK (Nessuna categoria documentale trovata ma l'abbinamento è riuscito)"; default: return ""; } } @@ -830,6 +832,11 @@ const char* TEstrazione::diagnostica_mov() { const long numreg = mov_i.numreg(); + + if (numreg == 20045) { + int here = 0; + } + const TRectype & mov =cache().get(LF_MOV, numreg); mov_i.set_cartaceo(!is_doc_xml(mov)); @@ -840,10 +847,13 @@ const char* TEstrazione::diagnostica_mov() // OK case guessed: ok &= fppro_db().associa_mov(numreg); + ++_stats.fa_estr; + break; case correct: ok &= true; mov_i.reset_err(); mov_i.set_numdoc(fppro_db().get_numdoc()); + ++_stats.fa_estr; break; // ERRORS @@ -897,9 +907,14 @@ const char* TEstrazione::diagnostica_mov() TClasse_doc * cd = categorie_doc().mov2cat(mov_i.numreg()); const bool found = cd != nullptr; - mov_i.set_estratto(found); - mov_i.set_descr_estr(cd ? mov_no_error : mov_no_catdoc); + if (found) + mov_i.set_descr_estr(mov_no_error); + else + mov_i.set_descr_estr(mov_nocat_butok); + mov_i.set_estratto(true); + + // DA CONTROLLARE if (found) check_annessi(mov_i, numreg); }