Metodo load e costruttori senza parametri su TCOdice_livelli
Flag di aggiornamento ultcosto in causali magazzino git-svn-id: svn://10.65.10.50/trunk@5023 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
06ea15ff0c
commit
9f1d09a45c
@ -209,12 +209,15 @@ class TCodice_livelli : public TObject
|
||||
protected:
|
||||
bool _lev_enabled;
|
||||
|
||||
void load(bool e, const char *tabcod,const char *tabgrp);
|
||||
void add_metachar(int lev);
|
||||
TArray _metachars;
|
||||
|
||||
public:
|
||||
// Ritorna il numero di livelli abilitati
|
||||
int last_level() const {return enabled() ? _last_level: 0;};
|
||||
// Abilita la gestione dei livelli
|
||||
void enable(bool on=TRUE) ;
|
||||
// Ritorna se la gestione dei livelli è abilitata
|
||||
const bool enabled() const ;
|
||||
// Ritorna se il livello specificato è abilitato
|
||||
@ -247,7 +250,7 @@ public:
|
||||
const char * opz_chars();
|
||||
const char * mand_chars();*/
|
||||
|
||||
TCodice_livelli(const char *tabcod,const char *tabgrp); // costruttore
|
||||
TCodice_livelli() {}; // costruttore
|
||||
virtual ~TCodice_livelli() {}; // distruttore
|
||||
};
|
||||
|
||||
@ -295,7 +298,7 @@ public:
|
||||
int sgn(TTipo_saldomag fieldname) ;
|
||||
bool update_qta() {return !get_bool("B1");}
|
||||
bool update_val() {return !get_bool("B0");}
|
||||
bool update_ultcos() {return TRUE; /*get_bool("B2");*/}
|
||||
bool update_ultcos() {return get_bool("B2");}
|
||||
bool is_fiscale();
|
||||
TCausale_magazzino(const char * codice);
|
||||
virtual ~TCausale_magazzino() {}
|
||||
|
@ -578,15 +578,17 @@ TMetachar::~TMetachar ()
|
||||
// **************************
|
||||
// classe codice a livelli
|
||||
|
||||
TCodice_livelli:: TCodice_livelli(const char *tabname,const char *tabgrp)
|
||||
{
|
||||
|
||||
void TCodice_livelli::load(bool enabled, const char *tabname,const char *tabgrp)
|
||||
{
|
||||
TTable _tabformato(tabname);
|
||||
int e;
|
||||
|
||||
_lev_enabled = enabled;
|
||||
_last_level=0;
|
||||
e=_tabformato.first();
|
||||
for (int i=0; i< MANY_MAG_LEV; i++) {
|
||||
_enabled[i]=(e==NOERR);
|
||||
_enabled[i]=(e==NOERR) && _lev_enabled;
|
||||
if (_enabled[i]) {
|
||||
_name[i]=_tabformato.get("S0");
|
||||
_picture[i]=_tabformato.get("S1");
|
||||
@ -602,8 +604,11 @@ TCodice_livelli:: TCodice_livelli(const char *tabname,const char *tabgrp)
|
||||
_gruppi = new TDecoder(tabgrp);
|
||||
}
|
||||
|
||||
|
||||
|
||||
const char *TCodice_livelli::code_format(int levnum) const
|
||||
{
|
||||
CHECK(enabled(), "iu chent get the code format if levels are disabled");
|
||||
if (levnum<0) {
|
||||
levnum=max(last_level(),1);
|
||||
}
|
||||
@ -614,6 +619,7 @@ const char *TCodice_livelli::code_format(int levnum) const
|
||||
|
||||
bool TCodice_livelli::fit_to_format(const char *codepart,int levnum) const
|
||||
{
|
||||
CHECK(enabled(), "iu chent check wether the format fits if levels are disabled");
|
||||
if (levnum<0) {
|
||||
levnum=max(last_level(),1);
|
||||
}
|
||||
@ -635,15 +641,15 @@ const bool TCodice_livelli::enabled() const
|
||||
|
||||
const bool TCodice_livelli::enabled(int levnum) const
|
||||
{
|
||||
if (levnum<=MANY_MAG_LEV && levnum>0)
|
||||
return(_enabled[levnum-1] && _lev_enabled);
|
||||
if (_lev_enabled && levnum<=MANY_MAG_LEV && levnum>0)
|
||||
return(_enabled[levnum-1]);
|
||||
else
|
||||
return(FALSE) ;
|
||||
}
|
||||
|
||||
const int TCodice_livelli::code_lenght(int levnum) const
|
||||
{
|
||||
if (levnum<=MANY_MAG_LEV && levnum>0)
|
||||
if (_lev_enabled && levnum<=MANY_MAG_LEV && levnum>0)
|
||||
return(_code_lenght[levnum-1]);
|
||||
else
|
||||
return(0) ;
|
||||
@ -652,7 +658,7 @@ const int TCodice_livelli::code_lenght(int levnum) const
|
||||
const int TCodice_livelli::packed_lenght(int levnum) const
|
||||
{
|
||||
int start=0;
|
||||
for (int i=1; i<=levnum && levnum<=MANY_MAG_LEV; i++)
|
||||
for (int i=1; _lev_enabled && i<=levnum && levnum<=MANY_MAG_LEV; i++)
|
||||
start+= _code_lenght[i-1];
|
||||
return start;
|
||||
}
|
||||
@ -660,18 +666,18 @@ const int TCodice_livelli::packed_lenght(int levnum) const
|
||||
|
||||
const TString & TCodice_livelli::name(int levnum) const
|
||||
{
|
||||
if (levnum<=MANY_MAG_LEV && levnum>0)
|
||||
if (levnum<=MANY_MAG_LEV && levnum>0)
|
||||
return(_name[levnum-1]);
|
||||
else
|
||||
return("");
|
||||
else
|
||||
return(_name[0]); // empty
|
||||
}
|
||||
|
||||
const TString & TCodice_livelli::picture(int levnum) const
|
||||
{
|
||||
if (levnum<=MANY_MAG_LEV && levnum>0)
|
||||
if (levnum<=MANY_MAG_LEV && levnum>0)
|
||||
return(_picture[levnum-1]);
|
||||
else
|
||||
return("");
|
||||
else
|
||||
return(_picture[0]); // empty
|
||||
}
|
||||
|
||||
void TCodice_livelli::pack_grpcode(TString & pc, const TString &codlev, const int levnum)
|
||||
@ -682,7 +688,7 @@ void TCodice_livelli::pack_grpcode(TString & pc, const TString &codlev, const in
|
||||
TString TCodice_livelli::unpack_grpcode(const TString & pc, const int levnum) const
|
||||
{
|
||||
int start=0;
|
||||
for (int i=1; i<levnum; i++)
|
||||
for (int i=1; _lev_enabled && i<levnum; i++)
|
||||
start+= _code_lenght[i-1];
|
||||
if (start>=pc.len())
|
||||
return("");
|
||||
@ -698,7 +704,7 @@ TString TCodice_livelli::build_tabcode(const TString & pc, const int levnum) con
|
||||
TString valore;
|
||||
valore << levnum;
|
||||
valore << unpack_grpcode(pc,levnum);
|
||||
if (valore.len()>1)
|
||||
if (_lev_enabled && valore.len()>1)
|
||||
return valore;
|
||||
else
|
||||
return "";
|
||||
@ -724,11 +730,10 @@ void TCodice_livelli::set_sheetcolumn(TSheet_field &fld_righe,int field, int lev
|
||||
}
|
||||
|
||||
|
||||
TCodart_livelli ::TCodart_livelli() :
|
||||
TCodice_livelli("FCA","GCA")
|
||||
TCodart_livelli ::TCodart_livelli()
|
||||
{
|
||||
TConfig mgconfig(CONFIG_DITTA, "mg");
|
||||
_lev_enabled=mgconfig.get_bool("GESLIVART");
|
||||
load(mgconfig.get_bool("GESLIVART"), "FCA","GCA");
|
||||
// imposta il riconoscimento dei caratteri del formato dell'ultima parte dell'articolo
|
||||
TString80 format("");
|
||||
TTable _tabfca("FCA");
|
||||
@ -742,11 +747,10 @@ TCodart_livelli ::~TCodart_livelli()
|
||||
{
|
||||
}
|
||||
|
||||
TCodgiac_livelli ::TCodgiac_livelli() :
|
||||
TCodice_livelli("FCG","GCG")
|
||||
TCodgiac_livelli ::TCodgiac_livelli()
|
||||
{
|
||||
TConfig mgconfig(CONFIG_DITTA, "mg");
|
||||
_lev_enabled=mgconfig.get_bool("GESLIVGIAC");
|
||||
load(mgconfig.get_bool("GESLIVGIAC"),"FCG","GCG");
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user