From dc3ec9197f12970189a0ff7e6dfbd42cf1f12af9 Mon Sep 17 00:00:00 2001 From: francescofucarino Date: Mon, 23 Nov 2020 15:32:48 +0100 Subject: [PATCH] Patch level : 12.0 1012 Files correlati : fp0.exe Commento : Troncati a due(2 char) i codici natura IVA nell'invio Fatture, prima della data impostata in configurazione fp Interno : --- src/fp/fplib.h | 6 +++--- src/fp/fplib01.cpp | 11 ++++++----- src/ps/ps0713700.cpp | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/fp/fplib.h b/src/fp/fplib.h index 3caf0adaa..5434542d7 100644 --- a/src/fp/fplib.h +++ b/src/fp/fplib.h @@ -482,7 +482,7 @@ private: bool _nascondi_sconti_righe_fatt; TFP_nota_piede_f _riga_npf; bool _has_cust; - + bool _tracciati_2021; // Classe interna per gestire righe aggiuntive in riepilogo class TRiepilogo_agg { @@ -533,7 +533,7 @@ protected: const TRectype& cco(const TRectype& doc) const; // Contratto/Convenzione/Offerta void log(int severity, const char* msg); - const TString & natura(const char* codiva, const bool corto=true) const; + 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; void set_IVA(const TRiga_documento& rdoc, TPaf_record& paf) const; @@ -566,7 +566,7 @@ public: int commit(); int force_commit(); void set_cache_insert(const bool v) { _cache_insert = v; } - + bool tracciati_2021() const { return _tracciati_2021; } TDoc_fp(); ~TDoc_fp(); }; diff --git a/src/fp/fplib01.cpp b/src/fp/fplib01.cpp index 1dc1c87e0..af990718e 100644 --- a/src/fp/fplib01.cpp +++ b/src/fp/fplib01.cpp @@ -992,7 +992,7 @@ bool TDoc_fp::check_row(const TRiga_documento& rdoc) } } const TCodiceIVA& codice_iva = rdoc.iva(); - if (codice_iva.codice().full() && codice_iva.percentuale() == ZERO && natura(codice_iva.codice(),false).empty()) + if (codice_iva.codice().full() && codice_iva.percentuale() == ZERO && natura(codice_iva.codice()).empty()) { msg.cut(0) << "Impossibile avere la natura non valorizzata a fronte di una aliquota con percentuale zero. Codice IVA: "; msg << codice_iva.codice(); log(1, msg); @@ -1004,7 +1004,7 @@ bool TDoc_fp::check_riepilogo(const TDocumentoEsteso& doc, const TRiepilogo_iva& { bool ok = true; static TString msg; - if(*get_esigibilita_iva(doc) == 'S' && natura(riva.cod_iva().codice(),true) == "N6") + if(*get_esigibilita_iva(doc) == 'S' && natura(riva.cod_iva().codice()) == "N6") { msg.cut(0) << "Impossibile avere un documento con scissione dei pagamenti e natura iva N6, codice: " << riva.cod_iva().codice(); log(1, msg); @@ -1179,13 +1179,13 @@ int TDoc_fp::force_commit() _to_commit = true; return commit(); } -const TString & TDoc_fp::natura(const char* codiva, const bool corto) const +const TString & TDoc_fp::natura(const char* codiva) const { const TCodiceIVA iva(codiva); TString & natura = get_tmp_string(4); natura = iva.natura(); - if (corto && natura.len() > 2) + if (!tracciati_2021() && natura.len() > 2) natura = natura.sleft(2); return natura; } @@ -2523,7 +2523,8 @@ TDoc_fp::TDoc_fp() : _doc_rec(nullptr), _log(nullptr), _cache_insert(false) { _ditta.init(LF_NDITTE, prefix().get_codditta()); _cofi = fp_settings().get_cofi_tras(); - + const TDate data_inizio = fp_settings().get_date_start_new_fatt(); + _tracciati_2021 = (data_inizio <= today); if (_cofi.blank()) _cofi = _ditta.codice_fiscale(); #ifdef DBG diff --git a/src/ps/ps0713700.cpp b/src/ps/ps0713700.cpp index d7a66b980..0ebb5c385 100755 --- a/src/ps/ps0713700.cpp +++ b/src/ps/ps0713700.cpp @@ -1,4 +1,4 @@ -#include "../cg/cglib01.h" +#include "../cg/cglib.h" #include "../ca/calib01.h" #include "../ca/movana.h"