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