diff --git a/ca/ca2100a.uml b/ca/ca2100a.uml index a1b107a5c..3d45ab04a 100755 --- a/ca/ca2100a.uml +++ b/ca/ca2100a.uml @@ -235,7 +235,7 @@ END BOOLEAN F_BLOCCATO BEGIN - PROMPT 2 21 "Movimento bloccato" + PROMPT 2 20 "Movimento bloccato" FIELD BLOCCATO END diff --git a/ca/ca3300.cpp b/ca/ca3300.cpp index ae13e792d..d7caa7f64 100755 --- a/ca/ca3300.cpp +++ b/ca/ca3300.cpp @@ -1,4 +1,7 @@ -#include +#include "ca3.h" +#include "calib01.h" +#include "calib02.h" + #include #include #include @@ -10,10 +13,6 @@ #include "../cg/cglib01.h" -#include "ca3.h" -#include "calib01.h" -#include "calib02.h" - #include "ca3300.h" //////////////////////////////////////////////////////// @@ -422,7 +421,7 @@ void TReport_bilancio_verifica::set_filter(const TMask& m, int row) } const bool movimentati = m.get_int(F_STAMPAV) == 1; - const bool nonnulli = m.get_int(F_STAMPAV) == 2; + const bool nonnulli = m.get_int(F_STAMPAV) == 2; TSheet_field& sf = m.sfield(F_RIGHE); TMask& sm = sf.sheet_mask(); @@ -460,7 +459,7 @@ TSaldo_contrapposto& TSaldo_contrapposto::operator+=(const TSaldo_contrapposto& { _preventivo += sc._preventivo; _consuntivo += sc._consuntivo; - _saldo += sc._saldo; + _saldo += sc._saldo; return *this; } @@ -500,7 +499,6 @@ public: virtual void requery(); virtual const TString& query_text() const { CHECK(false,"Perche' mi usi?"); return EMPTY_STRING; } - virtual unsigned int columns() const; virtual const TRecordset_column_info& column_info(unsigned int column) const; virtual const TVariant& get(unsigned int column) const { return NULL_VARIANT; } diff --git a/ca/calib02.cpp b/ca/calib02.cpp index 5bc8a3888..e502631a3 100755 --- a/ca/calib02.cpp +++ b/ca/calib02.cpp @@ -2,8 +2,6 @@ #include "calib02.h" #include "camask.h" -#include "../cg/cglib01.h" - #include #include @@ -465,17 +463,17 @@ void TAnal_bill::reset() _conto = _costo = _commessa = _fase = ""; } -int TAnal_bill::indicatore_bilancio() const +TIndbil TAnal_bill::indicatore_bilancio() const { - int indbil = 0; + TIndbil indbil = ib_null; const TMultilevel_code_info& info = ca_multilevel_code_info(LF_PCONANA); - TString80 conto = _conto; - for (int i = info.levels() - 1; i >= 0 && indbil <= 0; i--) + TString80 conto = _conto; // Codice conto da affettare in sottolivelli + for (int i = info.levels() - 1; i >= 0 && indbil == ib_null; i--) { - const int len = info.total_len(i); - conto.cut(len); - indbil = atoi(cache().get(LF_PCONANA, conto, PCONANA_INDBIL)); + conto.cut(info.total_len(i)); + const TRectype& pconana = cache().get(LF_PCONANA, conto); + indbil = TIndbil(pconana.get_int(PCONANA_INDBIL)); } return indbil; @@ -497,8 +495,7 @@ const TString& TAnal_bill::testata() const TParagraph_string str(descr, 15); TString& tmp = get_tmp_string(); tmp = str.get(0); - if (str.items() > 1) - tmp << '\n' << str.get(1); + tmp << '\n' << str.get(1); return tmp; } @@ -875,9 +872,8 @@ bool TSaldi_cache::saldo_movimenti(const TAnal_bill& b, return movim; } -bool TSaldi_cache::saldi(const TAnal_bill& bill, - const TDate& dal, const TDate& al, word tipo, - TSaldanal& s) +bool TSaldi_cache::saldi(const TAnal_bill& bill, const TDate& dal, const TDate& al, + word tipo, TSaldanal& s) { if (dal.ok() || al.ok()) { @@ -886,10 +882,15 @@ bool TSaldi_cache::saldi(const TAnal_bill& bill, const int anno_prec = _esc.date2prevesc(dal); if (anno_prec > 0) { - TImporto dare, avere; - saldo_annuale(bill, 0, anno_prec, tipo, dare, avere); - s._ini = dare; - s._ini += avere; + // Calcolo il saldo precedente solo per attivita' e passivita' + const TIndbil indbil = bill.indicatore_bilancio(); + if (indbil == ib_attivita || indbil == ib_passivita) + { + TImporto dare, avere; + saldo_annuale(bill, 0, anno_prec, tipo, dare, avere); + s._ini = dare; + s._ini += avere; + } } if ((tipo & _saldanal_ultima_imm)!=0) diff --git a/ca/calib02.h b/ca/calib02.h index 0719a265f..b6e2af81e 100755 --- a/ca/calib02.h +++ b/ca/calib02.h @@ -5,6 +5,10 @@ #include #endif +#ifndef __CGLIB01_H +#include "../cg/cglib01.h" +#endif + /////////////////////////////////////////////////////////// // TAnal_bill /////////////////////////////////////////////////////////// @@ -32,7 +36,7 @@ public: const TString& commessa() const; const TString& fase() const; - int indicatore_bilancio() const; + TIndbil indicatore_bilancio() const; const TString& testata() const; bool get(const TRectype& rec); void reset();