From 3358b09cbb3dd521c150148864a03a12905b331b Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 4 Jun 1996 14:18:45 +0000 Subject: [PATCH] Modifiche per nuova gestione archivio saldi git-svn-id: svn://10.65.10.50/trunk@2956 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg0100.cpp | 91 +++++++++++++++++++------------------------------- cg/cg0600.cpp | 20 +++++------ cg/cg3100.cpp | 4 ++- cg/cg3200.cpp | 88 ++++++++++++++---------------------------------- cg/cg3500.cpp | 3 ++ cg/cg4600.cpp | 16 +++++++++ cg/cg5200.cpp | 40 ++++------------------ cg/cglib01.cpp | 88 +++++++++++++++--------------------------------- cg/cglib02.cpp | 12 +++++-- 9 files changed, 133 insertions(+), 229 deletions(-) diff --git a/cg/cg0100.cpp b/cg/cg0100.cpp index 80ea5cb86..5c6cb305e 100755 --- a/cg/cg0100.cpp +++ b/cg/cg0100.cpp @@ -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) diff --git a/cg/cg0600.cpp b/cg/cg0600.cpp index 7cb605516..360fa6ecb 100755 --- a/cg/cg0600.cpp +++ b/cg/cg0600.cpp @@ -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() diff --git a/cg/cg3100.cpp b/cg/cg3100.cpp index 551b1b869..789cc4f0a 100755 --- a/cg/cg3100.cpp +++ b/cg/cg3100.cpp @@ -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) { diff --git a/cg/cg3200.cpp b/cg/cg3200.cpp index 748882d40..e50c26d31 100755 --- a/cg/cg3200.cpp +++ b/cg/cg3200.cpp @@ -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 @@ -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); diff --git a/cg/cg3500.cpp b/cg/cg3500.cpp index 41fd1d9b2..463cc2759 100755 --- a/cg/cg3500.cpp +++ b/cg/cg3500.cpp @@ -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); diff --git a/cg/cg4600.cpp b/cg/cg4600.cpp index 10eb640bc..cba7876c6 100755 --- a/cg/cg4600.cpp +++ b/cg/cg4600.cpp @@ -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; diff --git a/cg/cg5200.cpp b/cg/cg5200.cpp index 9c9e07839..930672c2b 100755 --- a/cg/cg5200.cpp +++ b/cg/cg5200.cpp @@ -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); diff --git a/cg/cglib01.cpp b/cg/cglib01.cpp index b6b43a5e3..7f045a2db 100755 --- a/cg/cglib01.cpp +++ b/cg/cglib01.cpp @@ -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; } diff --git a/cg/cglib02.cpp b/cg/cglib02.cpp index 2860e6959..5ea3a2101 100755 --- a/cg/cglib02.cpp +++ b/cg/cglib02.cpp @@ -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); }