Modifiche per nuova gestione archivio saldi
git-svn-id: svn://10.65.10.50/trunk@2956 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
aea53e301e
commit
3358b09cbb
@ -148,72 +148,49 @@ void CG0100_application::on_firm_change()
|
||||
|
||||
bool CG0100_application::protected_record(TRectype &rec)
|
||||
{
|
||||
if (_pcon_com ) return TRUE;
|
||||
TMask* m = get_mask(MODE_MOD);
|
||||
TLocalisamfile& pconti = _rel->lfile();
|
||||
const int gruppo = atoi(m->get(FLD_CM1_GRUPPO));
|
||||
const int conto = atoi(m->get(FLD_CM1_CONTO));
|
||||
const long sottoc = atol(m->get(FLD_CM1_SOTTOCONTO));
|
||||
|
||||
// Se e' un sottoconto posso cancellarlo se non esistono saldi
|
||||
if ((gruppo != 0) && (conto != 0) && (sottoc != 0))
|
||||
if (!_pcon_com )
|
||||
{
|
||||
_saldi->zero();
|
||||
_saldi->put(PCN_GRUPPO, gruppo);
|
||||
_saldi->put(PCN_CONTO, conto);
|
||||
_saldi->put(PCN_SOTTOCONTO, sottoc);
|
||||
_saldi->read(_isgteq);
|
||||
bool ok = FALSE;
|
||||
|
||||
if (_saldi->good())
|
||||
ok = _saldi->get_real(SLD_SALDO) != ZERO ||
|
||||
_saldi->get_real(SLD_PDARE) != ZERO ||
|
||||
_saldi->get_real(SLD_PAVERE) != ZERO ||
|
||||
_saldi->get_real(SLD_SALDOFIN) != ZERO ||
|
||||
_saldi->get_real(SLD_PDAREPRO) != ZERO ||
|
||||
_saldi->get_real(SLD_PAVEREPRO) != ZERO;
|
||||
return ok && gruppo ==_saldi->get_int(PCN_GRUPPO) &&
|
||||
conto ==_saldi->get_int(PCN_CONTO) &&
|
||||
sottoc ==_saldi->get_long(PCN_SOTTOCONTO);
|
||||
if (!ok)
|
||||
TMask* m = get_mask(MODE_MOD);
|
||||
TLocalisamfile& pconti = _rel->lfile();
|
||||
const int gruppo = atoi(m->get(FLD_CM1_GRUPPO));
|
||||
const int conto = atoi(m->get(FLD_CM1_CONTO));
|
||||
const long sottoc = atol(m->get(FLD_CM1_SOTTOCONTO));
|
||||
|
||||
// Se e' un sottoconto posso cancellarlo se non esistono saldi
|
||||
if ((gruppo != 0) && (conto != 0) && (sottoc != 0))
|
||||
{
|
||||
// look for scaricato
|
||||
_saldi->zero();
|
||||
_saldi->put(PCN_GRUPPO, gruppo);
|
||||
_saldi->put(PCN_CONTO, conto);
|
||||
_saldi->put(PCN_SOTTOCONTO, sottoc);
|
||||
_saldi->put(SLD_FLSCA, "X");
|
||||
_saldi->read(_isgteq);
|
||||
|
||||
if (_saldi->good())
|
||||
{
|
||||
ok = _saldi->get_real(SLD_SALDO) != ZERO ||
|
||||
_saldi->get_real(SLD_PDARE) != ZERO ||
|
||||
_saldi->get_real(SLD_PAVERE) != ZERO ||
|
||||
_saldi->get_real(SLD_SALDOFIN) != ZERO ||
|
||||
_saldi->get_real(SLD_PDAREPRO) != ZERO ||
|
||||
_saldi->get_real(SLD_PAVEREPRO) != ZERO;
|
||||
ok &= (gruppo ==_saldi->get_int(PCN_GRUPPO) &&
|
||||
conto ==_saldi->get_int(PCN_CONTO) &&
|
||||
sottoc ==_saldi->get_long(PCN_SOTTOCONTO));
|
||||
}
|
||||
return _saldi->good() &&
|
||||
gruppo ==_saldi->get_int(PCN_GRUPPO) &&
|
||||
conto ==_saldi->get_int(PCN_CONTO) &&
|
||||
sottoc ==_saldi->get_long(PCN_SOTTOCONTO) &&
|
||||
(_saldi->get_real(SLD_SALDO) != ZERO || _saldi->get_real(SLD_PDARE) != ZERO ||
|
||||
_saldi->get_real(SLD_PAVERE) != ZERO || _saldi->get_real(SLD_SALDOFIN) != ZERO ||
|
||||
_saldi->get_real(SLD_PDAREPRO) != ZERO || _saldi->get_real(SLD_PAVEREPRO) != ZERO);
|
||||
}
|
||||
else
|
||||
{
|
||||
get_relation()->save_status();
|
||||
pconti.zero() ;
|
||||
pconti.put(PCN_GRUPPO, gruppo);
|
||||
// Se e' un conto controllo se ha dei sottoconti
|
||||
if (conto != 0)
|
||||
pconti.put(PCN_CONTO, conto);
|
||||
TRectype rec1(pconti.curr());
|
||||
|
||||
pconti.setkey(1) ;
|
||||
pconti.read();
|
||||
pconti.next();
|
||||
bool prot = (pconti.good() && (pconti.curr() == rec1));
|
||||
get_relation()->restore_status();
|
||||
return prot;
|
||||
}
|
||||
if (ok) return TRUE;
|
||||
}
|
||||
get_relation()->save_status();
|
||||
pconti.zero() ;
|
||||
pconti.put(PCN_GRUPPO, gruppo);
|
||||
// Se e' un conto controllo se ha dei sottoconti
|
||||
if (conto != 0)
|
||||
pconti.put(PCN_CONTO, conto);
|
||||
TRectype rec1(pconti.curr());
|
||||
|
||||
pconti.setkey(1) ;
|
||||
pconti.read();
|
||||
pconti.next();
|
||||
const bool prot = (pconti.good() && (pconti.curr() == rec1));
|
||||
get_relation()->restore_status();
|
||||
return prot;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void CG0100_application::init_query_mode(TMask& m)
|
||||
|
@ -21,7 +21,7 @@ class CGTab_application : public Tab_application
|
||||
|
||||
protected:
|
||||
|
||||
virtual void init_modify_mode(TMask& m);
|
||||
virtual bool protected_record(TRectype & rec);
|
||||
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
@ -34,19 +34,19 @@ class CGTab_application : public Tab_application
|
||||
virtual ~CGTab_application() {}
|
||||
};
|
||||
|
||||
void CGTab_application::init_modify_mode(TMask& m)
|
||||
{
|
||||
bool CGTab_application::protected_record(TRectype &rec)
|
||||
{
|
||||
if (get_tabname() == "ESC")
|
||||
{
|
||||
{
|
||||
// cerca saldo con questo esercizio
|
||||
TString cod(m.get(F_ANNO));
|
||||
TString cod(rec.get("CODTAB"));
|
||||
_saldi->zero();
|
||||
_saldi->put(SLD_ANNOES, cod);
|
||||
_saldi->put(SLD_ANNOES, cod);
|
||||
// se ce n'e' uno non si puo' cancellare
|
||||
if (_saldi->read() == NOERR)
|
||||
m.disable(DLG_DELREC);
|
||||
else m.enable(DLG_DELREC);
|
||||
}
|
||||
if (_saldi->read(_isgteq) == NOERR && cod == rec.get("CODTAB"))
|
||||
return TRUE;
|
||||
}
|
||||
return Tab_application::protected_record(rec);
|
||||
}
|
||||
|
||||
bool CGTab_application::user_create()
|
||||
|
@ -673,7 +673,8 @@ void TListaMov_application::stampa_errori_rmov()
|
||||
saldi.put(SLD_ANNOES,anno);
|
||||
saldi.put(SLD_GRUPPO,gruppo);
|
||||
saldi.put(SLD_CONTO, conto);
|
||||
saldi.put(SLD_SOTTOCONTO,sottoconto);
|
||||
saldi.put(SLD_SOTTOCONTO,sottoconto);
|
||||
saldi.put(SLD_FLSCA, "");
|
||||
|
||||
if (saldi.read() != NOERR)
|
||||
set_row(_nr++, "@11gCodice gruppo/conto/sottoconto non presente in Saldi p.d.c.");
|
||||
@ -1885,6 +1886,7 @@ bool TListaMov_application::segnala_errori_ogniriga()
|
||||
saldi.put(SLD_GRUPPO,gruppo);
|
||||
saldi.put(SLD_CONTO, conto);
|
||||
saldi.put(SLD_SOTTOCONTO,sottoconto);
|
||||
saldi.put(SLD_FLSCA, "");
|
||||
|
||||
if (saldi.read() != NOERR)
|
||||
{
|
||||
|
@ -2906,7 +2906,6 @@ void TMastrini_application::calcola_progressivi()
|
||||
* record */
|
||||
|
||||
TLocalisamfile saldi(LF_SALDI, FALSE);
|
||||
real pdaresca,paveresca,pdarescap,paverescap;
|
||||
real progdare_attuale,progavere_attuale,progdare_prec,progavere_prec;
|
||||
real saldo,progredare_eseprec,progreavere_eseprec,pdarep,paverep;
|
||||
char salini;
|
||||
@ -2914,84 +2913,47 @@ void TMastrini_application::calcola_progressivi()
|
||||
saldo = ZERO;
|
||||
pdarep = ZERO;
|
||||
paverep = ZERO;
|
||||
pdaresca = ZERO;
|
||||
paveresca = ZERO;
|
||||
pdarescap = ZERO;
|
||||
paverescap = ZERO;
|
||||
|
||||
// Ricerca sull'archivio saldi dei record con gruppo,conto,sottoconto
|
||||
// uguali a quelli di rmov per il calcolo dei progressivi precedenti
|
||||
|
||||
TRectype record(saldi.curr());
|
||||
|
||||
record.zero();
|
||||
record.put(SLD_GRUPPO, _gruppo);
|
||||
record.put(SLD_CONTO, _conto);
|
||||
record.put(SLD_SOTTOCONTO, _sottoc);
|
||||
|
||||
saldi.setkey(2);
|
||||
|
||||
saldi.zero();
|
||||
saldi.put(SLD_GRUPPO, _gruppo);
|
||||
saldi.put(SLD_CONTO, _conto);
|
||||
saldi.put(SLD_SOTTOCONTO, _sottoc);
|
||||
|
||||
for (saldi.read(_isgteq); saldi.good(); saldi.next())
|
||||
{
|
||||
if (saldi.curr() != record)
|
||||
break;
|
||||
|
||||
int annoes_saldi = saldi.curr().get_int(SLD_ANNOES);
|
||||
TRectype record(saldi.curr());
|
||||
|
||||
for (saldi.read(_isgteq); saldi.good() && saldi.curr() == record; saldi.next())
|
||||
{
|
||||
if (!saldi.get_bool(SLD_FLSCA))
|
||||
{
|
||||
int annoes_saldi = saldi.curr().get_int(SLD_ANNOES);
|
||||
|
||||
//Calcola i progressivi dell'esercizio attuale
|
||||
|
||||
if (annoes_saldi == _anno_corrente)
|
||||
{
|
||||
pdaresca = ZERO;
|
||||
paveresca = ZERO;
|
||||
progdare_attuale = saldi.get_real(SLD_PDARE);
|
||||
progavere_attuale = saldi.get_real(SLD_PAVERE);
|
||||
saldo = saldi.get_real(SLD_SALDO);
|
||||
salini = saldi.get(SLD_FLAGSALINI)[0];
|
||||
_ultima_data_reg = saldi.get_date(SLD_DATAULMOV);
|
||||
|
||||
// cerca eventuale record scaricati
|
||||
saldi.next();
|
||||
if (!saldi.eof() && saldi.get_bool(SLD_FLSCA) &&
|
||||
annoes_saldi == saldi.curr().get_int(SLD_ANNOES) &&
|
||||
saldi.get_int(SLD_GRUPPO) == _gruppo &&
|
||||
saldi.get_int(SLD_CONTO) == _conto &&
|
||||
saldi.get_long(SLD_SOTTOCONTO) == _sottoc)
|
||||
if (annoes_saldi == _anno_corrente)
|
||||
{
|
||||
pdaresca = saldi.get_real(SLD_PDARE);
|
||||
paveresca = saldi.get_real(SLD_PAVERE);
|
||||
progdare_attuale = saldi.get_real(SLD_PDARE);
|
||||
progavere_attuale = saldi.get_real(SLD_PAVERE);
|
||||
saldo = saldi.get_real(SLD_SALDO);
|
||||
salini = saldi.get(SLD_FLAGSALINI)[0];
|
||||
_ultima_data_reg = saldi.get_date(SLD_DATAULMOV);
|
||||
|
||||
}
|
||||
saldi.prev();
|
||||
}
|
||||
|
||||
//Calcola i progressivi dell'esercizio precedente
|
||||
|
||||
if (annoes_saldi == _anno_precedente)
|
||||
{
|
||||
pdarescap = ZERO;
|
||||
pdarep = saldi.get_real(SLD_PDARE);
|
||||
paverescap = ZERO;
|
||||
paverep = saldi.get_real(SLD_PAVERE);
|
||||
|
||||
// cerca eventuale record scaricati
|
||||
saldi.next();
|
||||
if (!saldi.eof() && saldi.get_bool(SLD_FLSCA) &&
|
||||
annoes_saldi == saldi.curr().get_int(SLD_ANNOES) &&
|
||||
saldi.get_int(SLD_GRUPPO) == _gruppo &&
|
||||
saldi.get_int(SLD_CONTO) == _conto &&
|
||||
saldi.get_long(SLD_SOTTOCONTO) == _sottoc)
|
||||
if (annoes_saldi == _anno_precedente)
|
||||
{
|
||||
pdarescap = saldi.get_real(SLD_PDARE);
|
||||
paverescap = saldi.get_real(SLD_PAVERE);
|
||||
pdarep = saldi.get_real(SLD_PDARE);
|
||||
paverep = saldi.get_real(SLD_PAVERE);
|
||||
|
||||
// cerca eventuale record scaricati
|
||||
}
|
||||
saldi.prev();
|
||||
}
|
||||
|
||||
|
||||
// Se il saldo dell'esercizio attuale e' diverso da 0 allora significa che
|
||||
// quello corrisponde al saldo finale dell'esercizio precedente. Per ottenere
|
||||
// i progressivi dell'esercizio precedente devo a questo punto sommare i
|
||||
@ -3031,13 +2993,13 @@ void TMastrini_application::calcola_progressivi()
|
||||
|
||||
if (saldo> ZERO)
|
||||
{
|
||||
progredare_eseprec = saldo;// + pdarescap + pdarep;
|
||||
progredare_eseprec = saldo;
|
||||
progdare_prec = saldo;
|
||||
}
|
||||
else if (saldo < ZERO)
|
||||
{
|
||||
saldo = -saldo;
|
||||
progreavere_eseprec = saldo;// + paverescap + paverep;
|
||||
progreavere_eseprec = saldo;
|
||||
progavere_prec = saldo;
|
||||
}
|
||||
}
|
||||
@ -3050,8 +3012,8 @@ void TMastrini_application::calcola_progressivi()
|
||||
//dei progressivi dell'anno esercizio precedente, e dei progressivi dei
|
||||
//movimenti scaricati dell'esercizio attuale.
|
||||
|
||||
_progredare = pdaresca + progredare_eseprec + _totale_prima_dare;
|
||||
_progreavere = paveresca + progreavere_eseprec + _totale_prima_avere;
|
||||
_progredare = progredare_eseprec + _totale_prima_dare;
|
||||
_progreavere = progreavere_eseprec + _totale_prima_avere;
|
||||
_saldo_progre_prec = _progredare - _progreavere;
|
||||
|
||||
//Calcolo dei progressivi al <ultima data registrazione>
|
||||
@ -3656,7 +3618,7 @@ bool TMastrini_application::user_create()
|
||||
exp.add("SOTTOCONTO=SOTTOCONTO");
|
||||
_rel->add(LF_RMOV,exp,2,LF_SALDI);
|
||||
|
||||
_cur1=add_cursor(new TCursor(_rel,"",2));
|
||||
_cur1=add_cursor(new TCursor(_rel,"FLSCA=\"F\"",2));
|
||||
|
||||
_nditte = new TLocalisamfile (LF_NDITTE);
|
||||
_unloc = new TLocalisamfile (LF_UNLOC);
|
||||
|
@ -555,6 +555,7 @@ bool CG3500_application::CercaConto(int g, int c)
|
||||
_tmp_saldi->put(SLD_CONTO,c);
|
||||
_tmp_saldi->put(SLD_SOTTOCONTO,0l);
|
||||
_tmp_saldi->put(SLD_ANNOES,_annoese);
|
||||
_tmp_saldi->put(SLD_FLSCA. "");
|
||||
if (_tmp_saldi->read() == NOERR)
|
||||
{
|
||||
_gconto = _tmp_saldi->get_int(SLD_GRUPPO);
|
||||
@ -583,6 +584,7 @@ bool CG3500_application::CercaGruppo(int g)
|
||||
_tmp_saldi->put(SLD_CONTO,0);
|
||||
_tmp_saldi->put(SLD_SOTTOCONTO,0l);
|
||||
_tmp_saldi->put(SLD_ANNOES,_annoese);
|
||||
_tmp_saldi->put(SLD_FLSCA, "");
|
||||
if (_tmp_saldi->read() == NOERR)
|
||||
{
|
||||
_ggruppo = _tmp_saldi->get_int(SLD_GRUPPO);
|
||||
@ -752,6 +754,7 @@ TDate CG3500_application::UltimaData(int g, int c, long s)
|
||||
saldi.zero();
|
||||
if (_annoese != 0)
|
||||
saldi.put(SLD_ANNOES, _annoese);
|
||||
saldi->put(SLD_FLSCA, "");
|
||||
saldi.put(SLD_GRUPPO,g);
|
||||
if (c != 0)
|
||||
saldi.put(SLD_CONTO, c);
|
||||
|
@ -773,6 +773,8 @@ void CG4600_application::costi()
|
||||
_saldi->put(SLD_CONTO, c);
|
||||
|
||||
(*_rec) = _saldi->curr();
|
||||
|
||||
_saldi->put(SLD_FLSCA,"");
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
@ -925,6 +927,8 @@ void CG4600_application::ricavi()
|
||||
_saldi->put(SLD_CONTO, c);
|
||||
|
||||
(*_rec) = _saldi->curr();
|
||||
|
||||
_saldi->put(SLD_FLSCA,"");
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
@ -1170,6 +1174,8 @@ void CG4600_application::chiudi_attivita()
|
||||
|
||||
// TRectype rec (_saldi->curr());
|
||||
*_rec = _saldi->curr();
|
||||
|
||||
_saldi->put(SLD_FLSCA,"");
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
@ -1322,6 +1328,8 @@ void CG4600_application::chiudi_passivita()
|
||||
_saldi->put(SLD_CONTO, c);
|
||||
|
||||
TRectype rec (_saldi->curr());
|
||||
|
||||
_saldi->put(SLD_FLSCA,"");
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
@ -1475,6 +1483,8 @@ void CG4600_application::chiudi_conti_ordine()
|
||||
|
||||
// TRectype rec (_saldi->curr());
|
||||
*_rec = _saldi->curr();
|
||||
|
||||
_saldi->put(SLD_FLSCA,"");
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
@ -1675,6 +1685,8 @@ void CG4600_application::apri_attivita()
|
||||
_saldi->put(SLD_CONTO, c);
|
||||
|
||||
TRectype rec (_saldi->curr());
|
||||
|
||||
_saldi->put(SLD_FLSCA,"");
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
@ -1821,6 +1833,8 @@ void CG4600_application::apri_passivita()
|
||||
_saldi->put(SLD_CONTO, c);
|
||||
|
||||
TRectype rec (_saldi->curr());
|
||||
|
||||
_saldi->put(SLD_FLSCA,"");
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
@ -1967,6 +1981,8 @@ void CG4600_application::apri_conti_ordine()
|
||||
_saldi->put(SLD_CONTO, c);
|
||||
|
||||
TRectype rec (_saldi->curr());
|
||||
|
||||
_saldi->put(SLD_FLSCA,"");
|
||||
|
||||
j = 0;
|
||||
numrig = 0;
|
||||
|
@ -41,8 +41,6 @@ bool TRiga_array::add_riga(const TRectype& rec_saldi)
|
||||
|
||||
if ( annoes == annoesr )
|
||||
{
|
||||
// pdaresca = r.get_real(SLD_PDARESCA);
|
||||
// paveresca = r.get_real(SLD_PAVERESCA);
|
||||
flsca = r.get_bool(SLD_FLSCA);
|
||||
flag = r.get_char(SLD_FLAGSALINI);
|
||||
flagfin = r.get_char(SLD_FLAGSALFIN);
|
||||
@ -54,10 +52,6 @@ bool TRiga_array::add_riga(const TRectype& rec_saldi)
|
||||
paverepro = r.get_real(SLD_PAVEREPRO);
|
||||
udata = r.get(SLD_DATAULMOV);
|
||||
unum = r.get_long(SLD_NUMULTMOV);
|
||||
// pdarescar = rec_saldi.get_real(SLD_PDARESCA);
|
||||
// pdarescar += pdaresca;
|
||||
// paverescar = rec_saldi.get_real(SLD_PAVERESCA);
|
||||
// paverescar+= paveresca;
|
||||
flagr = rec_saldi.get_char(SLD_FLAGSALINI);
|
||||
flagfinr = rec_saldi.get_char(SLD_FLAGSALFIN);
|
||||
pdarer = rec_saldi.get_real(SLD_PDARE);
|
||||
@ -85,10 +79,8 @@ bool TRiga_array::add_riga(const TRectype& rec_saldi)
|
||||
paverepror = rec_saldi.get_real(SLD_PAVEREPRO);
|
||||
paverepror += paverepro;
|
||||
found = TRUE;
|
||||
r.put(SLD_FLSCA, flsca ? "X" : " ");
|
||||
r.put(SLD_FLSCA, flsca);
|
||||
r.put(SLD_ANNOES, annoes);
|
||||
// r.put(SLD_PDARESCA, pdarescar);
|
||||
// r.put(SLD_PAVERESCA,paverescar);
|
||||
r.put(SLD_PDARE, pdarer);
|
||||
r.put(SLD_PAVERE,paverer);
|
||||
r.put(SLD_FLAGSALINI,flagr);
|
||||
@ -219,7 +211,7 @@ bool TSaldibrowse_application::fai_filtro()
|
||||
if (_s != 0l)
|
||||
to.put(SLD_SOTTOCONTO,_s);
|
||||
|
||||
_scarongly = m.get_bool(F_SCARICATO);
|
||||
_scarongly = m.get_bool(F_SCARICATO);
|
||||
|
||||
if ( _saldo_gruppo || _saldo_conto )
|
||||
_cur->setkey(1);
|
||||
@ -227,7 +219,7 @@ bool TSaldibrowse_application::fai_filtro()
|
||||
if (_saldo_sottoc)
|
||||
_cur->setkey(2);
|
||||
|
||||
_cur->setregion(from,to);
|
||||
_cur->setregion(from,to);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@ -428,8 +420,10 @@ void TSaldibrowse_application::compilasheet()
|
||||
*_cur = 0l;
|
||||
|
||||
for (int i = 0; i < items; i++,++(*_cur))
|
||||
{
|
||||
if (_scarongly &&! _cur->curr().get_bool(SLD_FLSCA))
|
||||
{
|
||||
|
||||
const bool scar = _cur->curr().get_bool(SLD_FLSCA);
|
||||
if ((_scarongly && !scar) || (!_scarongly && scar))
|
||||
continue;
|
||||
|
||||
anno = _cur->curr().get_int(SLD_ANNOES);
|
||||
@ -460,28 +454,11 @@ void TSaldibrowse_application::compilasheet()
|
||||
pdaresca = ZERO;
|
||||
paveresca = ZERO;
|
||||
|
||||
// look for scariche'
|
||||
if (i < items - 1 && !_scarongly)
|
||||
{
|
||||
++(*_cur);
|
||||
if (_cur->curr().get_bool(SLD_FLSCA) &&
|
||||
sottoconto == _cur->curr().get_long(SLD_SOTTOCONTO) &&
|
||||
conto == _cur->curr().get_int(SLD_CONTO) &&
|
||||
gruppo == _cur->curr().get_int(SLD_GRUPPO) &&
|
||||
anno == _cur->curr().get_int(SLD_ANNOES))
|
||||
{
|
||||
pdaresca = _cur->curr().get_real(SLD_PDARE);
|
||||
paveresca = _cur->curr().get_real(SLD_PAVERE);
|
||||
}
|
||||
else --(*_cur);
|
||||
}
|
||||
|
||||
if (flagsal == 'D')
|
||||
saldo = pdare + saldoini - pavere;
|
||||
else
|
||||
saldo = pdare - saldoini - pavere;
|
||||
// saldosca = saldo + pdaresca - paveresca; //in realta' non e' proprio il saldo degli scaricati ma quello complessivo
|
||||
// .... ma tanto nessuno lo usa....
|
||||
saldopro = pdarepro - paverepro;
|
||||
|
||||
add_r(i,anno,saldofin,flagfin,saldo,flagsal,saldoini,pdare,pavere,saldo,
|
||||
@ -525,9 +502,6 @@ void TSaldibrowse_application::compilasheet()
|
||||
else --j;
|
||||
}
|
||||
|
||||
// a che serve ?????
|
||||
// saldosca = saldo + pdaresca - paveresca;
|
||||
|
||||
// come sopra
|
||||
add_r(j,anno,saldofin,flagfin,saldo,flagsal,saldoini,pdare,pavere,saldo,ultima_data,
|
||||
ultimo_num,pdarepro,paverepro,saldopro, pdaresca, paveresca);
|
||||
|
@ -76,21 +76,24 @@ TSaldi_list::TSaldi_list(int gr, int co, int aec, int aep_par)
|
||||
cf.put(SLD_CONTO,co);
|
||||
|
||||
for (cf.read(_isgteq);!cf.eof();cf.next())
|
||||
{
|
||||
const int ae = cf.get_int(SLD_ANNOES);
|
||||
const int g = cf.get_int(SLD_GRUPPO);
|
||||
const int c = cf.get_int(SLD_CONTO);
|
||||
const long s = cf.get_long(SLD_SOTTOCONTO);
|
||||
|
||||
if (g != gr || c != co) break;
|
||||
if (ae != aec && ae != aep) continue;
|
||||
|
||||
TRectype r(cf.curr());
|
||||
key.format("%3d%3d%6ld", g, c, s);
|
||||
|
||||
// Se avevo chiesto anche l'es. prec. puo' darsi che l'abbia gia' trovato
|
||||
force = !aep_par;
|
||||
add((const char*) key, r, force);
|
||||
{
|
||||
if (!cf.get_bool(SLD_FLSCA))
|
||||
{
|
||||
const int ae = cf.get_int(SLD_ANNOES);
|
||||
const int g = cf.get_int(SLD_GRUPPO);
|
||||
const int c = cf.get_int(SLD_CONTO);
|
||||
const long s = cf.get_long(SLD_SOTTOCONTO);
|
||||
|
||||
if (g != gr || c != co) break;
|
||||
if (ae != aec && ae != aep) continue;
|
||||
|
||||
TRectype r(cf.curr());
|
||||
key.format("%3d%3d%6ld", g, c, s);
|
||||
|
||||
// Se avevo chiesto anche l'es. prec. puo' darsi che l'abbia gia' trovato
|
||||
force = !aep_par;
|
||||
add((const char*) key, r, force);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -467,60 +470,21 @@ bool TSaldo::prg_saldo(int annoes, TConto& conto, real& prgdare, real& prgavere,
|
||||
_saldi.put(SLD_CONTO,conto.conto());
|
||||
_saldi.put(SLD_SOTTOCONTO,conto.sottoconto());
|
||||
_saldi.put(SLD_ANNOES,annoes);
|
||||
_saldi.put(SLD_FLSCA, "");
|
||||
_saldi.put(SLD_FLSCA, scar);
|
||||
|
||||
bool ok = _saldi.read() == NOERR;
|
||||
|
||||
if (ok)
|
||||
{
|
||||
char flagsalini = _saldi.get_char(SLD_FLAGSALINI);
|
||||
real saldoini = _saldi.get_real(SLD_SALDO);
|
||||
real pdare = _saldi.get_real(SLD_PDARE);
|
||||
real pavere = _saldi.get_real(SLD_PAVERE);
|
||||
real pdaresca, paveresca;
|
||||
const char flagsalini = _saldi.get_char(SLD_FLAGSALINI);
|
||||
const real saldoini = _saldi.get_real(SLD_SALDO);
|
||||
prgdare = _saldi.get_real(SLD_PDARE);
|
||||
prgavere = _saldi.get_real(SLD_PAVERE);
|
||||
|
||||
// look for scaricated
|
||||
_saldi.zero();
|
||||
_saldi.put(SLD_GRUPPO,conto.gruppo());
|
||||
_saldi.put(SLD_CONTO,conto.conto());
|
||||
_saldi.put(SLD_SOTTOCONTO,conto.sottoconto());
|
||||
_saldi.put(SLD_ANNOES,annoes);
|
||||
_saldi.put(SLD_FLSCA, "X");
|
||||
|
||||
if (_saldi.read() == NOERR)
|
||||
{
|
||||
pdaresca = _saldi.get_real(SLD_PDARE);
|
||||
paveresca = _saldi.get_real(SLD_PAVERE);
|
||||
}
|
||||
|
||||
// fill reals with proper kanker
|
||||
if (scar)
|
||||
{
|
||||
if (flagsalini == 'D')
|
||||
{
|
||||
prgdare = saldoini + pdaresca;
|
||||
prgavere = paveresca;
|
||||
}
|
||||
else
|
||||
{
|
||||
prgdare = pdaresca;
|
||||
prgavere = saldoini + paveresca;
|
||||
}
|
||||
}
|
||||
if (flagsalini == 'D')
|
||||
prgdare += saldoini ;
|
||||
else
|
||||
{
|
||||
if (flagsalini == 'D')
|
||||
{
|
||||
prgdare = saldoini + pdare + pdaresca;
|
||||
prgavere = pavere + paveresca;
|
||||
}
|
||||
else
|
||||
{
|
||||
prgdare = pdare + pdaresca;
|
||||
prgavere = saldoini + pavere + paveresca;
|
||||
}
|
||||
}
|
||||
|
||||
prgavere += saldoini;
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ void TSaldo_agg::clear_saldi(int year)
|
||||
{
|
||||
if (!saldi.get_bool(SLD_FLSCA))
|
||||
{
|
||||
saldi.put(SLD_FLAGSALINI, "D");
|
||||
/* saldi.put(SLD_FLAGSALINI, "D");
|
||||
saldi.zero(SLD_SALDO);
|
||||
saldi.zero(SLD_PDAREPRO);
|
||||
saldi.zero(SLD_PAVEREPRO);
|
||||
@ -159,10 +159,16 @@ void TSaldo_agg::clear_saldi(int year)
|
||||
saldi.zero(SLD_PAVERE);
|
||||
saldi.zero(SLD_NUMULTMOV);
|
||||
saldi.zero(SLD_DATAULMOV);
|
||||
saldi.rewrite();
|
||||
*/
|
||||
saldi.remove();
|
||||
}
|
||||
else
|
||||
saldi.reread(_unlock);
|
||||
{
|
||||
saldi.put(SLD_FLSCA, "");
|
||||
saldi.write();
|
||||
saldi.put(SLD_FLSCA, "X");
|
||||
saldi.read(_unlock);
|
||||
}
|
||||
}
|
||||
saldi.reread(_unlock);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user