Patch level : 12.0 1124

Files correlati     : fp0.exe
Commento :

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
This commit is contained in:
Alessandro Bonazzi 2022-03-15 11:27:41 +01:00
parent ac9bcb8a84
commit 1869b54485
3 changed files with 16 additions and 19 deletions

View File

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

View File

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

View File

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