cg3600.cpp Corretto calcolo saldo iniziale e finale dei mastrini

git-svn-id: svn://10.65.10.50/trunk@4252 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1997-04-02 14:57:43 +00:00
parent f90528ce2b
commit 52c74cef60

View File

@ -398,31 +398,31 @@ void TBalance::read(const TBill& b, int esercizio, bool ignora_movap)
_progr_avere = pa;
_saldo_fin = sf;
if (_saldo_ini.is_zero())
{
TLocalisamfile pcon(LF_PCON);
TRectype& curr = pcon.curr();
curr.put(PCN_GRUPPO, b.gruppo());
curr.put(PCN_CONTO, b.conto());
const int err = pcon.read();
CHECK(err == NOERR, "Impossibile stabilire indicatore di bilancio");
const int indbil = curr.get_int(PCN_INDBIL);
if (indbil == 1 || indbil == 2 || indbil == 5)
{
TEsercizi_contabili esercizi;
const int precedente = esercizi.pred(esercizio);
if (find(b, precedente, si, pd, pa, sf))
{
_saldo_ini = si;
_saldo_ini += pd;
_saldo_ini += pa;
}
}
}
if (ignora_movap)
_saldo_ini.set('D', ZERO);
else
{
if (ignora_movap)
_saldo_ini.set('D', ZERO);
{
if (_saldo_ini.is_zero())
{
TLocalisamfile pcon(LF_PCON);
TRectype& curr = pcon.curr();
curr.put(PCN_GRUPPO, b.gruppo());
curr.put(PCN_CONTO, b.conto());
const int err = pcon.read();
CHECK(err == NOERR, "Impossibile stabilire indicatore di bilancio");
const int indbil = curr.get_int(PCN_INDBIL);
if (indbil == 1 || indbil == 2 || indbil == 5)
{
TEsercizi_contabili esercizi;
const int precedente = esercizi.pred(esercizio);
if (precedente > 0 && find(b, precedente, si, pd, pa, sf))
{
_saldo_ini = si;
_saldo_ini += pd;
_saldo_ini += pa;
}
}
}
}
}
@ -711,9 +711,13 @@ void TMastrino::read(const TBill& conto,
// vanno dall'inizio dell'esercizio al giorno precedente
// la data di inizio stampa
const TBalance saldo(_conto, ae, TRUE);
TBalance saldo(_conto, ae, TRUE);
_pdare_ini = saldo.progressivo_dare_iniziale();
_pavere_ini = saldo.progressivo_avere_iniziale();
// Valori dei saldi finali:
// Comprendono i movimenti di apertura, chiusura ed i progressivi attuali
saldo.read(_conto, ae, FALSE);
_pdare_fin = saldo.progressivo_dare_finale();
_pavere_fin = saldo.progressivo_avere_finale();