From 1869b54485546c99546a40e2f829693862b12696 Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Tue, 15 Mar 2022 11:27:41 +0100 Subject: [PATCH] Patch level : 12.0 1124 Files correlati : fp0.exe Commento : MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Corretto l'inserimento del prezzo unitario sul PAF1800 colonna PI_PREZZOUNIT che veniva in alcuni casi positivizzato se negativo. Da testare l'invio di fatture con quantità e prezzi negativi per accertarsi che la modifica non sballi con altri valori. Corretti i filtri sui dalsi di analitica nelle stampe considerava anch il saldi con contabilità sepatrata non vuota ma questi sono già compresi nei saldi complessivi (contabilità seprata vuota --- src/ca/ca3300.cpp | 4 ++-- src/ca/ca3883.cpp | 14 +++++++------- src/ca/calib02.cpp | 17 +++++++---------- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/ca/ca3300.cpp b/src/ca/ca3300.cpp index 551b1548e..817c8286d 100755 --- a/src/ca/ca3300.cpp +++ b/src/ca/ca3300.cpp @@ -554,8 +554,8 @@ void TRecordset_sezioni_contrapposte::add_conto(int indbil, const TString& b) // } select << (select.full() ? "&&" : "") << "(TRIM(" << SALDANA_FASE << "[1," << len << "])==\"" << _filter.fase() << "\") "; } - if (_contsep.full()) - select << (select.full() ? "&&" : "") << "(" << SALDANA_CONTSEP << _contsep << "\") "; + // if (_contsep.full()) + select << (select.full() ? "&&" : "") << "(" << SALDANA_CONTSEP << "==\"" << _contsep << "\")"; if (select.full()) query << "SELECT " << select; diff --git a/src/ca/ca3883.cpp b/src/ca/ca3883.cpp index 0e2551ed2..378c2f4f1 100755 --- a/src/ca/ca3883.cpp +++ b/src/ca/ca3883.cpp @@ -194,6 +194,7 @@ int TPrint_saldana_recordset::estrai_saldi(const TRectype& saldana, const int in const TImporto imp_saldo(saldana.get_char(SALDANA_SEZIONE), saldana.get_real(SALDANA_SALDO)); const TImporto imp_saldop(saldana.get_char(SALDANA_SEZIONEP), saldana.get_real(SALDANA_SALDOP)); const TImporto imp_saldov(saldana.get_char(SALDANA_SEZIONEV), saldana.get_real(SALDANA_SALDOV)); + if (!imp_saldo.is_zero() || !imp_saldop.is_zero() || !imp_saldov.is_zero()) { if (indbil == 3) //indbil=3 costi @@ -361,8 +362,8 @@ void TPrint_saldana_recordset::aggiorna_importo(TAssoc_array& riga_array, const //ci sono tutti i tipi di saldo, ma solo quelli che rientrano nei parametri iniziali.. //..verranno considerati (_tipostima,indbil) TImporto imp_saldo, imp_saldop; - estrai_saldi(saldana, indbil, imp_saldo, imp_saldop, is_detrazione, is_totale); + estrai_saldi(saldana, indbil, imp_saldo, imp_saldop, is_detrazione, is_totale); if (is_detrazione) // Se è una detrazione deve sottrarre l'importo = scambia la sezione { imp_saldo.swap_section(); @@ -609,13 +610,12 @@ const TString& TPrint_saldana_recordset::crea_select(const int logicnum) } break; } - if (_contsep.full()) - { - TString clause = SALDANA_CONTSEP; - clause << "=\"" << _contsep << "\""; - ca_append_and(select, clause); - } + TString clause = SALDANA_CONTSEP; + + clause << "=\"" << _contsep << "\""; + ca_append_and(select, clause); + return get_tmp_string() = select; } diff --git a/src/ca/calib02.cpp b/src/ca/calib02.cpp index 07398bddc..3075ee6d4 100755 --- a/src/ca/calib02.cpp +++ b/src/ca/calib02.cpp @@ -796,32 +796,29 @@ bool TSaldi_cache::int_saldo_annuale(const TAnal_bill& b, const TString & contse TString query, select; if (b.costo().full()) - select << "(COSTO=='" << (b.costo() == "~" ? "" : b.costo()) << "')"; + select << "(" << SALDANA_COSTO << "=='" << (b.costo() == "~" ? "" : b.costo()) << "')"; if (b.commessa().full()) { if (select.full()) select << "&&"; - select << "(COMMESSA=='" << (b.commessa() == "~" ? "" : b.commessa()) << "')"; + select << "(" << SALDANA_COMMESSA << "=='" << (b.commessa() == "~" ? "" : b.commessa()) << "')"; } if (b.fase().full()) { if (select.full()) select << "&&"; - select << "(FASE=='" << (b.fase() == "~" ? "" : b.fase()) << "')"; + select << "(" << SALDANA_FASE << "=='" << (b.fase() == "~" ? "" : b.fase()) << "')"; } if (da_anno > 0) { if (select.full()) select << "&&"; - select << "(ANNO>=" << da_anno << ")"; + select << "(" << SALDANA_ANNO << ">=" << da_anno << ")"; } if (ad_anno > 0) { if (select.full()) select << "&&"; - select << "(ANNO<=" << ad_anno << ")"; + select << "(" << SALDANA_ANNO << "<=" << ad_anno << ")"; } - if (contsep.full()) - { - if (select.full()) select << "&&"; - select << "(CONTSEP=='" << contsep << "')"; - } + if (select.full()) select << "&&"; + select << "(" << SALDANA_CONTSEP << "=='" << contsep << "')"; query << "USE SALDANA KEY 2"; if (select.full()) query << " SELECT " << select;