From ace3ea0609a4e3525e165f6653a1594a9a4e306f Mon Sep 17 00:00:00 2001 From: angelo Date: Thu, 31 Jul 1997 14:43:20 +0000 Subject: [PATCH] Prime correzioni alla personalizzazione CGP1 git-svn-id: svn://10.65.10.50/trunk@5001 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cgp1100.cpp | 195 ++++++++++++++++++++++++------------------------- cg/cgp1200.cpp | 10 +-- 2 files changed, 99 insertions(+), 106 deletions(-) diff --git a/cg/cgp1100.cpp b/cg/cgp1100.cpp index dd850badb..742e38f8d 100755 --- a/cg/cgp1100.cpp +++ b/cg/cgp1100.cpp @@ -38,8 +38,6 @@ class TMastrini_application : public TPrintapp static bool memorizza_handler(TMask_field& f, KEY k); static bool scelte_notify(TSheet_field& s, int r, KEY k); - static bool filter_rmov(const TRelation *); - TDociva_array _b; TRelation* _rel1,*_rel2; TMask* _msk; @@ -338,7 +336,7 @@ bool TMastrini_application::sottoc_handler_fine(TMask_field& f, KEY key) if ( key == K_TAB && f.mask().is_running()) { - if (id == F_SOTTOCFINE_CONTO) + if (id == F_SOTTOCFINE_CONTO && (gruppo != 0 || conto != 0 || sottoconto != 0L)) { TLocalisamfile pconti (LF_PCON); pconti.zero(); @@ -614,13 +612,6 @@ bool TMastrini_application::movcas_cdc_handler(TMask_field& f, KEY key) return TRUE; } -bool TMastrini_application::filter_rmov(const TRelation *r) -{ - TLocalisamfile& rmov = r->lfile(-RMOV_ALIAS); - const long cdc = rmov.get_long(RMV_NUMGIO); - return cdc == app()._cdc; -} - bool TMastrini_application::scelte_notify(TSheet_field& s, int r, KEY k) { bool ok = TRUE; @@ -1528,6 +1519,7 @@ bool TMastrini_application::preprocess_page(int file, int counter) //per i mastrini che si trovano a cavallo fra una pagina e quella successiva. //In quest'ultimo caso infatti quando vado a pagina nuova devo stampare l'intestazione //ma senza il flag rischio di stamparla due volte. + if (_nummast == 3) _gia_stampata_intestazione = FALSE; @@ -1549,6 +1541,10 @@ bool TMastrini_application::preprocess_page(int file, int counter) _s_contr = rmov.get(RMV_SOTTOCONTOC); _centrodicosto = rmov.get(RMV_NUMGIO); + // Se non ha il richiesto numero di centro di costo salta la stampa di questa riga di movimento + if (_cdc != 0L && _cdc != atol(_centrodicosto)) + return FALSE; + // Stampa solo quelli che hanno anno esercizio uguale a quello specificato // nella maschera. Se non viene specificato li stampa tutti @@ -2480,10 +2476,6 @@ bool TMastrini_application::set_print(int) a.put(SLD_CONTO,contofine); a.put(SLD_SOTTOCONTO,sottocontofine); current_cursor()->setregion(da, a); - if (_cdc != 0L) - current_cursor()->set_filterfunction(filter_rmov,TRUE); - else - current_cursor()->set_filterfunction(NULL); if (_stampatotiva) _b.destroy(); @@ -3200,8 +3192,6 @@ void TMastrini_application::calcola_progressivi() * non occorra considerare il saldo di chiusura (SALDOFIN) aggiunto al * record */ - if (_cdc || _movcas_print) - return; TLocalisamfile saldi(LF_SALDI, FALSE); real progdare_attuale,progavere_attuale,progdare_prec,progavere_prec; @@ -3215,105 +3205,108 @@ void TMastrini_application::calcola_progressivi() // Ricerca sull'archivio saldi dei record con gruppo,conto,sottoconto // uguali a quelli di rmov per il calcolo dei progressivi precedenti - saldi.setkey(2); - saldi.zero(); - saldi.put(SLD_GRUPPO, _gruppo); - saldi.put(SLD_CONTO, _conto); - saldi.put(SLD_SOTTOCONTO, _sottoc); - - TRectype record(saldi.curr()); + if (!_cdc && !_movcas_print) + { + 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.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) + TRectype record(saldi.curr()); + + for (saldi.read(_isgteq); saldi.good() && saldi.curr() == record; saldi.next()) + { + if (!saldi.get_bool(SLD_FLSCA)) { - 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); - saldoini_attuale = saldi.get_real(SLD_SALDO); - salini_attuale = saldi.get_char(SLD_FLAGSALINI); - saldofine_attuale = saldi.get_real(SLD_SALDOFIN); - salfine_attuale = saldi.get_char(SLD_FLAGSALFIN); - } - -//Calcola i progressivi dell'esercizio precedente - - if (annoes_saldi == _anno_precedente) - { - pdarep = saldi.get_real(SLD_PDARE); - paverep = saldi.get_real(SLD_PAVERE); - - if (_stampa_mov_prov) + int annoes_saldi = saldi.curr().get_int(SLD_ANNOES); + + //Calcola i progressivi dell'esercizio attuale + + if (annoes_saldi == _anno_corrente) { - progredare_eseprec = pdarep + saldi.get_real(SLD_PDAREPRO); - progreavere_eseprec = paverep + saldi.get_real(SLD_PAVEREPRO); + 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); + saldoini_attuale = saldi.get_real(SLD_SALDO); + salini_attuale = saldi.get_char(SLD_FLAGSALINI); + saldofine_attuale = saldi.get_real(SLD_SALDOFIN); + salfine_attuale = saldi.get_char(SLD_FLAGSALFIN); } - // cerca eventuale record scaricati - } - -// 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 -// progressivi dell'esercizio e i progressivi di quelli scaricati, tenendo -// conto del flag salini per sapere se il saldo e' dare oppure avere. - -/* - if (_annomsk != 0 && _anno_corrente == annoes_saldi) - { - if (saldo != ZERO) - { - if (salini == 'D') + //Calcola i progressivi dell'esercizio precedente + + if (annoes_saldi == _anno_precedente) { - progredare_eseprec = saldo;// + pdarescap + pdarep; + pdarep = saldi.get_real(SLD_PDARE); + paverep = saldi.get_real(SLD_PAVERE); + + if (_stampa_mov_prov) + { + progredare_eseprec = pdarep + saldi.get_real(SLD_PDAREPRO); + progreavere_eseprec = paverep + saldi.get_real(SLD_PAVEREPRO); + } + + // cerca eventuale record scaricati + } + + // 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 + // progressivi dell'esercizio e i progressivi di quelli scaricati, tenendo + // conto del flag salini per sapere se il saldo e' dare oppure avere. + + /* + if (_annomsk != 0 && _anno_corrente == annoes_saldi) + { + if (saldo != ZERO) + { + if (salini == 'D') + { + progredare_eseprec = saldo;// + pdarescap + pdarep; + progdare_prec = saldo; + } + else if (salini == 'A') + { + progreavere_eseprec = saldo;// + paverescap + paverep; + progavere_prec = saldo; + } + } + } + */ + } // if (!saldi.get_bool(SLD_FLSCA)) + } // FOR + + //Se il saldo dell'esercizio attuale non e' diverso da zero, allora il saldo + // finale dell'esercizio precedente devo calcolarmelo tenendo conto dell'indbil + + if (_annomsk != 0 /*&& saldo == ZERO*/) // Guy: Non capisco perche' sia commentato! + { + if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5)) + { + const TRecnotype pos = saldi.recno(); + // W96SALDI del 18-07-96 saldofin_esprec usa il flag TRUE xche' deve + // considerare anche il saldo finale + saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE); + saldi.readat(pos); + + if (saldo> ZERO) + { + progredare_eseprec = saldo; progdare_prec = saldo; } - else if (salini == 'A') + else if (saldo < ZERO) { - progreavere_eseprec = saldo;// + paverescap + paverep; + saldo = -saldo; + progreavere_eseprec = saldo; progavere_prec = saldo; } } } -*/ - } // if (!saldi.get_bool(SLD_FLSCA)) - } // FOR + } // If (!_movcas_print && !_cdc) -//Se il saldo dell'esercizio attuale non e' diverso da zero, allora il saldo -// finale dell'esercizio precedente devo calcolarmelo tenendo conto dell'indbil - - if (_annomsk != 0 /*&& saldo == ZERO*/) // Guy: Non capisco perche' sia commentato! - { - if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5)) - { - const TRecnotype pos = saldi.recno(); - // W96SALDI del 18-07-96 saldofin_esprec usa il flag TRUE xche' deve - // considerare anche il saldo finale - saldo = _sld->saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc,TRUE,FALSE); - saldi.readat(pos); - - if (saldo> ZERO) - { - progredare_eseprec = saldo; - progdare_prec = saldo; - } - else if (saldo < ZERO) - { - saldo = -saldo; - progreavere_eseprec = saldo; - progavere_prec = saldo; - } - } - } - calcola_progressivi_al(); //Calcolo dei progressivi precedenti: somma di tutti quei movimenti di rmov diff --git a/cg/cgp1200.cpp b/cg/cgp1200.cpp index 6b22a7707..3c8c4688b 100755 --- a/cg/cgp1200.cpp +++ b/cg/cgp1200.cpp @@ -1227,7 +1227,7 @@ bool TStampaBilanciCDC_application::bil_sez_contr() bool TStampaBilanciCDC_application::ricerca_sottoc_clifo(int g,int c, bool compensa, int indbil_conto,real& saldo) { - TSaldo sld; + TCGPSaldo sld(_movcas_print, _cdc_cod); int aep=0; long s, items; bool esiste_sc = FALSE; @@ -1253,8 +1253,8 @@ bool TStampaBilanciCDC_application::ricerca_sottoc_clifo(int g,int c, bool compe if (_tipo_stampa == 1) //bil. a sez. contrapposte per data limite movimentato = sld.data_limite_bilancio(_bilancio,g,c,s,_dataini,_datalim,indbil_conto,_stampa_mov_prov); - else if (_tipo_stampa == 2) //bil. a sez. contrapposte all'ultima immissione es. in corso - movimentato = sld.ultima_immissione_bilancio(_annoes,g,c,s,indbil_conto,_stampa_mov_prov); + //else if (_tipo_stampa == 2) //bil. a sez. contrapposte all'ultima immissione es. in corso + // movimentato = sld.ultima_immissione_bilancio(_annoes,g,c,s,indbil_conto,_stampa_mov_prov); if (!movimentato) if (!sld.esiste_saldo() || !sld.significativo()) @@ -2076,7 +2076,7 @@ bool TStampaBilanciCDC_application::ricerca_cf(int g,int c,char tipocf,int ib, r //solo se e' un conto patrimoniale if (ib == 1 || ib == 2 || ib == 5) { - saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE,TRUE); + saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE); movimentato = sld.significativo(); } } @@ -2524,7 +2524,7 @@ void TStampaBilanciCDC_application::leggi_clifo(const TArray& gccf) if (_stampa_mov_prov != 3) if (!movimentato /* && _stampac!=1 */ ) if (_indbil == 1 || _indbil == 2 || _indbil == 5) - saldo_iniziale = sld.saldofin_esprec(anno,g,c,codcf,FALSE,TRUE); + saldo_iniziale = sld.saldofin_esprec(anno,g,c,codcf,FALSE); if (movimentato) saldo_iniziale = sld.saldoini();