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:
parent
f90528ce2b
commit
52c74cef60
@ -398,31 +398,31 @@ void TBalance::read(const TBill& b, int esercizio, bool ignora_movap)
|
|||||||
_progr_avere = pa;
|
_progr_avere = pa;
|
||||||
_saldo_fin = sf;
|
_saldo_fin = sf;
|
||||||
|
|
||||||
if (_saldo_ini.is_zero())
|
if (ignora_movap)
|
||||||
{
|
_saldo_ini.set('D', 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (ignora_movap)
|
if (_saldo_ini.is_zero())
|
||||||
_saldo_ini.set('D', 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
|
// vanno dall'inizio dell'esercizio al giorno precedente
|
||||||
// la data di inizio stampa
|
// la data di inizio stampa
|
||||||
|
|
||||||
const TBalance saldo(_conto, ae, TRUE);
|
TBalance saldo(_conto, ae, TRUE);
|
||||||
_pdare_ini = saldo.progressivo_dare_iniziale();
|
_pdare_ini = saldo.progressivo_dare_iniziale();
|
||||||
_pavere_ini = saldo.progressivo_avere_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();
|
_pdare_fin = saldo.progressivo_dare_finale();
|
||||||
_pavere_fin = saldo.progressivo_avere_finale();
|
_pavere_fin = saldo.progressivo_avere_finale();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user