Variabili di Tmagazzini, TEsercizi_contabili e unità di misura in private

e aggiunti metodi di acesso public


git-svn-id: svn://10.65.10.50/trunk@5095 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-08-22 09:27:37 +00:00
parent 2a2be1f919
commit 043926ad37

View File

@ -18,6 +18,10 @@ class TMask_anamag: public TMask {
int last_annogiac;
int last_annosto;
TString16 _um_principale;
TMagazzini _magazzini;
TEsercizi_contabili _esercizi_contabili;
static bool handle_codice(TMask_field &, KEY); // handler del campo codice articolo
static bool handle_livart(TMask_field &, KEY); // handler dei campi codice articolo (livelli)
static bool handle_anno(TMask_field &, KEY); // handler del campo anno delle giacenze
@ -47,9 +51,9 @@ class TMask_anamag: public TMask {
public:
void ricalcola_giacenze();
TString16 um_principale;
TMagazzini magazzini;
TEsercizi_contabili esercizi_contabili;
TString16 &um_principale() {return _um_principale;}
TMagazzini & magazzini() {return _magazzini;}
TEsercizi_contabili &esercizi_contabili() {return _esercizi_contabili;}
TMask_anamag(TRelation * rel,bool mg_autorized);
virtual ~TMask_anamag();
@ -98,7 +102,7 @@ TMask_anamag::TMask_anamag(TRelation * rel,bool mg_autorized) : TMask("ve2400")
// ABILITAZIONI PARAMETRICHE
// Abilita la pagina delle giacenze
if (mg_autorized && magazzini.gestmag())
if (mg_autorized && magazzini().gestmag())
{
enable_page(3,TRUE);
enable_page(4,TRUE);
@ -116,7 +120,7 @@ TMask_anamag::TMask_anamag(TRelation * rel,bool mg_autorized) : TMask("ve2400")
fld_giac.sheet_mask().field(F_NDIST).enable(FALSE);
}
// abilita la gestione delle ubicazioni (manuale/su tabella)
if (magazzini.gestubi_man()) {
if (magazzini().gestubi_man()) {
fld_giac.sheet_mask().field(F_UBICAZ).show(FALSE);
fld_giac.sheet_mask().field(F_UBICAZD).show(FALSE);
fld_giac.sheet_mask().field(F_UBICAZ2).show(TRUE);
@ -126,9 +130,9 @@ TMask_anamag::TMask_anamag(TRelation * rel,bool mg_autorized) : TMask("ve2400")
fld_giac.sheet_mask().field(F_UBICAZ2).show(FALSE);
}
// abilita la gestione del monomagazzino
fld_giac.sheet_mask().field(F_DESMAG).enable(magazzini.gestmultimag());
fld_giac.enable_column(fld_giac.cid2index(F_CODMAG),magazzini.gestmultimag());
fld_stomag.enable_column(fld_stomag.cid2index(F_STOCODMAG),magazzini.gestmultimag());
fld_giac.sheet_mask().field(F_DESMAG).enable(magazzini().gestmultimag());
fld_giac.enable_column(fld_giac.cid2index(F_CODMAG),magazzini().gestmultimag());
fld_stomag.enable_column(fld_stomag.cid2index(F_STOCODMAG),magazzini().gestmultimag());
} else {
enable_page(4,FALSE);
@ -289,7 +293,7 @@ bool TMask_anamag::handle_anno(TMask_field &fld, KEY k)
if (mask.get(F_ANNO).empty() )
{
mask.set(F_ANNORIF, mask.esercizi_contabili.last()) ;
mask.set(F_ANNORIF, mask.esercizi_contabili().last()) ;
mask.set(F_ANNO, mask.get(F_ANNORIF));
}
if (mask.last_annogiac>0 && mask.last_annogiac!=fld.mask().get_int(F_ANNO)) {
@ -319,14 +323,14 @@ bool TMask_anamag::handle_stoanno(TMask_field &fld, KEY k)
{
TSheet_field &fld_stomag= (TSheet_field &)fld.mask().field(F_SHEETSTOMAG);
if (mask.get_int(F_STOANNO) >=mask.esercizi_contabili.last())
if (mask.get_int(F_STOANNO) >=mask.esercizi_contabili().last())
{
fld.error_box("Impossibile dare la composizione delle rimanenze per l'ultimo anno");
mask.reset(F_STOANNO);
}
if (mask.get(F_STOANNO).empty() )
{
mask.set(F_STOANNORIF, max(mask.esercizi_contabili.first(),mask.esercizi_contabili.pred(mask.get_int(F_ANNORIF))) );
mask.set(F_STOANNORIF, max(mask.esercizi_contabili().first(),mask.esercizi_contabili().pred(mask.get_int(F_ANNORIF))) );
mask.set(F_STOANNO, mask.get(F_STOANNORIF));
}
if ( fld.focusdirty() && mask.last_annosto>0 && mask.last_annosto!=fld.mask().get_int(F_STOANNO))
@ -378,19 +382,19 @@ bool TMask_anamag::handle_sheet_um(TMask_field &fld, KEY k)
return error_box("Le unità di misura devono essere diverse tra loro");
}
}
if (!m.um_principale.blank() && m.um_principale!=f.cell(0,f.cid2index(FS_CODUM))) {
if (!m.um_principale().blank() && m.um_principale()!=f.cell(0,f.cid2index(FS_CODUM))) {
for (int i= 0; i<f.items(); i++)
{
if (m.um_principale==f.cell(i,f.cid2index(FS_CODUM)))
if (m.um_principale()==f.cell(i,f.cid2index(FS_CODUM)))
break;
}
if (i>=f.items()) {
return error_box("L'unità di misura '%s' deve essere presente in tabella",(const char *)m.um_principale);
return error_box("L'unità di misura '%s' deve essere presente in tabella",(const char *)m.um_principale());
}
}
} else if (k==K_TAB) {
} else if (k==K_SPACE) {
m.um_principale=f.cell(0,f.cid2index(FS_CODUM));
m.um_principale()=f.cell(0,f.cid2index(FS_CODUM));
}
return TRUE;
@ -517,12 +521,12 @@ int TMask_anamag::add_totali_storico(TString & codmag)
real totq,totval;
TLocalisamfile mag(LF_MAG);
mag.setkey(2);
mag.put(MAG_ANNOES,esercizi_contabili.next(get_int(F_STOANNORIF)));
mag.put(MAG_ANNOES,esercizi_contabili().next(get_int(F_STOANNORIF)));
//mag.put(MAG_CODART,get(F_CODART));
mag.put(MAG_CODMAG,codmag);
mag.read();
while (!mag.eof()
&& esercizi_contabili.next(get_int(F_STOANNORIF))==mag.get_int(MAG_ANNOES)
&& esercizi_contabili().next(get_int(F_STOANNORIF))==mag.get_int(MAG_ANNOES)
&& strncmp((const char *)codmag,mag.get(MAG_CODMAG),3)==0)
{
if (get(F_CODART)==mag.get(MAG_CODART))
@ -654,10 +658,10 @@ bool TMask_anamag::notify_sheet_giac(TSheet_field &f, int i, KEY k)
case (K_TAB): // modifica
if (*f.cell(i,f.cid2index(F_CODMAG))==' ')
{
if (m.magazzini.standardmag().not_empty())
if (m.magazzini().standardmag().not_empty())
{
f.row(i).add(m.magazzini.standardmag(),f.cid2index(F_CODMAG));
f.row(i).add(m.magazzini.standarddep(),f.cid2index(F_CODDEP));
f.row(i).add(m.magazzini().standardmag(),f.cid2index(F_CODMAG));
f.row(i).add(m.magazzini().standarddep(),f.cid2index(F_CODDEP));
}
}
break;
@ -726,9 +730,9 @@ bool TMask_anamag::notify_sheet_sto(TSheet_field &s, int r, KEY k)
break;
case (K_INS): // richiesta di inserimento
if (m.magazzini.standardmag().not_empty())
if (m.magazzini().standardmag().not_empty())
{
s.row(r).add(m.magazzini.standardmag(),s.cid2index(F_STOCODMAG));
s.row(r).add(m.magazzini().standardmag(),s.cid2index(F_STOCODMAG));
}
break;
@ -862,7 +866,7 @@ bool TMask_anamag::handle_sheet_um_um(TMask_field &fld, KEY k)
x = 1.00;
m.set(FS_FCUM, x); // il risultato viene scritto nel campo del fattore di conversione
} else {
TString & um_p=((TMask_anamag &)f->mask()).um_principale;
TString & um_p=((TMask_anamag &)f->mask()).um_principale();
if (um_p.blank()) {
f->mask().set(F_UMPRINCIPALE,curr_um);
f->mask().set(F_UMPRINCIPALE2,curr_um);
@ -945,10 +949,10 @@ void TMask_anamag::ricalcola_giacenze()
{
real fc(1.0);
TSheet_field & f=(TSheet_field &)field(F_SHEETUM);
if (!um_principale.blank() && um_principale!=f.cell(0,f.cid2index(FS_CODUM))) {
if (!um_principale().blank() && um_principale()!=f.cell(0,f.cid2index(FS_CODUM))) {
for (int i= 0; i<f.items(); i++)
{
if (um_principale==f.cell(i,f.cid2index(FS_CODUM)))
if (um_principale()==f.cell(i,f.cid2index(FS_CODUM)))
break;
}
fc=f.cell(i,f.cid2index(FS_FCUM));
@ -956,7 +960,7 @@ void TMask_anamag::ricalcola_giacenze()
if (fc != 1.0)
{
TLocalisamfile mag(LF_MAG),stomag(LF_STOMAG);
int annoes=esercizi_contabili.first();
int annoes=esercizi_contabili().first();
do {
mag.zero();
mag.put(MAG_ANNOES,annoes);
@ -1006,7 +1010,7 @@ void TMask_anamag::ricalcola_giacenze()
stomag.rewrite();
stomag.next();
}
} while (annoes=esercizi_contabili.next(annoes));
} while (annoes=esercizi_contabili().next(annoes));
}
return;
}