From 6d4be4fadbd0ef8267e553b8ce8b23031c27fdbe Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Wed, 8 Sep 2021 16:37:42 +0200 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=2012.?= =?UTF-8?q?0=201076=20Files=20correlati=20=20=20=20=20:=20ve0.exe=20ve1.ex?= =?UTF-8?q?e=20ve5.exe=20ve6.exe=20fp0.exe=20li0300a.msk=20lv2.exe=20Comme?= =?UTF-8?q?nto=20=20=20=20=20=20=20=20:=20In=20fatturazione=20bolle=20scri?= =?UTF-8?q?tto=20il=20cliente=20originale=20della=20fattura=20nel=20campo?= =?UTF-8?q?=20CFORIG=20quando=20uso=20il=20cliente=20FATTURARE=20A=20per?= =?UTF-8?q?=20poterlo=20recuperae=20nelle=20lettere=20d'intento=20In=20con?= =?UTF-8?q?figurazione=20delle=20lettere=20d'intento=20c'=C3=A8=20il=20par?= =?UTF-8?q?ametro=20"Uitlizza=20il=20cliente=20originale=20nelle=20fatture?= =?UTF-8?q?"=20per=20attivare=20il=20meccanismo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ve/velib03.cpp | 16 +++++++++++++--- src/ve/velib04a.cpp | 13 +++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/ve/velib03.cpp b/src/ve/velib03.cpp index be6d5c005..09e5e978d 100755 --- a/src/ve/velib03.cpp +++ b/src/ve/velib03.cpp @@ -987,7 +987,7 @@ void TDocumento::update_esenzione() else { const TCodiceIVA i(cod); - const bool plafond = i.get_int("S3") > 0; + const bool plafond = i.has_plafond(); if (plafond) { @@ -2848,11 +2848,21 @@ const real TDocumento::importo_plafond_salvato() const TLi_manager & TDocumento::plafond(bool force_reload) { - const char tipo = tipocf(); - const long codice = codcf(); + char tipo = tipocf(); + long codice = codcf(); const TDate data = get_date(DOC_DATADOC); const int anno = data.year(); + if (ini_get_bool(CONFIG_DITTA, "li", "CFORIGINAL")) + { + TToken_string key(get(DOC_CFORIG)); + + if (key.full()) + { + tipo = key.get()[0]; + codice = key.get_long(); + } + } if (_plafond == nullptr) _plafond = new TLi_manager(tipo, codice, anno); else diff --git a/src/ve/velib04a.cpp b/src/ve/velib04a.cpp index a11961947..63f794f9b 100755 --- a/src/ve/velib04a.cpp +++ b/src/ve/velib04a.cpp @@ -402,12 +402,14 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do TDocumento& campione = doc_in[id]; const char orig_t = campione.get_char(DOC_TIPOCF); const long orig_cod = campione.get_long(DOC_CODCF); + TToken_string cf_orig; if (change_clifo()) { const char t = campione.get_char(DOC_TIPOCFFATT); long codcf = campione.get_long(DOC_CODCFFATT); + if (t > ' ') { campione.put(DOC_TIPOCF, t); @@ -425,6 +427,11 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do if (interattivo) doc_out[0].put(DOC_CODCF, codcf); } + if (t > ' ' || codcf > 0L) + { + cf_orig = campione.get(DOC_TIPOCF); + cf_orig.add(orig_cod); + } } if (_lista_campi.full()) { @@ -504,6 +511,8 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do const TString4 codnum(out.get(DOC_CODNUM)); if (cached_numerazione(codnum).num_provv()) out.put(DOC_PROVV, 'P'); + if (cf_orig.full()) + out.put(DOC_CFORIG, cf_orig); } else { @@ -550,6 +559,10 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do new_doc->zero(DOC_SPESEUPD); // Senno' non aggiorna le spese automatiche new_doc->put(DOC_DATADOC, data_elab); new_doc->zero(DOC_IMPPAGATO); // 30 Luglio 2015 per Hardy + if (cf_orig.full()) + new_doc->put(DOC_CFORIG, cf_orig); + else + new_doc->zero(DOC_CFORIG); // Aggiungilo alla lista dei documenti in uscita od = doc_out.add(new_doc);