Errori corretti

git-svn-id: svn://10.65.10.50/trunk@1572 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1995-07-07 09:53:13 +00:00
parent 5b2a3e59af
commit 883f9f7558
3 changed files with 3723 additions and 3657 deletions

View File

@ -903,10 +903,35 @@ bool CG1500_application::bil_sez_contr()
}
saldo = sld.saldo();
real app = sld.saldoini();
bool flag = sld.flagprec();
if (_saldo) //se richiesto di NON stampare i conti con saldo a zero
if (saldo == ZERO)
{
//modifica del 06/07/1995
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
{
//real app = sld.saldoini();
//bool flag = sld.flagprec();
if (flag)
{
if (app > ZERO)
{
if (indbil_conto == 5)
_prg_inidare_ord += app;
else _prg_saldoini_dare += app;
}
else if (app < ZERO)
{
app = -app;
if (indbil_conto == 5)
_prg_iniavere_ord += app;
else _prg_saldoini_avere += app;
}
}
}
//fine
next_c();
continue;
}
@ -925,25 +950,32 @@ bool CG1500_application::bil_sez_contr()
if (_indbil == 1 || _indbil == 2)
{
real app = sld.saldoini();
if (app > ZERO)
_prg_saldoini_dare += app;
else if (app < ZERO)
//real app = sld.saldoini();
//bool flag = sld.flagprec();
if (flag)
{
if (app > ZERO)
_prg_saldoini_dare += app;
else if (app < ZERO)
{
app = -app;
_prg_saldoini_avere += app;
}
}
}
if (_indbil == 5)
{
real app = sld.saldoini();
if (app > ZERO)
_prg_inidare_ord += app;
else if (app < ZERO)
//real app = sld.saldoini();
if (flag)
{
if (app > ZERO)
_prg_inidare_ord += app;
else if (app < ZERO)
{
app = -app;
_prg_iniavere_ord += app;
}
}
}
@ -1032,10 +1064,36 @@ bool CG1500_application::ricerca_sottoc_clifo(int g,int c, bool compensa, int in
continue;
saldo = sld.saldo();
real app = sld.saldoini();
bool flag = sld.flagprec();
if (_saldo) //se richiesto di non stampare i conti con saldo a zero
if (saldo == 0)
if (saldo == ZERO)
{
//modifica del 06/07/1995
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
{
//real app = sld.saldoini();
if (flag)
{
if (app > ZERO)
{
if (indbil_conto == 5)
_prg_inidare_ord += app;
else _prg_saldoini_dare += app;
}
else if (app < ZERO)
{
app = -app;
if (indbil_conto == 5)
_prg_iniavere_ord += app;
else _prg_saldoini_avere += app;
}
}
}
//fine
continue;
}
esiste_sc = TRUE;
_indbil = indbil_conto;
@ -1051,25 +1109,31 @@ bool CG1500_application::ricerca_sottoc_clifo(int g,int c, bool compensa, int in
if (_indbil == 1 || _indbil == 2)
{
real app = sld.saldoini();
if (app > ZERO)
_prg_saldoini_dare += app;
else if (app < ZERO)
//real app = sld.saldoini();
if (flag)
{
if (app > ZERO)
_prg_saldoini_dare += app;
else if (app < ZERO)
{
app = -app;
_prg_saldoini_avere += app;
}
}
}
if (_indbil == 5)
{
real app = sld.saldoini();
if (app > ZERO)
_prg_inidare_ord += app;
else if (app < ZERO)
//real app = sld.saldoini();
if (flag)
{
if (app > ZERO)
_prg_inidare_ord += app;
else if (app < ZERO)
{
app = -app;
_prg_iniavere_ord += app;
}
}
}
@ -1276,20 +1340,20 @@ bool CG1500_application::bil_verifica()
{
if (movimentato)
{
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
TLocalisamfile saldi(LF_SALDI);
saldi.zero();
saldi.put(SLD_ANNOES,_annoes);
saldi.put(SLD_GRUPPO,g);
saldi.put(SLD_CONTO,c);
saldi.put(SLD_SOTTOCONTO,s);
if (saldi.read() == NOERR)
{
real ss = saldi.get_real(SLD_SALDO);
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
if (ss == ZERO && _annoes != 0)
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,s);
}
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
TLocalisamfile saldi(LF_SALDI);
saldi.zero();
saldi.put(SLD_ANNOES,_annoes);
saldi.put(SLD_GRUPPO,g);
saldi.put(SLD_CONTO,c);
saldi.put(SLD_SOTTOCONTO,s);
if (saldi.read() == NOERR)
{
real ss = saldi.get_real(SLD_SALDO);
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
if (ss == ZERO && _annoes != 0)
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,s);
}
}
if (!movimentato)
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
@ -1324,10 +1388,10 @@ bool CG1500_application::bil_verifica()
else if (_datada > _dataini)
{
if (saldo_iniziale > 0)
_prg_prec_dare += saldo_iniziale;
_prg_prec_dare += saldo_iniziale;
else _prg_prec_avere -= saldo_iniziale;
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare-
_mov_periodo_avere;
_mov_periodo_avere;
}
//if (saldo_finale == ZERO)
@ -1336,130 +1400,130 @@ bool CG1500_application::bil_verifica()
}
//se saldo_finale < 0 verra' stampato con una A, se no con una D
}
else
{
movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,indbil_conto,_stampa_mov_prov);
//modifica del 31/03/95
if (_stampa_mov_prov != 3)
{
if (movimentato)
saldo_iniziale = sld.saldoini();
if (!movimentato)
{
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
{
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
if (_stampav == 1 && sld.significativo())
movimentato = TRUE;
}
}
}
//fine modifica
if (movimentato || _stampav != 1)
{
_mov_periodo_dare = sld.prgdare();
_mov_periodo_avere = sld.prgavere();
_prg_prec_dare = ZERO;
_prg_prec_avere = ZERO;
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
}
}
if (movimentato || _stampav != 1)
if (!(saldo_finale == ZERO && _stampav == 2))
{
esiste_sc = TRUE;
esiste_conto = TRUE;
if (_tipo_stampa1 == 2)
{
_nuovo_tot_saldo_d += _mov_periodo_dare;
_nuovo_tot_saldo_a += _mov_periodo_avere;
real nuovo = sld.saldoinisusaldi();
if (nuovo > ZERO)
_nuovo_tot_saldo_d += nuovo;
else
{
nuovo = -nuovo;
_nuovo_tot_saldo_a += nuovo;
}
}
movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,indbil_conto,_stampa_mov_prov);
if (saldo_iniziale < ZERO)
_saldo_ini_conto_avere += saldo_iniziale;
else
_saldo_ini_conto_dare += saldo_iniziale;
mov_conto_dare += _mov_periodo_dare;
mov_conto_avere += _mov_periodo_avere;
prg_conto_dare += _prg_prec_dare;
prg_conto_avere += _prg_prec_avere;
saldo_conto += saldo_finale; // somma algebrica!!!
//scrivo il record relat. al sottoconto se non e' richiesto saldi di mastro
if (_verifica != 2)
{
_tmp_saldi_att->zero();
_tmp_saldi_att->put(SLD_GRUPPO,g);
_tmp_saldi_att->put(SLD_CONTO,c);
_tmp_saldi_att->put(SLD_SOTTOCONTO,s);
_tmp_saldi_att->put(SLD_FLAGSALINI,tipo_conto);
if ( (_datada == _dataini) || (_tipo_stampa1 != 1) )
{
if (saldo_iniziale > ZERO) //va stampato in Dare
_tmp_saldi_att->put(SLD_PDARESCA,saldo_iniziale);
else if (saldo_iniziale < ZERO)
//modifica del 31/03/95
if (_stampa_mov_prov != 3)
{
saldo_iniziale = -saldo_iniziale;
_tmp_saldi_att->put(SLD_PAVERESCA,saldo_iniziale);
if (movimentato)
saldo_iniziale = sld.saldoini();
if (!movimentato)
{
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
{
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
if (_stampav == 1 && sld.significativo())
movimentato = TRUE;
}
}
}
//fine modifica
if (movimentato || _stampav != 1)
{
_mov_periodo_dare = sld.prgdare();
_mov_periodo_avere = sld.prgavere();
_prg_prec_dare = ZERO;
_prg_prec_avere = ZERO;
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
}
}
else if (_datada > _dataini)
if (movimentato || _stampav != 1)
if (!(saldo_finale == ZERO && _stampav == 2))
{
esiste_sc = TRUE;
esiste_conto = TRUE;
if (_tipo_stampa1 == 2)
{
_nuovo_tot_saldo_d += _mov_periodo_dare;
_nuovo_tot_saldo_a += _mov_periodo_avere;
real nuovo = sld.saldoinisusaldi();
if (nuovo > ZERO)
_nuovo_tot_saldo_d += nuovo;
else
{
nuovo = -nuovo;
_nuovo_tot_saldo_a += nuovo;
}
}
if (saldo_iniziale < ZERO)
_saldo_ini_conto_avere += saldo_iniziale;
else
_saldo_ini_conto_dare += saldo_iniziale;
mov_conto_dare += _mov_periodo_dare;
mov_conto_avere += _mov_periodo_avere;
prg_conto_dare += _prg_prec_dare;
prg_conto_avere += _prg_prec_avere;
saldo_conto += saldo_finale; // somma algebrica!!!
//scrivo il record relat. al sottoconto se non e' richiesto saldi di mastro
if (_verifica != 2)
{
_tmp_saldi_att->zero();
_tmp_saldi_att->put(SLD_GRUPPO,g);
_tmp_saldi_att->put(SLD_CONTO,c);
_tmp_saldi_att->put(SLD_SOTTOCONTO,s);
_tmp_saldi_att->put(SLD_FLAGSALINI,tipo_conto);
if ( (_datada == _dataini) || (_tipo_stampa1 != 1) )
{
if (saldo_iniziale > ZERO) //va stampato in Dare
_tmp_saldi_att->put(SLD_PDARESCA,saldo_iniziale);
else if (saldo_iniziale < ZERO)
{
saldo_iniziale = -saldo_iniziale;
_tmp_saldi_att->put(SLD_PAVERESCA,saldo_iniziale);
}
}
else if (_datada > _dataini)
{
_tmp_saldi_att->put(SLD_PDARESCA,_prg_prec_dare);
_tmp_saldi_att->put(SLD_PAVERESCA,_prg_prec_avere);
}
_tmp_saldi_att->put(SLD_PDARE,_mov_periodo_dare);
_tmp_saldi_att->put(SLD_PAVERE,_mov_periodo_avere);
_tmp_saldi_att->put(SLD_SALDO,saldo_finale);
_tmp_saldi_att->put(SLD_DATAULMOV,_u_max);
_tmp_saldi_att->write();
}
_gp = g;
_cp = c;
}
TRecnotype recnum = _pcn->recno();
_pcn->next();
if (_pcn->eof())
{
_tmp_saldi_att->put(SLD_PDARESCA,_prg_prec_dare);
_tmp_saldi_att->put(SLD_PAVERESCA,_prg_prec_avere);
if ( (_verifica == 2) && esiste_conto )
{
real app = _saldo_ini_conto_dare + _saldo_ini_conto_avere;
if (app < ZERO)
_saldo_ini_gruppo_avere += app;
else
_saldo_ini_gruppo_dare += app;
mov_gruppo_dare += mov_conto_dare;
mov_gruppo_avere += mov_conto_avere;
prg_gruppo_dare += prg_conto_dare;
prg_gruppo_avere += prg_conto_avere;
saldo_gruppo += saldo_conto;
scrivi_record_gruppo(prg_gruppo_dare,prg_gruppo_avere,
mov_gruppo_dare,mov_gruppo_avere,saldo_gruppo);
}
if (esiste_sc)
if ( (_verifica == 1)||( (_verifica == 2)&&
(!((_stampav == 2)&&(saldo_conto == 0))) ) )
scrivi_record_conto(prg_conto_dare,prg_conto_avere,mov_conto_dare,
mov_conto_avere,saldo_conto);
}
_tmp_saldi_att->put(SLD_PDARE,_mov_periodo_dare);
_tmp_saldi_att->put(SLD_PAVERE,_mov_periodo_avere);
_tmp_saldi_att->put(SLD_SALDO,saldo_finale);
_tmp_saldi_att->put(SLD_DATAULMOV,_u_max);
_tmp_saldi_att->write();
_pcn->readat(recnum);
}
_gp = g;
_cp = c;
}
TRecnotype recnum = _pcn->recno();
_pcn->next();
if (_pcn->eof())
{
if ( (_verifica == 2) && esiste_conto )
{
real app = _saldo_ini_conto_dare + _saldo_ini_conto_avere;
if (app < ZERO)
_saldo_ini_gruppo_avere += app;
else
_saldo_ini_gruppo_dare += app;
mov_gruppo_dare += mov_conto_dare;
mov_gruppo_avere += mov_conto_avere;
prg_gruppo_dare += prg_conto_dare;
prg_gruppo_avere += prg_conto_avere;
saldo_gruppo += saldo_conto;
scrivi_record_gruppo(prg_gruppo_dare,prg_gruppo_avere,
mov_gruppo_dare,mov_gruppo_avere,saldo_gruppo);
}
if (esiste_sc)
if ( (_verifica == 1)||( (_verifica == 2)&&
(!((_stampav == 2)&&(saldo_conto == 0))) ) )
scrivi_record_conto(prg_conto_dare,prg_conto_avere,mov_conto_dare,
mov_conto_avere,saldo_conto);
}
_pcn->readat(recnum);
}
return TRUE;
return TRUE;
}
//bilancio di verifica per data limite
@ -1571,15 +1635,15 @@ bool CG1500_application::calcola(int g, int c, long s)
//il saldo inizio es. e' dato dall'importo dare - importo avere di quei movimenti che hanno causale == apertura e data reg >= data inizio es. e <= data limite sup.
if (_datada == _dataini) //calcolo il saldo iniziale
{
if (cau.apertura())
if ( (data_reg >= _dataini) && (data_reg <= _dataa) )
{
if (sezione == 'D')
_saldo_ini_dare += importo;
else _saldo_ini_avere += importo;
_u_max = fnc_max(_u_max, data);
conto_mov = TRUE;
}
if (cau.apertura())
if ( (data_reg >= _dataini) && (data_reg <= _dataa) )
{
if (sezione == 'D')
_saldo_ini_dare += importo;
else _saldo_ini_avere += importo;
_u_max = fnc_max(_u_max, data);
conto_mov = TRUE;
}
}
else if (_datada > _dataini) //calcolo i progressivi precedenti
if ( (data_reg >= _dataini) && (data_reg <= _datada) )
@ -1621,10 +1685,10 @@ bool CG1500_application::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_
if (_tipo_stampa1 == 1) //bil. di verifica per data limite
{
/*
if ( !calcola(g,c,s) ) //il conto non e' movimentato
if (_stampav == 1 || _stampav == 3) //per i C/F anche se seleziono -tutti i conti, voglio solo quelli movimentati
continue;
*/
if ( !calcola(g,c,s) ) //il conto non e' movimentato
if (_stampav == 1 || _stampav == 3) //per i C/F anche se seleziono -tutti i conti, voglio solo quelli movimentati
continue;
*/
//modifica del 19/06. Vedi appunti per capire
bool movimentato = calcola(g,c,s);
@ -1633,34 +1697,34 @@ bool CG1500_application::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_
{
if (movimentato)
{
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
TLocalisamfile saldi(LF_SALDI);
saldi.zero();
saldi.put(SLD_ANNOES,_annoes);
saldi.put(SLD_GRUPPO,g);
saldi.put(SLD_CONTO,c);
saldi.put(SLD_SOTTOCONTO,s);
if (saldi.read() == NOERR)
{
//se il saldo iniziale e' diverso da zero non lo devo considerare
//perche' l'ho gia' considerato nella funzione calcola
real ss = saldi.get_real(SLD_SALDO);
if (ib == 1 || ib == 2 || ib == 5)
if (ss == ZERO && _annoes != 0) //competenza!!!
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,s);
}
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
TLocalisamfile saldi(LF_SALDI);
saldi.zero();
saldi.put(SLD_ANNOES,_annoes);
saldi.put(SLD_GRUPPO,g);
saldi.put(SLD_CONTO,c);
saldi.put(SLD_SOTTOCONTO,s);
if (saldi.read() == NOERR)
{
//se il saldo iniziale e' diverso da zero non lo devo considerare
//perche' l'ho gia' considerato nella funzione calcola
real ss = saldi.get_real(SLD_SALDO);
if (ib == 1 || ib == 2 || ib == 5)
if (ss == ZERO && _annoes != 0) //competenza!!!
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,s);
}
}
if (!movimentato)
if (ib == 1 || ib == 2 || ib == 5)
if (_annoes != 0) //cioe' se sto ragionando per competenza
{
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
movimentato = sld.significativo();
}
if (_annoes != 0) //cioe' se sto ragionando per competenza
{
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
movimentato = sld.significativo();
}
}
if (!movimentato)
continue;
continue;
//fine modifica
_nuovo_tot_saldo_d += _mov_periodo_dare;
@ -1678,10 +1742,10 @@ bool CG1500_application::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_
else if (_datada > _dataini)
{
if (saldo_iniziale > 0)
_prg_prec_dare += saldo_iniziale;
_prg_prec_dare += saldo_iniziale;
else _prg_prec_avere -= saldo_iniziale;
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare-
_mov_periodo_avere;
_mov_periodo_avere;
}
if (saldo_finale == ZERO)
if (_stampav == 2)
@ -1689,59 +1753,59 @@ bool CG1500_application::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_
//se saldo_finale < 0 verra' stampato con una A, se no con una D
}
else
else
{
//Attenzione! Nel caso di "tutti i conti" devono scendere solo i cli/for movimentati!!!
//modifica del 31/03/1995
bool movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,ib,_stampa_mov_prov);
if (_stampa_mov_prov != 3)
{
//Attenzione! Nel caso di "tutti i conti" devono scendere solo i cli/for movimentati!!!
//modifica del 31/03/1995
bool movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,ib,_stampa_mov_prov);
if (_stampa_mov_prov != 3)
saldo_iniziale = sld.saldoini();
if (!movimentato)
{
saldo_iniziale = sld.saldoini();
if (!movimentato)
//if (_stampav == 1)
// continue;
//vado sui saldi con l'anno precedente e calcolo saldo_finale es.prec
//se esiste tale record e almeno un valore e' significativo (indipendentemente dal valore
//del saldo iniziale calcolato, allora metto a TRUE il flag movimentato
//solo se e' un conto patrimoniale
if (ib == 1 || ib == 2 || ib == 5)
{
//if (_stampav == 1)
// continue;
//vado sui saldi con l'anno precedente e calcolo saldo_finale es.prec
//se esiste tale record e almeno un valore e' significativo (indipendentemente dal valore
//del saldo iniziale calcolato, allora metto a TRUE il flag movimentato
//solo se e' un conto patrimoniale
if (ib == 1 || ib == 2 || ib == 5)
{
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
movimentato = sld.significativo();
}
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
movimentato = sld.significativo();
}
}
if (!movimentato)
continue;
//fine modifica 31/03/1995
_mov_periodo_dare = sld.prgdare();
_mov_periodo_avere = sld.prgavere();
_prg_prec_dare = ZERO;
_prg_prec_avere = ZERO;
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
if (saldo_finale == ZERO)
if (_stampav == 2)
continue;
_nuovo_tot_saldo_d += _mov_periodo_dare;
_nuovo_tot_saldo_a += _mov_periodo_avere;
real nuovo = sld.saldoinisusaldi();
if (nuovo > ZERO)
_nuovo_tot_saldo_d += nuovo;
else
{
nuovo = -nuovo;
_nuovo_tot_saldo_a += nuovo;
}
}
if (!movimentato)
continue;
//fine modifica 31/03/1995
_mov_periodo_dare = sld.prgdare();
_mov_periodo_avere = sld.prgavere();
_prg_prec_dare = ZERO;
_prg_prec_avere = ZERO;
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
if (saldo_finale == ZERO)
if (_stampav == 2)
continue;
_nuovo_tot_saldo_d += _mov_periodo_dare;
_nuovo_tot_saldo_a += _mov_periodo_avere;
real nuovo = sld.saldoinisusaldi();
if (nuovo > ZERO)
_nuovo_tot_saldo_d += nuovo;
else
{
nuovo = -nuovo;
_nuovo_tot_saldo_a += nuovo;
}
}
esiste_sc = TRUE;
if (saldo_iniziale < ZERO)
@ -2072,7 +2136,7 @@ void CG1500_application::crea_sort_clifo()
else _prg_prec_avere -= saldo_iniziale;
//fine modifica
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare
-_mov_periodo_avere;
-_mov_periodo_avere;
}
}
//if (saldo_finale == ZERO)
@ -2935,7 +2999,7 @@ void CG1500_application::stampa_totali()
_tot_avere = ZERO;
}
//per Attivita'/Passivita' stampo anche lo sbilancio es. precedente
//per i conti patrimoniali stampo anche lo sbilancio es. precedente
void CG1500_application::stampa_totali_uno(const real& r1,const real& r2)
{
TString dep = "";
@ -2953,7 +3017,7 @@ void CG1500_application::stampa_totali_uno(const real& r1,const real& r2)
sbilancio = -sbilancio;
pareggio = _tot_dare + sbilancio + sbilprec;
}
*/
*/
if (_prima_volta) //ho finito di stampare le attivita'/passivita'
_prima_volta = FALSE;
else
@ -3005,7 +3069,7 @@ void CG1500_application::stampa_totali_uno(const real& r1,const real& r2)
sbilprec = -sbilprec;
pareggio = _tot_dare + sbilprec;
set_row(_i++, "@15gSBILANCIO ESERCIZIO PRECEDENTE@49g%r",
&sbilprec);
&sbilprec);
set_row(_i++, "@28gTOTALE A PAREGGIO@49g%r",&pareggio);
}
}
@ -3283,7 +3347,7 @@ bool CG1500_application::set_print(int)
_causale_ap = conf.get("CoCaAp");
_causale_chi = conf.get("CoCaCh");
}
*/
*/
m.set_handler (F_VERIFICA, my_handler);
m.set_handler (F_BILANCIO, mask_bilancio);
m.set_handler (F_STAMPA1, mask_bilancio);

View File

@ -51,6 +51,7 @@ class TSaldo
bool _significativo;
bool _rec_presente_ec;
bool _rec_presente_ep;
bool _prec;
protected:
void InFinEs(int);
@ -86,6 +87,7 @@ public:
const real& saldoinisusaldi() const { return _saldoiniziale;}
const real& prgdare() const { return _prg_dare;}
const real& prgavere() const { return _prg_avere;}
const bool flagprec() { return _prec; }
bool prg_attuali(int,TConto&,int,real&,real&);
bool prg_mov_eliminati(int,TConto&,int,real&,real&);
TSaldo();

View File

@ -148,6 +148,7 @@ TSaldo::TSaldo()
_saldo = ZERO;
_annoes = 0;
_indbil = 0;
_prec = FALSE;
_movimentato = _significativo = FALSE;
_rec_presente_ec = _rec_presente_ep = FALSE;
}
@ -223,19 +224,13 @@ real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil)
_significativo = (saldoini != ZERO);
if (saldoini != ZERO) //non va considerato!!! Vedi appunti
/*
if (flag == 'A')
{
saldoini = -saldoini;
flag = 'D';
}
*/
_saldo_iniziale = ZERO;
if (saldoini == ZERO)
{
if ( indbil == 1 || indbil == 2 || indbil == 5 )
{
_prec = TRUE;
saldoini = saldofin_esprec(_annoes, g, c, s);
flag = 'D'; // Il segno DEVE essere quello del saldo precedente
}
@ -300,6 +295,7 @@ bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDat
_movimentato = FALSE;
_rec_presente_ep = FALSE;
_rec_presente_ec = FALSE;
_prec = FALSE;
gcs_prec = "";
@ -493,6 +489,7 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
_saldo = ZERO;
_rec_presente_ec = FALSE;
_rec_presente_ep = FALSE;
_prec = FALSE;
saldi.zero();
@ -536,7 +533,10 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
if (stp_prov != 3)
if (indbil == 1 || indbil == 2 || indbil == 5)
if (_saldo_iniziale == ZERO)
{
_prec = TRUE;
_saldo_iniziale += saldofin_esprec(annoes,g,c,s);
}
//_saldo = _saldo_iniziale + _prg_dare - _prg_avere + _prg_daresca - _prg_averesca;
if (stp_prov == 1)