diff --git a/ve/ve2400.cpp b/ve/ve2400.cpp index 4a98fc10c..3ca5d8e1f 100755 --- a/ve/ve2400.cpp +++ b/ve/ve2400.cpp @@ -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()) { - 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