Metodi per la gestione delle parti di codice spostati da SVriep_record all'applicazione di stampa

git-svn-id: svn://10.65.10.50/trunk@5269 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-09-25 16:51:52 +00:00
parent ea61de8dbe
commit d34c51a9af
2 changed files with 3 additions and 110 deletions

View File

@ -6,9 +6,6 @@
#include "svriep.h"
#include "svstat.h"
#include "..\mg\anamag.h"
#include "..\pr\agenti.h"
#include "..\ve\clifor.h"
///////////////////////////////////////////////////////////
// Funzioni di utilita' comune
@ -532,15 +529,7 @@ TStats_agg::TStats_agg() : _ditta(-1)
// Record del file svriep
///////////////////////////////////////////////////////////
TSVriep_record:: TSVriep_record(): TVariable_rectype(LF_SVRIEP),
_anamag(LF_ANAMAG),
_clifor(LF_CLIFO),
_agenti(LF_AGENTI),
_magazz(LF_MAG),
_tipodoc("%NUM"),
_catven("CVE"),
_zone("ZON"),
_ums("%UMS")
TSVriep_record:: TSVriep_record(): TVariable_rectype(LF_SVRIEP)
{}
TSVriep_record::~TSVriep_record()
@ -603,102 +592,10 @@ void TSVriep_record::put_str(const char* fieldname, const char* val)
}
const TString& TSVriep_record::get_part(const char *lev_code) const
{
static TString park(' ',25);
int lev_code_num=atoi(lev_code+1);
switch (*lev_code)
{
case 'D': // tipo documento
return get(SVR_TIPODOC);
case 'A': // articolo
if (lev_code_num==0)
{
park=get(SVR_CODART);
return park.rpad(25);
}
else
{
park =_liv_art.unpack_grpcode(get(SVR_CODART),lev_code_num);
return park.rpad(_liv_art.code_length(lev_code_num));
}
case 'L': // liv giac
CHECK(lev_code_num>0,"I livelli di giacenza sono utilizzabili solo singolarmente");
park = _liv_giac.unpack_grpcode(get(SVR_GIAC),lev_code_num);
return park.rpad(_liv_giac.code_length(lev_code_num));
case 'V': // cat. vendita
park=get(SVR_CATVEN);
return park.rpad(3);
case 'C': // cliente / fornitore
park.format("%c%6d",get_char(SVR_TIPOCF),get_int(SVR_CODCF));
return park;
case 'G': // agente
park.format("%5d",get_int(SVR_CODAG));
return park;
case 'M': // mag
park=get(SVR_MAG);
return park.rpad(3);
case 'Z': // zona
park=get(SVR_ZONA);
return park.rpad(3);
case 'U': // unità di misura
park=get(SVR_UMQTA);
return park.rpad(3);
default:
fatal_box("ai chent recognaiz the code of the key part!");
return "";
}
}
const TString& TSVriep_record::get_descrpart(const char *lev_code)
{
int lev_code_num=atoi(lev_code+1);
switch (*lev_code)
{
case 'D': // tipo documento
return _tipodoc.get(get(SVR_TIPODOC)).get("S0");
case 'A': // articolo
if (lev_code_num==0 || lev_code_num== _liv_art.last_level())
{
return _anamag.get(get(SVR_CODART)).get(ANAMAG_DESCR);
}
else
{
return _liv_art.group_descr(get(SVR_CODART),lev_code_num);
}
case 'L': // liv giac
CHECK(lev_code_num>0,"I livelli di giacenza sono utilizzabili solo singolarmente");
//return _liv_giac.group_descr(unpack_grpcode(get(SVR_GIAC),lev_code_num),lev_code_num);
case 'V': // cat. vendita
return _catven.get(get(SVR_CATVEN)).get("S0");
case 'C': // cliente
{
TToken_string cod;
cod.add(get_char(SVR_TIPOCF));
cod.add(get_int(SVR_CODCF));
return _clifor.get(cod).get(CLI_RAGSOC);
}
case 'G': // agente
return _agenti.get(get(SVR_CODAG)).get(AGE_RAGSOC);
case 'M': // mag
return _magazz.get(get(SVR_MAG)).get("S0");
case 'Z': // zona
return _zone.get(get(SVR_ZONA)).get("S0");
case 'U': // Unità di misura
return _ums.get(get(SVR_UMQTA)).get("S0");
default:
fatal_box("ai chent recognaiz the code of the key part!");
return "";
}
}
///////////////////////////////////////////////////////////
// Cache
///////////////////////////////////////////////////////////
#define RWCACHE_SIZE 10
#define RWCACHE_SIZE 100
// funzione di default: prende una chiave a caso chiave
const TString & TRWrecord_cache::getkey2discard()

View File

@ -96,13 +96,8 @@ public:
class TSVriep_record : public TVariable_rectype
{
TCodart_livelli _liv_art;
TCodgiac_livelli _liv_giac;
TRecord_cache _anamag,_clifor,_agenti,_magazz,_tipodoc,_catven,_zone,_ums;
public:
const TString& get_part(const char *lev_code) const;
const TString& get_descrpart(const char *lev_code);
virtual const TString & get_str(const char* fieldname) const;
virtual void put_str(const char* fieldname, const char* val);
@ -110,6 +105,7 @@ public:
virtual ~TSVriep_record();
};
const TString& get_partname(const char *lev_code) ;
class TRWrecord_cache : public TRecord_cache
{