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 :
This commit is contained in:
francescofucarino 2020-11-23 15:32:48 +01:00
parent 5d48585700
commit dc3ec9197f
3 changed files with 10 additions and 9 deletions

View File

@ -482,7 +482,7 @@ private:
bool _nascondi_sconti_righe_fatt; bool _nascondi_sconti_righe_fatt;
TFP_nota_piede_f _riga_npf; TFP_nota_piede_f _riga_npf;
bool _has_cust; bool _has_cust;
bool _tracciati_2021;
// Classe interna per gestire righe aggiuntive in riepilogo // Classe interna per gestire righe aggiuntive in riepilogo
class TRiepilogo_agg class TRiepilogo_agg
{ {
@ -533,7 +533,7 @@ protected:
const TRectype& cco(const TRectype& doc) const; // Contratto/Convenzione/Offerta const TRectype& cco(const TRectype& doc) const; // Contratto/Convenzione/Offerta
void log(int severity, const char* msg); 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); static const char* get_esigibilita_iva(const TDocumentoEsteso& doc);
void set_IVA(TString codiva, TPaf_record& paf) const; void set_IVA(TString codiva, TPaf_record& paf) const;
void set_IVA(const TRiga_documento& rdoc, TPaf_record& paf) const; void set_IVA(const TRiga_documento& rdoc, TPaf_record& paf) const;
@ -566,7 +566,7 @@ public:
int commit(); int commit();
int force_commit(); int force_commit();
void set_cache_insert(const bool v) { _cache_insert = v; } void set_cache_insert(const bool v) { _cache_insert = v; }
bool tracciati_2021() const { return _tracciati_2021; }
TDoc_fp(); TDoc_fp();
~TDoc_fp(); ~TDoc_fp();
}; };

View File

@ -992,7 +992,7 @@ bool TDoc_fp::check_row(const TRiga_documento& rdoc)
} }
} }
const TCodiceIVA& codice_iva = rdoc.iva(); 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(); 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); log(1, msg);
@ -1004,7 +1004,7 @@ bool TDoc_fp::check_riepilogo(const TDocumentoEsteso& doc, const TRiepilogo_iva&
{ {
bool ok = true; bool ok = true;
static TString msg; 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(); msg.cut(0) << "Impossibile avere un documento con scissione dei pagamenti e natura iva N6, codice: " << riva.cod_iva().codice();
log(1, msg); log(1, msg);
@ -1179,13 +1179,13 @@ int TDoc_fp::force_commit()
_to_commit = true; _to_commit = true;
return commit(); 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); const TCodiceIVA iva(codiva);
TString & natura = get_tmp_string(4); TString & natura = get_tmp_string(4);
natura = iva.natura(); natura = iva.natura();
if (corto && natura.len() > 2) if (!tracciati_2021() && natura.len() > 2)
natura = natura.sleft(2); natura = natura.sleft(2);
return natura; 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()); _ditta.init(LF_NDITTE, prefix().get_codditta());
_cofi = fp_settings().get_cofi_tras(); _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()) if (_cofi.blank())
_cofi = _ditta.codice_fiscale(); _cofi = _ditta.codice_fiscale();
#ifdef DBG #ifdef DBG

View File

@ -1,4 +1,4 @@
#include "../cg/cglib01.h" #include "../cg/cglib.h"
#include "../ca/calib01.h" #include "../ca/calib01.h"
#include "../ca/movana.h" #include "../ca/movana.h"