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_annogiac;
|
||||||
int last_annosto;
|
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_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_livart(TMask_field &, KEY); // handler dei campi codice articolo (livelli)
|
||||||
static bool handle_anno(TMask_field &, KEY); // handler del campo anno delle giacenze
|
static bool handle_anno(TMask_field &, KEY); // handler del campo anno delle giacenze
|
||||||
@ -47,9 +51,9 @@ class TMask_anamag: public TMask {
|
|||||||
public:
|
public:
|
||||||
void ricalcola_giacenze();
|
void ricalcola_giacenze();
|
||||||
|
|
||||||
TString16 um_principale;
|
TString16 &um_principale() {return _um_principale;}
|
||||||
TMagazzini magazzini;
|
TMagazzini & magazzini() {return _magazzini;}
|
||||||
TEsercizi_contabili esercizi_contabili;
|
TEsercizi_contabili &esercizi_contabili() {return _esercizi_contabili;}
|
||||||
|
|
||||||
TMask_anamag(TRelation * rel,bool mg_autorized);
|
TMask_anamag(TRelation * rel,bool mg_autorized);
|
||||||
virtual ~TMask_anamag();
|
virtual ~TMask_anamag();
|
||||||
@ -98,7 +102,7 @@ TMask_anamag::TMask_anamag(TRelation * rel,bool mg_autorized) : TMask("ve2400")
|
|||||||
// ABILITAZIONI PARAMETRICHE
|
// ABILITAZIONI PARAMETRICHE
|
||||||
|
|
||||||
// Abilita la pagina delle giacenze
|
// Abilita la pagina delle giacenze
|
||||||
if (mg_autorized && magazzini.gestmag())
|
if (mg_autorized && magazzini().gestmag())
|
||||||
{
|
{
|
||||||
enable_page(3,TRUE);
|
enable_page(3,TRUE);
|
||||||
enable_page(4,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);
|
fld_giac.sheet_mask().field(F_NDIST).enable(FALSE);
|
||||||
}
|
}
|
||||||
// abilita la gestione delle ubicazioni (manuale/su tabella)
|
// 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_UBICAZ).show(FALSE);
|
||||||
fld_giac.sheet_mask().field(F_UBICAZD).show(FALSE);
|
fld_giac.sheet_mask().field(F_UBICAZD).show(FALSE);
|
||||||
fld_giac.sheet_mask().field(F_UBICAZ2).show(TRUE);
|
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);
|
fld_giac.sheet_mask().field(F_UBICAZ2).show(FALSE);
|
||||||
}
|
}
|
||||||
// abilita la gestione del monomagazzino
|
// abilita la gestione del monomagazzino
|
||||||
fld_giac.sheet_mask().field(F_DESMAG).enable(magazzini.gestmultimag());
|
fld_giac.sheet_mask().field(F_DESMAG).enable(magazzini().gestmultimag());
|
||||||
fld_giac.enable_column(fld_giac.cid2index(F_CODMAG),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_stomag.enable_column(fld_stomag.cid2index(F_STOCODMAG),magazzini().gestmultimag());
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
enable_page(4,FALSE);
|
enable_page(4,FALSE);
|
||||||
@ -289,7 +293,7 @@ bool TMask_anamag::handle_anno(TMask_field &fld, KEY k)
|
|||||||
|
|
||||||
if (mask.get(F_ANNO).empty() )
|
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));
|
mask.set(F_ANNO, mask.get(F_ANNORIF));
|
||||||
}
|
}
|
||||||
if (mask.last_annogiac>0 && mask.last_annogiac!=fld.mask().get_int(F_ANNO)) {
|
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);
|
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");
|
fld.error_box("Impossibile dare la composizione delle rimanenze per l'ultimo anno");
|
||||||
mask.reset(F_STOANNO);
|
mask.reset(F_STOANNO);
|
||||||
}
|
}
|
||||||
if (mask.get(F_STOANNO).empty() )
|
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));
|
mask.set(F_STOANNO, mask.get(F_STOANNORIF));
|
||||||
}
|
}
|
||||||
if ( fld.focusdirty() && mask.last_annosto>0 && mask.last_annosto!=fld.mask().get_int(F_STOANNO))
|
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");
|
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++)
|
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;
|
break;
|
||||||
}
|
}
|
||||||
if (i>=f.items()) {
|
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_TAB) {
|
||||||
} else if (k==K_SPACE) {
|
} 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;
|
return TRUE;
|
||||||
@ -517,12 +521,12 @@ int TMask_anamag::add_totali_storico(TString & codmag)
|
|||||||
real totq,totval;
|
real totq,totval;
|
||||||
TLocalisamfile mag(LF_MAG);
|
TLocalisamfile mag(LF_MAG);
|
||||||
mag.setkey(2);
|
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_CODART,get(F_CODART));
|
||||||
mag.put(MAG_CODMAG,codmag);
|
mag.put(MAG_CODMAG,codmag);
|
||||||
mag.read();
|
mag.read();
|
||||||
while (!mag.eof()
|
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)
|
&& strncmp((const char *)codmag,mag.get(MAG_CODMAG),3)==0)
|
||||||
{
|
{
|
||||||
if (get(F_CODART)==mag.get(MAG_CODART))
|
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
|
case (K_TAB): // modifica
|
||||||
if (*f.cell(i,f.cid2index(F_CODMAG))==' ')
|
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().standardmag(),f.cid2index(F_CODMAG));
|
||||||
f.row(i).add(m.magazzini.standarddep(),f.cid2index(F_CODDEP));
|
f.row(i).add(m.magazzini().standarddep(),f.cid2index(F_CODDEP));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -726,9 +730,9 @@ bool TMask_anamag::notify_sheet_sto(TSheet_field &s, int r, KEY k)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case (K_INS): // richiesta di inserimento
|
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;
|
break;
|
||||||
|
|
||||||
@ -862,7 +866,7 @@ bool TMask_anamag::handle_sheet_um_um(TMask_field &fld, KEY k)
|
|||||||
x = 1.00;
|
x = 1.00;
|
||||||
m.set(FS_FCUM, x); // il risultato viene scritto nel campo del fattore di conversione
|
m.set(FS_FCUM, x); // il risultato viene scritto nel campo del fattore di conversione
|
||||||
} else {
|
} else {
|
||||||
TString & um_p=((TMask_anamag &)f->mask()).um_principale;
|
TString & um_p=((TMask_anamag &)f->mask()).um_principale();
|
||||||
if (um_p.blank()) {
|
if (um_p.blank()) {
|
||||||
f->mask().set(F_UMPRINCIPALE,curr_um);
|
f->mask().set(F_UMPRINCIPALE,curr_um);
|
||||||
f->mask().set(F_UMPRINCIPALE2,curr_um);
|
f->mask().set(F_UMPRINCIPALE2,curr_um);
|
||||||
@ -945,10 +949,10 @@ void TMask_anamag::ricalcola_giacenze()
|
|||||||
{
|
{
|
||||||
real fc(1.0);
|
real fc(1.0);
|
||||||
TSheet_field & f=(TSheet_field &)field(F_SHEETUM);
|
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++)
|
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;
|
break;
|
||||||
}
|
}
|
||||||
fc=f.cell(i,f.cid2index(FS_FCUM));
|
fc=f.cell(i,f.cid2index(FS_FCUM));
|
||||||
@ -956,7 +960,7 @@ void TMask_anamag::ricalcola_giacenze()
|
|||||||
if (fc != 1.0)
|
if (fc != 1.0)
|
||||||
{
|
{
|
||||||
TLocalisamfile mag(LF_MAG),stomag(LF_STOMAG);
|
TLocalisamfile mag(LF_MAG),stomag(LF_STOMAG);
|
||||||
int annoes=esercizi_contabili.first();
|
int annoes=esercizi_contabili().first();
|
||||||
do {
|
do {
|
||||||
mag.zero();
|
mag.zero();
|
||||||
mag.put(MAG_ANNOES,annoes);
|
mag.put(MAG_ANNOES,annoes);
|
||||||
@ -1006,7 +1010,7 @@ void TMask_anamag::ricalcola_giacenze()
|
|||||||
stomag.rewrite();
|
stomag.rewrite();
|
||||||
stomag.next();
|
stomag.next();
|
||||||
}
|
}
|
||||||
} while (annoes=esercizi_contabili.next(annoes));
|
} while (annoes=esercizi_contabili().next(annoes));
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user