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:
parent
2a2be1f919
commit
043926ad37
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user