From 4c6b507b647f8f54adc46a9a646c1b7d2331a500 Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 6 May 2005 10:47:02 +0000 Subject: [PATCH] Patch level : 2.2 Files correlati : Ricompilazione Demo : [ ] Commento : Tolta gestione commesse da calcolo saldi git-svn-id: svn://10.65.10.50/trunk@13058 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg2101.h | 2 ++ cg/cglib02.cpp | 40 +++++++++++++++++----------------------- cg/cglib02.h | 2 +- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/cg/cg2101.h b/cg/cg2101.h index af20b5953..70b3dddcb 100755 --- a/cg/cg2101.h +++ b/cg/cg2101.h @@ -62,7 +62,9 @@ public: virtual int remove(); const TRecord_array& cg_rows() const { return _cg; } + TRecord_array& cg_rows() { return _cg; } const TRecord_array& iva_rows() const { return _iva; } + TRecord_array& iva_rows() { return _iva; } TRectype& cg(int i); TRectype& iva(int i); int cg_items() const { return _cg.rows(); } diff --git a/cg/cglib02.cpp b/cg/cglib02.cpp index 545f392e3..3af927960 100755 --- a/cg/cglib02.cpp +++ b/cg/cglib02.cpp @@ -454,7 +454,7 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil } const real& TSaldo::saldo_periodo(int g, int c, long s, const TDate& dal, const TDate& al, - int indbil, bool provv, const TString& codcomm) + int indbil, bool provv) { _saldo_iniziale = ZERO; _saldo = ZERO; @@ -468,28 +468,23 @@ const real& TSaldo::saldo_periodo(int g, int c, long s, const TDate& dal, const TEsercizi_contabili es; const int codes = es.date2esc(dal); const TDate inizio = es.esercizio(codes).inizio(); - const bool is_commessa = codcomm.not_empty(); _annoes = codes; - if( !is_commessa) - { - TString80 key; key.format("%04d| |%d|%d|%ld", _annoes, g, c, s); - const TRectype& saldo = cache().get(LF_SALDI, key); - - _saldo_iniziale = saldo.get_real(SLD_SALDO); - _prec = _saldo_iniziale.is_zero() && (indbil == 1 || indbil == 2 || indbil == 5); + TString80 key; key.format("%04d| |%d|%d|%ld", _annoes, g, c, s); + const TRectype& saldo = cache().get(LF_SALDI, key); - if (_prec) - { - _saldo_iniziale = saldofin_esprec(codes,g,c,s); - } - else - { - if (saldo.get_char(SLD_FLAGSALINI) == 'A') - _saldo_iniziale = -_saldo_iniziale; - } + _saldo_iniziale = saldo.get_real(SLD_SALDO); + _prec = _saldo_iniziale.is_zero() && (indbil == 1 || indbil == 2 || indbil == 5); + + if (_prec) + { + _saldo_iniziale = saldofin_esprec(codes,g,c,s); } - + else + { + if (saldo.get_char(SLD_FLAGSALINI) == 'A') + _saldo_iniziale = -_saldo_iniziale; + } TRelation relrmov(LF_RMOV); TRectype& rmov = relrmov.curr(); @@ -520,8 +515,7 @@ const real& TSaldo::saldo_periodo(int g, int c, long s, const TDate& dal, const const long num_reg = rmov.get_long(RMV_NUMREG); const real importo = rmov.get_real(RMV_IMPORTO); - if ((!is_commessa || codcomm == rmov.get(RMV_CODCMS)) && - importo != ZERO) + if (!importo.is_zero()) { const char sezione = rmov.get_char(RMV_SEZIONE); // "Se la causale del movimento e' di chiusura, @@ -541,7 +535,7 @@ const real& TSaldo::saldo_periodo(int g, int c, long s, const TDate& dal, const _prg_avere += importo; } else - if ((!is_commessa) && _datacomp >= inizio && _datacomp < dal) + if (_datacomp >= inizio && _datacomp < dal) { if (sezione == 'D') _saldo_iniziale += importo; @@ -594,7 +588,7 @@ bool TSaldo::prg_saldo(int annoes, TConto& conto, real& prgdare, real& prgavere, if (ok) { const char flagsalini = _saldi.get_char(SLD_FLAGSALINI); - const real saldoini = _saldi.get_real(SLD_SALDO); + const real saldoini = _saldi.get_real(SLD_SALDO); prgdare = _saldi.get_real(SLD_PDARE); prgavere = _saldi.get_real(SLD_PAVERE); diff --git a/cg/cglib02.h b/cg/cglib02.h index 0c90d0d55..ca5440a77 100755 --- a/cg/cglib02.h +++ b/cg/cglib02.h @@ -112,7 +112,7 @@ public: bool ultima_immissione_bilancio(int anno,int g,int c,long s,int indbil,int prov,bool saldo_chiusura = TRUE); bool ultima_immissione_verifica(int anno,int g,int c,long s,int indbil,int prov); bool data_limite_bilancio(int,int,int,long,const TDate&,const TDate&,int,int, const char* = NULL); - const real& saldo_periodo(int g,int c,long s,const TDate& dal,const TDate& al,int indbil, bool provv, const TString & codcomm = EMPTY_STRING); + const real& saldo_periodo(int g,int c,long s,const TDate& dal,const TDate& al,int indbil, bool provv); bool ricerca_progr_prec(int, int, int, long);