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;
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();
};

View File

@ -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

View File

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