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
This commit is contained in:
ale 1996-07-18 09:17:30 +00:00
parent 9178211578
commit 46e79cfdfd
3 changed files with 18 additions and 5 deletions

View File

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

View File

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

View File

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