Modifiche effettuate come da accordi con Patrizia.

git-svn-id: svn://10.65.10.50/trunk@1498 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1995-06-23 10:27:17 +00:00
parent 3ecd157214
commit 6264d262be
2 changed files with 305 additions and 206 deletions

View File

@ -1270,14 +1270,44 @@ bool CG1500_application::bil_verifica()
_indbil = indbil_conto; _indbil = indbil_conto;
if (_tipo_stampa1 == 1) //bil. di verifica per data limite if (_tipo_stampa1 == 1) //bil. di verifica per data limite
{ {
//if ( !calcola(g,c,s) )//il conto non e' movimentato //modifica del 19/06/95
// if (_stampav == 1)
// continue;
movimentato = calcola(g,c,s); movimentato = calcola(g,c,s);
if (_stampa_mov_prov != 3)
{
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);
}
}
if (!movimentato)
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
if (_annoes != 0)
{
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
if (_stampav == 1 && sld.significativo())
movimentato = TRUE;
}
}
//if (movimentato)
// saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
//movimentato = calcola(g,c,s);
if (movimentato || _stampav != 1) if (movimentato || _stampav != 1)
{ {
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere; //saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
_nuovo_tot_saldo_d += _mov_periodo_dare; _nuovo_tot_saldo_d += _mov_periodo_dare;
_nuovo_tot_saldo_a += _mov_periodo_avere; _nuovo_tot_saldo_a += _mov_periodo_avere;
@ -1292,8 +1322,14 @@ bool CG1500_application::bil_verifica()
if (_datada == _dataini) if (_datada == _dataini)
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere; saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
else if (_datada > _dataini) else if (_datada > _dataini)
{
if (saldo_iniziale > 0)
_prg_prec_dare += saldo_iniziale;
else _prg_prec_avere -= saldo_iniziale;
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare- saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare-
_mov_periodo_avere; _mov_periodo_avere;
}
//if (saldo_finale == ZERO) //if (saldo_finale == ZERO)
// if (_stampav == 2) // if (_stampav == 2)
// continue; // continue;
@ -1302,35 +1338,33 @@ bool CG1500_application::bil_verifica()
} }
else else
{ {
//if (!sld.ultima_immissione_bilancio(_annoes,g,c,s,indbil_conto))
// if (_stampav == 1)
// continue;
movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,indbil_conto,_stampa_mov_prov); movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,indbil_conto,_stampa_mov_prov);
//modifica del 31/03/95 //modifica del 31/03/95
if (_stampa_mov_prov != 3) if (_stampa_mov_prov != 3)
if (!movimentato && _stampav!=1) {
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
if (movimentato) if (movimentato)
saldo_iniziale = sld.saldoini(); 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 //fine modifica
if (movimentato || _stampav != 1) if (movimentato || _stampav != 1)
{ {
//saldo_iniziale = sld.saldoini();
_mov_periodo_dare = sld.prgdare(); _mov_periodo_dare = sld.prgdare();
_mov_periodo_avere = sld.prgavere(); _mov_periodo_avere = sld.prgavere();
_prg_prec_dare = ZERO; _prg_prec_dare = ZERO;
_prg_prec_avere = ZERO; _prg_prec_avere = ZERO;
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere; saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
//if (saldo_finale == ZERO)
// if (_stampav == 2)
// continue;
} }
} }
@ -1522,7 +1556,7 @@ bool CG1500_application::calcola(int g, int c, long s)
} }
*/ */
// Modifica del 03-03-95 // Modifica del 03-03-95
//calcolo i movimenti del periodo
if ( data_reg >= _datada && data_reg <= _dataa) if ( data_reg >= _datada && data_reg <= _dataa)
if ((cau.apertura() && _dataini != _datada) || if ((cau.apertura() && _dataini != _datada) ||
(!cau.apertura())) (!cau.apertura()))
@ -1586,11 +1620,48 @@ 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 (_tipo_stampa1 == 1) //bil. di verifica per data limite
{ {
/*
if ( !calcola(g,c,s) ) //il conto non e' movimentato 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 if (_stampav == 1 || _stampav == 3) //per i C/F anche se seleziono -tutti i conti, voglio solo quelli movimentati
continue; continue;
*/
//modifica del 19/06. Vedi appunti per capire
bool movimentato = calcola(g,c,s);
if (_stampa_mov_prov != 3)
{
if (movimentato)
{
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere; 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 (!movimentato)
continue;
//fine modifica
_nuovo_tot_saldo_d += _mov_periodo_dare; _nuovo_tot_saldo_d += _mov_periodo_dare;
_nuovo_tot_saldo_a += _mov_periodo_avere; _nuovo_tot_saldo_a += _mov_periodo_avere;
@ -1605,8 +1676,13 @@ bool CG1500_application::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_
if (_datada == _dataini) if (_datada == _dataini)
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere; saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
else if (_datada > _dataini) else if (_datada > _dataini)
{
if (saldo_iniziale > 0)
_prg_prec_dare += saldo_iniziale;
else _prg_prec_avere -= saldo_iniziale;
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare- saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare-
_mov_periodo_avere; _mov_periodo_avere;
}
if (saldo_finale == ZERO) if (saldo_finale == ZERO)
if (_stampav == 2) if (_stampav == 2)
continue; continue;
@ -1616,34 +1692,33 @@ bool CG1500_application::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_
else else
{ {
//Attenzione! Nel caso di "tutti i conti" devono scendere solo i cli/for movimentati!!! //Attenzione! Nel caso di "tutti i conti" devono scendere solo i cli/for movimentati!!!
//modifica del 31/03/1995 //modifica del 31/03/1995
bool movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,_indbil,_stampa_mov_prov); bool movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,ib,_stampa_mov_prov);
if (_stampa_mov_prov != 3)
{
saldo_iniziale = sld.saldoini(); saldo_iniziale = sld.saldoini();
if (!movimentato) if (!movimentato)
{ {
if (_stampav == 1) //if (_stampav == 1)
continue; // continue;
//vado sui saldi con l'anno precedente e calcolo saldo_iniziale //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 //se esiste tale record e almeno un valore e' significativo (indipendentemente dal valore
//del saldo iniziale calcolato, allora metto a TRUE il flag movimentato //del saldo iniziale calcolato, allora metto a TRUE il flag movimentato
//solo se e' un conto patrimoniale //solo se e' un conto patrimoniale
if (_stampa_mov_prov != 3)
if (ib == 1 || ib == 2 || ib == 5) if (ib == 1 || ib == 2 || ib == 5)
{ {
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s); saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s);
//movimentato = sld.esiste_saldo_ep();
movimentato = sld.significativo(); movimentato = sld.significativo();
} }
} }
}
if (!movimentato) if (!movimentato)
continue; continue;
//fine modifica 31/03/1995 //fine modifica 31/03/1995
//saldo_iniziale = sld.saldoini();
_mov_periodo_dare = sld.prgdare(); _mov_periodo_dare = sld.prgdare();
_mov_periodo_avere = sld.prgavere(); _mov_periodo_avere = sld.prgavere();
_prg_prec_dare = ZERO; _prg_prec_dare = ZERO;
@ -1954,34 +2029,61 @@ void CG1500_application::crea_sort_clifo()
movdare = ZERO; movdare = ZERO;
movavere = ZERO; movavere = ZERO;
if (_tipo_stampa1 == 1) //bilancio per data limite if (_tipo_stampa1 == 1) //bilancio di verifica per data limite
{ {
//if ( !calcola(g,c,codcf) )//il conto non e' mov. //modifica del 19/06/95
// if (_stampac == 1) _indbil = cerca_indbil(g,c);
// continue;
movimentato = calcola(g,c,codcf); movimentato = calcola(g,c,codcf);
if (movimentato || _stampac != 1) if (_stampa_mov_prov != 3)
if (!movimentato && _stampac!=1)
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
if (_annoes != 0) //cioe' se sto ragionando per competenza
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,codcf);
if (movimentato)
{ {
saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere; 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,codcf);
if (saldi.read() == NOERR)
{
real s = saldi.get_real(SLD_SALDO);
if (_stampa_mov_prov != 3)
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
if (s == ZERO && _annoes != 0) //competenza!!!
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,codcf);
}
}
//fine modifica
//movimentato = calcola(g,c,codcf);
if (movimentato || _stampac != 1)
{
if (_datada == _dataini) if (_datada == _dataini)
saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere; saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
else if (_datada > _dataini) else if (_datada > _dataini)
{
//modifica del 19/06
if (saldo_iniziale > 0)
_prg_prec_dare += saldo_iniziale;
else _prg_prec_avere -= saldo_iniziale;
//fine modifica
saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare
-_mov_periodo_avere; -_mov_periodo_avere;
} }
}
//if (saldo_finale == ZERO) //if (saldo_finale == ZERO)
// if (_stampac == 2) // if (_stampac == 2)
// continue; // continue;
//se saldo_finale < 0 verra' stampato con una A, se no con una D //se saldo_finale < 0 verra' stampato con una A, se no con una D
} }
else //bilancio di verifica else //bilancio di verifica all'ultima immissione
{ {
_indbil = cerca_indbil(g,c); _indbil = cerca_indbil(g,c);
//if (!sld.ultima_immissione_bilancio(_annoes,g,c,codcf,_indbil))
// if (_stampac == 1)
// continue;
movimentato = sld.ultima_immissione_verifica(anno,g,c,codcf,_indbil,_stampa_mov_prov); movimentato = sld.ultima_immissione_verifica(anno,g,c,codcf,_indbil,_stampa_mov_prov);
if (_stampa_mov_prov != 3) if (_stampa_mov_prov != 3)
@ -1994,8 +2096,6 @@ void CG1500_application::crea_sort_clifo()
if (movimentato || _stampac != 1) if (movimentato || _stampac != 1)
{ {
//saldo_iniziale = sld.saldoini();
_mov_periodo_dare = sld.prgdare(); _mov_periodo_dare = sld.prgdare();
_mov_periodo_avere = sld.prgavere(); _mov_periodo_avere = sld.prgavere();
_prg_prec_dare = ZERO; _prg_prec_dare = ZERO;

View File

@ -170,8 +170,8 @@ real TSaldo::saldofin_esprec(int annoes, int g, int c, long s)
const real saldo = app.get_real(SLD_SALDO); const real saldo = app.get_real(SLD_SALDO);
const real pdare = app.get_real(SLD_PDARE); const real pdare = app.get_real(SLD_PDARE);
const real pavere = app.get_real(SLD_PAVERE); const real pavere = app.get_real(SLD_PAVERE);
const real pdaresca = app.get_real(SLD_PDARESCA); //const real pdaresca = app.get_real(SLD_PDARESCA);
const real paveresca = app.get_real(SLD_PAVERESCA); //const real paveresca = app.get_real(SLD_PAVERESCA);
/* /*
_significativo = (saldo != ZERO || pdare != ZERO || pavere != ZERO _significativo = (saldo != ZERO || pdare != ZERO || pavere != ZERO
@ -190,6 +190,8 @@ real TSaldo::saldofin_esprec(int annoes, int g, int c, long s)
return tot; return tot;
} }
//richiamata nel bilancio a sez.contr per data limite
//in realta' calcola il saldo finale es.prec
real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil) real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil)
{ {
real saldoini, pdaresca, paveresca, pdare, pavere; real saldoini, pdaresca, paveresca, pdare, pavere;
@ -215,10 +217,9 @@ real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil)
flag = saldi.get_char(SLD_FLAGSALINI); flag = saldi.get_char(SLD_FLAGSALINI);
saldoini = saldi.get_real(SLD_SALDO); saldoini = saldi.get_real(SLD_SALDO);
//_significativo = (saldoini != ZERO || pdaresca != ZERO || paveresca != ZERO);
_significativo = (saldoini != ZERO); _significativo = (saldoini != ZERO);
if (saldoini != ZERO) if (saldoini != ZERO) //non va considerato!!! Vedi appunti
/* /*
if (flag == 'A') if (flag == 'A')
{ {
@ -385,7 +386,7 @@ bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDat
TString dep2(_saldo.string()); TString dep2(_saldo.string());
#endif #endif
// Se non movimentato vado a vedere il saldo // Anche se non movimentato vado a vedere il saldo
if (!_movimentato) if (!_movimentato)
if (stp_prov != 3) if (stp_prov != 3)
_saldo = calcola_saldo_iniziale(g,c,s,indbil); _saldo = calcola_saldo_iniziale(g,c,s,indbil);
@ -470,7 +471,7 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
return esito; return esito;
} }
//per bilancio scalare all'ultima immissione //per bilancio a sezioni contrapposte all'ultima immissione
bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil,int stp_prov) bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil,int stp_prov)
{ {
//Si considerano i saldi e non piu' i movimenti //Si considerano i saldi e non piu' i movimenti
@ -506,8 +507,6 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
_saldo_iniziale = saldi.get_real(SLD_SALDO); _saldo_iniziale = saldi.get_real(SLD_SALDO);
_prg_dare = saldi.get_real(SLD_PDARE); _prg_dare = saldi.get_real(SLD_PDARE);
_prg_avere = saldi.get_real(SLD_PAVERE); _prg_avere = saldi.get_real(SLD_PAVERE);
//_prg_daresca = saldi.get_real(SLD_PDARESCA);
//_prg_averesca = saldi.get_real(SLD_PAVERESCA);
pdarepro = saldi.get_real(SLD_PDAREPRO); pdarepro = saldi.get_real(SLD_PDAREPRO);
paverepro = saldi.get_real(SLD_PAVEREPRO); paverepro = saldi.get_real(SLD_PAVEREPRO);
sezione = saldi.get_char(SLD_FLAGSALINI); sezione = saldi.get_char(SLD_FLAGSALINI);