From 4e1ab308edefc423305e648681da61414bcf0ef8 Mon Sep 17 00:00:00 2001 From: luca Date: Wed, 2 Mar 2005 15:28:14 +0000 Subject: [PATCH] Patch level :2.2 36 Files correlati : Ricompilazione Demo : [ ] Commento :modificata chiave 4 del file RIP (149) ed eliminata la 5. Ribaltamento in corso d'opera git-svn-id: svn://10.65.10.50/trunk@12765 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ca/ca2200.cpp | 21 ++++++++++++++------- ca/calib01.h | 2 ++ ca/f149.dir | 2 +- ca/f149.trr | 5 ++--- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/ca/ca2200.cpp b/ca/ca2200.cpp index 939247185..11749dab1 100755 --- a/ca/ca2200.cpp +++ b/ca/ca2200.cpp @@ -66,15 +66,17 @@ protected: virtual TObject* key2obj(const char* key); public: - const TRecord_array& righe(const char* costo); + const TRecord_array& righe(const char* costo, const char* commessa); }; TObject* TCache_ripartizioni::key2obj(const char* key) { + TToken_string parametro(key); TLocalisamfile rip(LF_RIP); - rip.setkey(4); + rip.setkey(4); //chiave 4 (tipo+codcosto+codcms) rip.put(RIP_TIPO, "B"); - rip.put(RIP_CODCOSTO, key); //chiave 4 del file testate delle ripartizioni + rip.put(RIP_CODCOSTO, parametro.get(0)); + rip.put(RIP_CODCMS, parametro.get()); TString16 chiave; if (rip.read() == NOERR) @@ -85,9 +87,12 @@ TObject* TCache_ripartizioni::key2obj(const char* key) return (TObject*)rows; } -const TRecord_array& TCache_ripartizioni::righe(const char* costo) +const TRecord_array& TCache_ripartizioni::righe(const char* costo, const char* commessa) { - return *(const TRecord_array*)objptr(costo); + TToken_string parametro; + parametro = costo; + parametro.add(commessa); + return *(const TRecord_array*)objptr(parametro); } //-------------------------------------------------------------------- @@ -98,6 +103,8 @@ class TRib_movanal_app : public TSkeleton_application TRib_movanal_msk * _mask; TCache_ripartizioni _cache_rip; + virtual const char * extra_modules() const {return "cm";} //deve funzionare anche per le commesse + protected: virtual bool create(); virtual bool destroy(); @@ -190,8 +197,8 @@ bool TRib_movanal_app::explode_rows(const TRecord_array& input_rows, TRecord_arr for (int r = 1; r <= input_rows.rows(); r++) { const TRectype& rec = input_rows.row(r); - const TRecord_array& rrip = _cache_rip.righe(rec.get(RMOVANA_CODCCOSTO)); - + const TRecord_array& rrip = _cache_rip.righe(rec.get(RMOVANA_CODCCOSTO), rec.get(RMOVANA_CODCMS)); + if (rrip.rows() > 0) //ci sono righe di ripartizione { // Importo totale da distribuire arrotondato ai decimali della valuta di conto diff --git a/ca/calib01.h b/ca/calib01.h index de1af7476..03f4398f6 100755 --- a/ca/calib01.h +++ b/ca/calib01.h @@ -87,6 +87,8 @@ class TAnal_app : public TRelation_application TRelation* _rel; TSimple_anal_msk* _msk; + virtual const char * extra_modules() const {return "cm";} //funziona anche con autorizzazione CM + protected: virtual TMask* get_mask(int) { return _msk; } virtual TRelation* get_relation() const { return _rel; } diff --git a/ca/f149.dir b/ca/f149.dir index 8e310c1e7..c1fab620f 100755 --- a/ca/f149.dir +++ b/ca/f149.dir @@ -1,3 +1,3 @@ 149 0 -$rip|0|0|113|0|Archivio tabelle di ripartizione analitica||| +$rip|2|2|113|0|Archivio tabelle di ripartizione analitica||| diff --git a/ca/f149.trr b/ca/f149.trr index 64dbfd503..197b2dcc7 100755 --- a/ca/f149.trr +++ b/ca/f149.trr @@ -9,9 +9,8 @@ CODCOSTO|1|20|0|Codice centro di costo CODCMS|1|20|0|Codice commessa DESCRIZ|1|50|0|Descrizione TIPORIP|1|1|0|Tipo ripartizione -5 +4 TIPO+CODICE| TIPO+DESCRIZ|X TIPO+GRUPPO+CONTO+SOTTOCONTO|X -TIPO+CODCOSTO|X -TIPO+CODCMS|X +TIPO+CODCOSTO+CODCMS|X