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
This commit is contained in:
luca 2005-03-02 15:28:14 +00:00
parent 2b8c3a5256
commit 4e1ab308ed
4 changed files with 19 additions and 11 deletions

View File

@ -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

View File

@ -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; }

View File

@ -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|||

View File

@ -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