From 46e79cfdfde6ca7d504716fcb8118393f3ae99b4 Mon Sep 17 00:00:00 2001 From: ale Date: Thu, 18 Jul 1996 09:17:30 +0000 Subject: [PATCH] Modifiche relative all'errore MI3445 della stampa dei mastrini: nel calcolo dei progressivi precedenti bisogna tenere conto del saldo di chiusura eventualmente fatta nell'esercizio precedente. git-svn-id: svn://10.65.10.50/trunk@3200 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg3200.cpp | 6 ++++-- cg/cglib.h | 2 +- cg/cglib01.cpp | 15 +++++++++++++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/cg/cg3200.cpp b/cg/cg3200.cpp index ecd297415..909e450c8 100755 --- a/cg/cg3200.cpp +++ b/cg/cg3200.cpp @@ -3008,8 +3008,10 @@ void TMastrini_application::calcola_progressivi() { if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5)) { - const TRecnotype pos = saldi.recno(); - saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc); + const TRecnotype pos = saldi.recno(); + // W96SALDI del 18-07-96 saldofin_esprec usa il flag TRUE xche' deve + // considerare anche il saldo finale + saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE); saldi.readat(pos); if (saldo> ZERO) diff --git a/cg/cglib.h b/cg/cglib.h index be1d48984..0e7ecc4bd 100755 --- a/cg/cglib.h +++ b/cg/cglib.h @@ -89,7 +89,7 @@ public: bool ricerca_progr_prec(int, int, int, long); - real saldofin_esprec(int,int,int,long); + real saldofin_esprec(int,int,int,long,bool saldo_chiusura = FALSE); bool prg_attuali(int i,TConto& c, real& p1, real& p2) { return prg_saldo(i, c, p1, p2, FALSE); } bool prg_mov_eliminati(int i, TConto& c, real& p1, real& p2) diff --git a/cg/cglib01.cpp b/cg/cglib01.cpp index e9b289dae..00b1bc8e2 100755 --- a/cg/cglib01.cpp +++ b/cg/cglib01.cpp @@ -109,7 +109,7 @@ TSaldo::TSaldo() : _saldi(LF_SALDI), _saldoiniziale(ZERO), _saldo_iniziale(ZERO) _rec_presente_ec(FALSE), _rec_presente_ep(FALSE) {} -real TSaldo::saldofin_esprec(int annoes, int g, int c, long s) +real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusura) { const int annoesprec = EsePre(annoes); _significativo = FALSE; @@ -121,13 +121,24 @@ real TSaldo::saldofin_esprec(int annoes, int g, int c, long s) const real saldo = _saldi.get_real(SLD_SALDO); const real pdare = _saldi.get_real(SLD_PDARE); const real pavere = _saldi.get_real(SLD_PAVERE); + const char flagsf = _saldi.get_char(SLD_FLAGSALFIN); + const real saldosf = _saldi.get_real(SLD_SALDOFIN); _significativo = (saldo != ZERO || pdare != ZERO || pavere != ZERO); real tot = pdare-pavere; if (flag == 'D') tot += saldo; - else tot -= saldo; + else tot -= saldo; + + if (saldo_chiusura) // W96SALDI del 18-07-96 + { // Ho aggiunto il flag saldo_chiusura con valore di + if (flagsf == 'D') // default a FALSE, perche' il saldo finale dell' esercizio + tot += saldosf; // precedente va considerato solamente nel calcolo dei + else // progressivi precedenti nella stampa mastrini, + tot -= saldosf; // che e' l'unico programma ad usare la funzione + } // passandogli come flag saldo_chiusura il valore TRUE. + return tot; }