diff --git a/mg/mg4200.cpp b/mg/mg4200.cpp index 4c367e703..158766951 100755 --- a/mg/mg4200.cpp +++ b/mg/mg4200.cpp @@ -17,22 +17,22 @@ #define MAX_VAL_COLUMNS 6 class TForm_inventario : public TForm_stampemg { - int colonne; - TConfig *conf_ditta; - TArticolo_giacenza * _curr_art; - TString16 _codlist,_catven; // codici listino e cat vendita - bool _giaceff, // flag inventario di giacenza - _valcomp; // flag valorizzzione finiti o componenti - TTipo_valorizz _valorizz_scelte[MAX_VAL_COLUMNS]; // valorizzazioni delle varie colonne + int colonne; + TConfig *conf_ditta; + TArticolo_giacenza * _curr_art; + TString16 _codlist,_catven; // codici listino e cat vendita + bool _giaceff, // flag inventario di giacenza + _valcomp; // flag valorizzzione finiti o componenti + TTipo_valorizz _valorizz_scelte[MAX_VAL_COLUMNS]; // valorizzazioni delle varie colonne - TArticolo_giacenza &curr_art(); + TArticolo_giacenza &curr_art(); public: - void set_parametri(const char * codcm,const char * cod,bool giaceff, bool valcomp); - bool valorizzazione(TForm_item &cf, TTipo_valorizz t); - bool validate(TForm_item &cf, TToken_string &s); - void add_colval(int tipo); - TForm_inventario(const char *name,const char *code) ; - ~TForm_inventario(); + void set_parametri(const char * codcm,const char * cod,bool giaceff, bool valcomp); + bool valorizzazione(TForm_item &cf, TTipo_valorizz t); + bool validate(TForm_item &cf, TToken_string &s); + void add_colval(int tipo); + TForm_inventario(const char *name,const char *code) ; + ~TForm_inventario(); }; bool TForm_inventario::validate(TForm_item &cf, TToken_string &s) @@ -41,289 +41,289 @@ bool TForm_inventario::validate(TForm_item &cf, TToken_string &s) TString subcode; if (code=="_USER") { - TRectype & magrec=relation()->lfile(LF_MAG).curr(); - TString16 annoes(magrec.get(MAG_ANNOES)); - subcode=s.get(); - if (subcode=="GIAC") { - real v=magrec.get_real(MAG_GIAC); - if (!_giaceff) { - v +=magrec.get_real(MAG_ACL); - v -=magrec.get_real(MAG_INCL); - if (_valcomp) - v -=magrec.get_real(MAG_PRODCOMP); - else - v +=magrec.get_real(MAG_PRODFIN); - } - cf.set(v.string()); - } - if (subcode=="VAL1") { - valorizzazione(cf,_valorizz_scelte[0]); - } - if (subcode=="VAL2"&& colonne >=2) { - valorizzazione(cf,_valorizz_scelte[1]); - } - if (subcode=="VAL3" && colonne >=3) { - valorizzazione(cf,_valorizz_scelte[2]); - } - if (subcode=="VAL4" && colonne >=4) { - valorizzazione(cf,_valorizz_scelte[3]); - } - if (subcode=="VAL5"&& colonne >=5) { - valorizzazione(cf,_valorizz_scelte[4]); - } - if (subcode=="VAL6" && colonne >=6) { - valorizzazione(cf,_valorizz_scelte[5]); - } - if (subcode=="NAMEVAL1") { - cf.set(Nome_valorizz[_valorizz_scelte[0]]); - } - if (subcode=="NAMEVAL2"&& colonne >=2) { - cf.set(Nome_valorizz[_valorizz_scelte[1]]); - } - if (subcode=="NAMEVAL3" && colonne >=3) { - cf.set(Nome_valorizz[_valorizz_scelte[2]]); - } - if (subcode=="NAMEVAL4" && colonne >=4) { - cf.set(Nome_valorizz[_valorizz_scelte[3]]); - } - if (subcode=="NAMEVAL5"&& colonne >=5) { - cf.set(Nome_valorizz[_valorizz_scelte[4]]); - } - if (subcode=="NAMEVAL6" && colonne >=6) { - cf.set(Nome_valorizz[_valorizz_scelte[5]]); - } - if (subcode=="LINEATOTALI") { - TString l(29*colonne+12,'-'); - cf.set(l); - } + TRectype & magrec=relation()->lfile(LF_MAG).curr(); + TString16 annoes(magrec.get(MAG_ANNOES)); + subcode=s.get(); + if (subcode=="GIAC") { + real v=magrec.get_real(MAG_GIAC); + if (!_giaceff) { + v +=magrec.get_real(MAG_ACL); + v -=magrec.get_real(MAG_INCL); + if (_valcomp) + v -=magrec.get_real(MAG_PRODCOMP); + else + v +=magrec.get_real(MAG_PRODFIN); + } + cf.set(v.string()); + } + if (subcode=="VAL1") { + valorizzazione(cf,_valorizz_scelte[0]); + } + if (subcode=="VAL2"&& colonne >=2) { + valorizzazione(cf,_valorizz_scelte[1]); + } + if (subcode=="VAL3" && colonne >=3) { + valorizzazione(cf,_valorizz_scelte[2]); + } + if (subcode=="VAL4" && colonne >=4) { + valorizzazione(cf,_valorizz_scelte[3]); + } + if (subcode=="VAL5"&& colonne >=5) { + valorizzazione(cf,_valorizz_scelte[4]); + } + if (subcode=="VAL6" && colonne >=6) { + valorizzazione(cf,_valorizz_scelte[5]); + } + if (subcode=="NAMEVAL1") { + cf.set(Nome_valorizz[_valorizz_scelte[0]]); + } + if (subcode=="NAMEVAL2"&& colonne >=2) { + cf.set(Nome_valorizz[_valorizz_scelte[1]]); + } + if (subcode=="NAMEVAL3" && colonne >=3) { + cf.set(Nome_valorizz[_valorizz_scelte[2]]); + } + if (subcode=="NAMEVAL4" && colonne >=4) { + cf.set(Nome_valorizz[_valorizz_scelte[3]]); + } + if (subcode=="NAMEVAL5"&& colonne >=5) { + cf.set(Nome_valorizz[_valorizz_scelte[4]]); + } + if (subcode=="NAMEVAL6" && colonne >=6) { + cf.set(Nome_valorizz[_valorizz_scelte[5]]); + } + if (subcode=="LINEATOTALI") { + TString l(29*colonne+12,'-'); + cf.set(l); + } } return TForm_stampemg::validate(cf, s); } TArticolo_giacenza &TForm_inventario::curr_art() { - TRectype & magrec=relation()->lfile(LF_MAG).curr(); - if (_curr_art==NULL || magrec.get(MAG_CODART)!=_curr_art->codice() ) { - if (_curr_art) delete _curr_art; - _curr_art=new TArticolo_giacenza(magrec.get(MAG_CODART)); - } - return *_curr_art; + TRectype & magrec=relation()->lfile(LF_MAG).curr(); + if (_curr_art==NULL || magrec.get(MAG_CODART)!=_curr_art->codice() ) { + if (_curr_art) delete _curr_art; + _curr_art=new TArticolo_giacenza(magrec.get(MAG_CODART)); + } + return *_curr_art; } void TForm_inventario::add_colval(int tipo) { - TTipo_valorizz t ; - switch (tipo) { - case 1: - t=valorizz_ultcos; - break; - case 2: - t=valorizz_mediacos; - break; - case 3: - t=valorizz_przlist; - break; - case 4: - t=valorizz_coststd; - break; - case 5: - t=valorizz_costmedio; - break; - case 6: - t=valorizz_FIFOa; - break; - case 7: - t=valorizz_LIFOa; - break; - case 8: - t=valorizz_FIFO; - break; - case 9: - t=valorizz_LIFO; - break; - default: - return; - } - _valorizz_scelte[colonne++]=t; - TString col; - col << colonne; - find_field('B',odd_page,FF_ENABLECOLS).set(col); - find_field('H',odd_page,FF_ENABLECOLS).set(col); + TTipo_valorizz t ; + switch (tipo) { + case 1: + t=valorizz_ultcos; + break; + case 2: + t=valorizz_mediacos; + break; + case 3: + t=valorizz_przlist; + break; + case 4: + t=valorizz_coststd; + break; + case 5: + t=valorizz_costmedio; + break; + case 6: + t=valorizz_FIFOa; + break; + case 7: + t=valorizz_LIFOa; + break; + case 8: + t=valorizz_FIFO; + break; + case 9: + t=valorizz_LIFO; + break; + default: + return; + } + _valorizz_scelte[colonne++]=t; + TString col; + col << colonne; + find_field('B',odd_page,FF_ENABLECOLS).set(col); + find_field('H',odd_page,FF_ENABLECOLS).set(col); } bool TForm_inventario::valorizzazione(TForm_item &cf, TTipo_valorizz t) { - TRectype & magrec=relation()->lfile(LF_MAG).curr(); - TString annoes(magrec.get(MAG_ANNOES)); - if (t==valorizz_ultcos) { - cf.set(curr_art().ultimo_costo(annoes).string()); - } - if (t==valorizz_mediacos) { - cf.set(curr_art().media_costi(annoes).string()); - } - if (t==valorizz_przlist) { - cf.set(curr_art().prezzo_listino(annoes,_codlist,_catven).string()); - } - if (t==valorizz_coststd) { - cf.set(curr_art().costo_standard(annoes).string()); - } - if (t==valorizz_costmedio) { - const TString codmag(magrec.get(MAG_CODMAG)); - const TString livello(magrec.get(MAG_LIVELLO)); - cf.set(curr_art().costo_medio(annoes,codmag,livello).string()); - } - if (t==valorizz_LIFO) { - const TString codmag(magrec.get(MAG_CODMAG)); - const TString livello(magrec.get(MAG_LIVELLO)); - cf.set(curr_art().LIFO(annoes,codmag,livello, _giaceff,_valcomp).string()); - } - if (t==valorizz_FIFO) { - const TString codmag(magrec.get(MAG_CODMAG)); - const TString livello(magrec.get(MAG_LIVELLO)); - cf.set(curr_art().FIFO(annoes,codmag,livello, _giaceff,_valcomp).string()); - } - if (t==valorizz_LIFOa) { - const TString codmag(magrec.get(MAG_CODMAG)); - const TString livello(magrec.get(MAG_LIVELLO)); - cf.set(curr_art().LIFO_annuale(annoes,codmag,livello, _giaceff,_valcomp).string()); - } - if (t==valorizz_FIFOa) { - const TString codmag(magrec.get(MAG_CODMAG)); - const TString livello(magrec.get(MAG_LIVELLO)); - cf.set(curr_art().FIFO_annuale(annoes,codmag,livello, _giaceff,_valcomp).string()); - } - return TRUE; + TRectype & magrec=relation()->lfile(LF_MAG).curr(); + TString annoes(magrec.get(MAG_ANNOES)); + if (t==valorizz_ultcos) { + cf.set(curr_art().ultimo_costo(annoes).string()); + } + if (t==valorizz_mediacos) { + cf.set(curr_art().media_costi(annoes).string()); + } + if (t==valorizz_przlist) { + cf.set(curr_art().prezzo_listino(annoes,_codlist,_catven).string()); + } + if (t==valorizz_coststd) { + cf.set(curr_art().costo_standard(annoes).string()); + } + if (t==valorizz_costmedio) { + const TString codmag(magrec.get(MAG_CODMAG)); + const TString livello(magrec.get(MAG_LIVELLO)); + cf.set(curr_art().costo_medio(annoes,codmag,livello).string()); + } + if (t==valorizz_LIFO) { + const TString codmag(magrec.get(MAG_CODMAG)); + const TString livello(magrec.get(MAG_LIVELLO)); + cf.set(curr_art().LIFO(annoes,codmag,livello, _giaceff,_valcomp).string()); + } + if (t==valorizz_FIFO) { + const TString codmag(magrec.get(MAG_CODMAG)); + const TString livello(magrec.get(MAG_LIVELLO)); + cf.set(curr_art().FIFO(annoes,codmag,livello, _giaceff,_valcomp).string()); + } + if (t==valorizz_LIFOa) { + const TString codmag(magrec.get(MAG_CODMAG)); + const TString livello(magrec.get(MAG_LIVELLO)); + cf.set(curr_art().LIFO_annuale(annoes,codmag,livello, _giaceff,_valcomp).string()); + } + if (t==valorizz_FIFOa) { + const TString codmag(magrec.get(MAG_CODMAG)); + const TString livello(magrec.get(MAG_LIVELLO)); + cf.set(curr_art().FIFO_annuale(annoes,codmag,livello, _giaceff,_valcomp).string()); + } + return TRUE; } void TForm_inventario::set_parametri(const char * codcatv,const char * codlist,bool giaceff, bool valcomp) { - _catven=codcatv; - _codlist=codlist; - _giaceff=giaceff; - _valcomp=valcomp; + _catven=codcatv; + _codlist=codlist; + _giaceff=giaceff; + _valcomp=valcomp; } TForm_inventario::TForm_inventario(const char *name,const char *code) : - TForm_stampemg(name,code),_curr_art(NULL) + TForm_stampemg(name,code),_curr_art(NULL) { - colonne=0; + colonne=0; } TForm_inventario::~TForm_inventario() { - if (_curr_art) delete _curr_art; + if (_curr_art) delete _curr_art; } class TStampainv_mask: public TMask { - static bool handle_ragg(TMask_field &fld, KEY k); // handler - static bool handle_liv(TMask_field &fld, KEY k); // handler - static bool handle_subord(TMask_field &fld, KEY k); // handler + static bool handle_ragg(TMask_field &fld, KEY k); // handler + static bool handle_liv(TMask_field &fld, KEY k); // handler + static bool handle_subord(TMask_field &fld, KEY k); // handler public: - TStampainv_mask(); - ~TStampainv_mask(){}; + TStampainv_mask(); + ~TStampainv_mask(){}; }; TStampainv_mask::TStampainv_mask(): - TMask("mg4200") + TMask("mg4200") { TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente if (prassid.get_bool("GES", NULL, A_LISTINI)) - field(F_CATVENLISTINO).enable(prassid.get_bool("GESLISCV")); - else { - field(F_CATVENLISTINO).disable(); field(F_CODLISTINO).disable(); - } - TMag_livelli giaclev("FCA"),artlev("FCG"); + field(F_CATVENLISTINO).enable(prassid.get_bool("GESLISCV")); + else { + field(F_CATVENLISTINO).disable(); field(F_CODLISTINO).disable(); + } + TMag_livelli giaclev("FCA"),artlev("FCG"); set_handler(F_TOLIVELLOART, handle_liv); set_handler(F_TOLIVELLOGIAC, handle_liv); set_handler(F_ORDINE, handle_ragg); set_handler(F_DETTAGLIODEP, handle_ragg); set_handler(F_DETTAGLIOMAG, handle_ragg); - set_handler(F_ORDINEART,handle_subord); - if (!artlev.enabled()) { - TMask_field &f1=field(F_RAGGCODICE); - f1.reset(); f1.check();f1.hide(); - } - if (!giaclev.enabled()) { - TMask_field &f2=field(F_RAGGLIVGIAC); - f2.reset(); f2.check();f2.hide(); - } + set_handler(F_ORDINEART,handle_subord); + if (!artlev.enabled()) { + TMask_field &f1=field(F_RAGGCODICE); + f1.reset(); f1.check();f1.hide(); + } + if (!giaclev.enabled()) { + TMask_field &f2=field(F_RAGGLIVGIAC); + f2.reset(); f2.check();f2.hide(); + } } bool TStampainv_mask::handle_subord(TMask_field &fld, KEY k) { - if (k == K_SPACE) - { - TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE); - TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC); - switch (fld.get()[1]) { - case 'C': - if (fld.mask().get(F_ORDINE)=="A") - fraggcod.enable(); - else { - if (!fld.mask().get_bool(F_DETTAGLIOMAG) || !fld.mask().get_bool(F_DETTAGLIODEP)) - { - fraggcod.reset(); fraggcod.disable(); - fragggiac.reset(); fragggiac.disable(); - fraggcod.do_message(0);fragggiac.do_message(0); - } - } - break; - case 'M': - case 'D': - fraggcod.reset(); fraggcod.check();fraggcod.disable(); - break; - } - } - return TRUE; + if (k == K_SPACE) + { + TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE); + TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC); + switch (fld.get()[1]) { + case 'C': + if (fld.mask().get(F_ORDINE)=="A") + fraggcod.enable(); + else { + if (!fld.mask().get_bool(F_DETTAGLIOMAG) || !fld.mask().get_bool(F_DETTAGLIODEP)) + { + fraggcod.reset(); fraggcod.disable(); + fragggiac.reset(); fragggiac.disable(); + fraggcod.do_message(0);fragggiac.do_message(0); + } + } + break; + case 'M': + case 'D': + fraggcod.reset(); fraggcod.check();fraggcod.disable(); + break; + } + } + return TRUE; } bool TStampainv_mask::handle_liv(TMask_field &fld, KEY k) { - if (k == K_TAB) - { - TOperable_field &ftotmag=(TOperable_field &)fld.mask().field(F_TOTALIMAGAZZINI); - TOperable_field &fdettmag=(TOperable_field &)fld.mask().field(F_DETTAGLIOMAG); - if (fld.mask().get(F_ORDINE)=="A") - { - if (fld.mask().get_int(F_TOLIVELLOART) || fld.mask().get_int(F_TOLIVELLOGIAC)) - { - // raggruppamenti prima del dettaglio magazzini - ftotmag.reset(); ftotmag.disable();ftotmag.do_message(0); - } else { - ftotmag.enable(); - } - } - } + if (k == K_TAB) + { + TOperable_field &ftotmag=(TOperable_field &)fld.mask().field(F_TOTALIMAGAZZINI); + TOperable_field &fdettmag=(TOperable_field &)fld.mask().field(F_DETTAGLIOMAG); + if (fld.mask().get(F_ORDINE)=="A") + { + if (fld.mask().get_int(F_TOLIVELLOART) || fld.mask().get_int(F_TOLIVELLOGIAC)) + { + // raggruppamenti prima del dettaglio magazzini + ftotmag.reset(); ftotmag.disable();ftotmag.do_message(0); + } else { + ftotmag.enable(); + } + } + } return TRUE; } bool TStampainv_mask::handle_ragg(TMask_field &fld, KEY k) { - if (k == K_SPACE) - { - TOperable_field &ftotmag=(TOperable_field &)fld.mask().field(F_TOTALIMAGAZZINI); - TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE); - TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC); - if (fld.mask().get(F_ORDINE)=="M") - { - ftotmag.enable(); - if (!fld.mask().get_bool(F_DETTAGLIOMAG) || !fld.mask().get_bool(F_DETTAGLIODEP)) - { - fraggcod.reset(); fraggcod.disable(); - fragggiac.reset(); fragggiac.disable(); - fraggcod.do_message(0);fragggiac.do_message(0); - return TRUE; - } - } - fraggcod.enable(); - fragggiac.enable(); - } + if (k == K_SPACE) + { + TOperable_field &ftotmag=(TOperable_field &)fld.mask().field(F_TOTALIMAGAZZINI); + TOperable_field &fraggcod=(TOperable_field &)fld.mask().field(F_RAGGCODICE); + TOperable_field &fragggiac=(TOperable_field &)fld.mask().field(F_RAGGLIVGIAC); + if (fld.mask().get(F_ORDINE)=="M") + { + ftotmag.enable(); + if (!fld.mask().get_bool(F_DETTAGLIOMAG) || !fld.mask().get_bool(F_DETTAGLIODEP)) + { + fraggcod.reset(); fraggcod.disable(); + fragggiac.reset(); fragggiac.disable(); + fraggcod.do_message(0);fragggiac.do_message(0); + return TRUE; + } + } + fraggcod.enable(); + fragggiac.enable(); + } return TRUE; } @@ -331,10 +331,10 @@ bool TStampainv_mask::handle_ragg(TMask_field &fld, KEY k) // STAMPA anagrafiche class TStampa_inventario : public TPrint_application { - TArray * _files; - TMask * _mask; - TCursor * _cur; - TForm_inventario * _form; // to be moved into TPrint_application + TArray * _files; + TMask * _mask; + TCursor * _cur; + TForm_inventario * _form; // to be moved into TPrint_application protected: virtual bool print_one(int file) @@ -343,9 +343,9 @@ protected: virtual bool user_destroy(); virtual bool set_print(int i=1); virtual void set_page(int file,int count) - { } - void setprint_permagazzini(); - void setprint_perarticoli(); + { } + void setprint_permagazzini(); + void setprint_perarticoli(); public: TStampa_inventario() {} @@ -356,7 +356,7 @@ bool TStampa_inventario::user_create() { _mask = new TStampainv_mask(); _files = new TArray(); - // aggiunge i files per usare i tracciati record + // aggiunge i files per usare i tracciati record _files->add(new TLocalisamfile(LF_ANAMAG)); _files->add(new TLocalisamfile(LF_UMART)); _files->add(new TLocalisamfile(LF_DESLIN)); @@ -370,8 +370,8 @@ bool TStampa_inventario::user_create() bool TStampa_inventario::user_destroy() { - delete _mask; - delete _files; + delete _mask; + delete _files; return TRUE; } @@ -381,25 +381,25 @@ void TStampa_inventario::setprint_permagazzini() TRectype darec(LF_MAG),arec(LF_MAG); TString cfilter,sortexp,joinexp; _cur = _form->cursor(); - // setta il filtro sul cursore - if (*_mask->get(F_DAART)) - cfilter << "(CODART>=" <<'"' << _mask->get(F_DAART)<< "\")&&" ; - if (*_mask->get(F_AART)) - cfilter << "(CODART<=" <<'"' << _mask->get(F_AART)<< "\")&&" ; - if (cfilter.not_empty()) - cfilter.cut(cfilter.len()-2); + // setta il filtro sul cursore + if (*_mask->get(F_DAART)) + cfilter << "(CODART>=" <<'"' << _mask->get(F_DAART)<< "\")&&" ; + if (*_mask->get(F_AART)) + cfilter << "(CODART<=" <<'"' << _mask->get(F_AART)<< "\")&&" ; + if (cfilter.not_empty()) + cfilter.cut(cfilter.len()-2); - // abilita/disabilita le sezioni dei totali - _form->setdett_permag(_mask->get_int(F_FROMLIVELLOART),_mask->get_int(F_TOLIVELLOART), - _mask->get_int(F_FROMLIVELLOGIAC),_mask->get_int(F_TOLIVELLOGIAC), - TRUE,_mask->get_bool(F_DETTAGLIOMAG),_mask->get_bool(F_DETTAGLIODEP)); + // abilita/disabilita le sezioni dei totali + _form->setdett_permag(_mask->get_int(F_FROMLIVELLOART),_mask->get_int(F_TOLIVELLOART), + _mask->get_int(F_FROMLIVELLOGIAC),_mask->get_int(F_TOLIVELLOGIAC), + TRUE,_mask->get_bool(F_DETTAGLIOMAG),_mask->get_bool(F_DETTAGLIODEP)); - darec.put("ANNOES",_mask->get(F_ANNOES)); - darec.put("CODMAG",_mask->get(F_DAMAG)); - arec.put("ANNOES",_mask->get(F_ANNOES)); - arec.put("CODMAG",_mask->get(F_AMAG)); - _cur->setfilter(cfilter); - _cur->setregion(darec,arec); + darec.put("ANNOES",_mask->get(F_ANNOES)); + darec.put("CODMAG",_mask->get(F_DAMAG)); + arec.put("ANNOES",_mask->get(F_ANNOES)); + arec.put("CODMAG",_mask->get(F_AMAG)); + _cur->setfilter(cfilter); + _cur->setregion(darec,arec); } // ORDINAMENTO @@ -407,101 +407,101 @@ void TStampa_inventario::setprint_perarticoli() { TRectype darec(LF_ANAMAG),arec(LF_ANAMAG); TString cfilter,filter,joinexp; - TString sortexp("ANNOES|CODART|LIVELLO|CODMAG"); + TString sortexp("ANNOES|CODART|LIVELLO|CODMAG"); char subordine=*_mask->get(F_ORDINEART); _cur = _form->cursor(); - if (*_mask->get(F_DAMAG)) - filter << "(CODMAG[1,3]>=" <<'"' << _mask->get(F_DAMAG)<< "\")&&" ; - if (*_mask->get(F_AMAG)) - filter << "(CODMAG[1,3]<=" <<'"' << _mask->get(F_AMAG)<< "\")&&" ; - if (filter.not_empty()) - filter.cut(filter.len()-2); + if (*_mask->get(F_DAMAG)) + filter << "(CODMAG[1,3]>=" <<'"' << _mask->get(F_DAMAG)<< "\")&&" ; + if (*_mask->get(F_AMAG)) + filter << "(CODMAG[1,3]<=" <<'"' << _mask->get(F_AMAG)<< "\")&&" ; + if (filter.not_empty()) + filter.cut(filter.len()-2); switch (subordine) { - case 'C': - _cur->setkey(1); - darec.put("CODART",_mask->get(F_DAART)); - arec.put("CODART",_mask->get(F_AART)); - _form->find_field('B',odd_page,"H_CATMER").hide(); - _form->find_field('B',odd_page,"TOT_CATMER").hide(); - _form->setcatmer(FALSE); - break; - case 'D': - _cur->setkey(2); - darec.put("DESCR",_mask->get(F_DADES)); - arec.put("DESCR",_mask->get(F_ADES)); - _form->find_field('B',odd_page,"H_CATMER").disable(); - _form->find_field('B',odd_page,"TOT_CATMER").hide(); - _form->setcatmer(FALSE); - break; - case 'M': - _cur->setkey(3); - darec.put("GRMERC",_mask->get(F_DACATMER)); - darec.put("CODART",_mask->get(F_DAART)); - arec.put("GRMERC",_mask->get(F_ACATMER)); - arec.put("CODART",_mask->get(F_AART)); - _form->find_field('B',odd_page,"H_CATMER").show(); - _form->find_field('B',odd_page,"TOT_CATMER").show(); - _form->setcatmer(TRUE); - break; + case 'C': + _cur->setkey(1); + darec.put("CODART",_mask->get(F_DAART)); + arec.put("CODART",_mask->get(F_AART)); + _form->find_field('B',odd_page,"H_CATMER").hide(); + _form->find_field('B',odd_page,"TOT_CATMER").hide(); + _form->setcatmer(FALSE); + break; + case 'D': + _cur->setkey(2); + darec.put("DESCR",_mask->get(F_DADES)); + arec.put("DESCR",_mask->get(F_ADES)); + _form->find_field('B',odd_page,"H_CATMER").disable(); + _form->find_field('B',odd_page,"TOT_CATMER").hide(); + _form->setcatmer(FALSE); + break; + case 'M': + _cur->setkey(3); + darec.put("GRMERC",_mask->get(F_DACATMER)); + darec.put("CODART",_mask->get(F_DAART)); + arec.put("GRMERC",_mask->get(F_ACATMER)); + arec.put("CODART",_mask->get(F_AART)); + _form->find_field('B',odd_page,"H_CATMER").show(); + _form->find_field('B',odd_page,"TOT_CATMER").show(); + _form->setcatmer(TRUE); + break; } - _form->setdett_perart( - _mask->get_int(F_FROMLIVELLOART), - _mask->get_int(F_TOLIVELLOART), - _mask->get_int(F_FROMLIVELLOGIAC), - _mask->get_int(F_TOLIVELLOGIAC), - _mask->get_bool(F_TOTALIMAGAZZINI), - _mask->get_bool(F_TOTALIDEPOSITI)); + _form->setdett_perart( + _mask->get_int(F_FROMLIVELLOART), + _mask->get_int(F_TOLIVELLOART), + _mask->get_int(F_FROMLIVELLOGIAC), + _mask->get_int(F_TOLIVELLOGIAC), + _mask->get_bool(F_TOTALIMAGAZZINI), + _mask->get_bool(F_TOTALIDEPOSITI)); - joinexp << "ANNOES==" << _mask->get(F_ANNOES) << "|CODART==CODART"; + joinexp << "ANNOES==" << _mask->get(F_ANNOES) << "|CODART==CODART"; - TSortedfile *mag; - mag= new TSortedfile(LF_MAG,NULL,sortexp,filter,1); - _cur->relation()->replace(mag,1,joinexp); - _cur->setfilter(cfilter); - _cur->setregion(darec,arec); + TSortedfile *mag; + mag= new TSortedfile(LF_MAG,NULL,sortexp,filter,1); + _cur->relation()->replace(mag,1,joinexp); + _cur->setfilter(cfilter); + _cur->setregion(darec,arec); } bool TStampa_inventario::set_print(int i) { - while (TRUE) { - if (_mask->run() != K_ENTER) - return FALSE; + while (TRUE) { + if (_mask->run() != K_ENTER) + return FALSE; - if (*_mask->get(F_ORDINE)=='A') - { - _form = new TForm_inventario("mg4200a", ""); - setprint_perarticoli(); - } else { - _form = new TForm_inventario("mg4200b", ""); - setprint_permagazzini(); - } - _form->add_colval(_mask->get_int(F_VAL1)); - _form->add_colval(_mask->get_int(F_VAL2)); - _form->add_colval(_mask->get_int(F_VAL3)); - _form->add_colval(_mask->get_int(F_VAL4)); - _form->add_colval(_mask->get_int(F_VAL5)); - _form->add_colval(_mask->get_int(F_VAL6)); - _form->set_parametri(_mask->get(F_CATVENLISTINO), - _mask->get(F_CODLISTINO), - *_mask->get(F_REALE_GIAC)=='G', - *_mask->get(F_FIN_COMP)=='C' - ); - - _form->print(); - delete _form; - } // while true + if (*_mask->get(F_ORDINE)=='A') + { + _form = new TForm_inventario("mg4200a", ""); + setprint_perarticoli(); + } else { + _form = new TForm_inventario("mg4200b", ""); + setprint_permagazzini(); + } + _form->add_colval(_mask->get_int(F_VAL1)); + _form->add_colval(_mask->get_int(F_VAL2)); + _form->add_colval(_mask->get_int(F_VAL3)); + _form->add_colval(_mask->get_int(F_VAL4)); + _form->add_colval(_mask->get_int(F_VAL5)); + _form->add_colval(_mask->get_int(F_VAL6)); + _form->set_parametri(_mask->get(F_CATVENLISTINO), + _mask->get(F_CODLISTINO), + *_mask->get(F_REALE_GIAC)=='G', + *_mask->get(F_FIN_COMP)=='C' + ); + + _form->print(); + delete _form; + } // while true return TRUE; } int mg4200(int argc, char* argv[]) { - TStampa_inventario a; - a.run(argc,argv,"Stampa inventario"); - return 0; + TStampa_inventario a; + a.run(argc,argv,"Stampa inventario"); + return 0; } diff --git a/mg/mg4300.cpp b/mg/mg4300.cpp index fbd44f384..76396d9e8 100755 --- a/mg/mg4300.cpp +++ b/mg/mg4300.cpp @@ -22,16 +22,16 @@ class TRegistro_giornalemag : public TRegistro_std { public: - int freq_stampa() const { return get_int("I3"); } - bool raggruppato() const { return get_int("B1"); } - bool ragg_mag() const { return get_int("B2"); } - bool ragg_giac() const { return get_int("B3"); } - bool ragg_clafis() const { return get_int("B4"); } - bool ragg_grpfis() const { return get_int("B5"); } - bool ragg_caus() const { return get_int("B6"); } + int freq_stampa() const { return get_int("I3"); } + bool raggruppato() const { return get_int("B1"); } + bool ragg_mag() const { return get_int("B2"); } + bool ragg_giac() const { return get_int("B3"); } + bool ragg_clafis() const { return get_int("B4"); } + bool ragg_grpfis() const { return get_int("B5"); } + bool ragg_caus() const { return get_int("B6"); } - void set_last_numreg(long n) { put("I4",n); } - int last_numreg() const { return get_int("I4"); } + void set_last_numreg(long n) { put("I4",n); } + int last_numreg() const { return get_int("I4"); } TRegistro_giornalemag(const char* code = "", int year = 0); virtual ~TRegistro_giornalemag() {} @@ -41,62 +41,62 @@ public: // ************************************************ // TEMP!!!!!!!!!!!!!!!! TRegistro_giornalemag:: - TRegistro_giornalemag(const char* cod, int year) - :TRegistro_std(cod,year) + TRegistro_giornalemag(const char* cod, int year) + :TRegistro_std(cod,year) { - if (tipo()!=TIPOREG_GIOMAG) - fatal_box("Il registro richiesto non è relativo ad un libro giornale di magazzino"); + if (tipo()!=TIPOREG_GIOMAG) + fatal_box("Il registro richiesto non è relativo ad un libro giornale di magazzino"); } class TGiornalemag : public TForm_stampemg { - static TDate dadata; - static TDate adata; - static int freq_stampa; - static bool stampa_def; - static bool ragg_mag; - static bool ragg_articoli; - static bool ragg_classi; - static bool ragg_raggart; - static bool ragg_caus; - static TCursor * cur; - static TAssoc_array _cod_magazzini; - static int _annoes; + static TDate dadata; + static TDate adata; + static int freq_stampa; + static bool stampa_def; + static bool ragg_mag; + static bool ragg_articoli; + static bool ragg_classi; + static bool ragg_raggart; + static bool ragg_caus; + static TCursor * cur; + static TAssoc_array _cod_magazzini; + static int _annoes; - long last_num_reg; - word last_pag_stampata; - TConfig *conf_ditta; - TArticolo_giacenza * _curr_art; - TString16 _codlist,_catven; - TRegistro_giornalemag *_reg_giorn; + long last_num_reg; + word last_pag_stampata; + TConfig *conf_ditta; + TArticolo_giacenza * _curr_art; + TString16 _codlist,_catven; + TRegistro_giornalemag *_reg_giorn; private: - TArticolo_giacenza &curr_art(); + TArticolo_giacenza &curr_art(); static const char * get_fiscfield(TVariable_rectype & r); static const char * get_cronofield(TVariable_rectype & r); static bool filter_func(const TRelation* r); protected: - void add_mag(TRectype & magrec,const char * codreg); + void add_mag(TRectype & magrec,const char * codreg); public: - void set_parametri(TMask & m); - bool can_be_printed(); + void set_parametri(TMask & m); + bool can_be_printed(); - bool validate(TForm_item &cf, TToken_string &s); + bool validate(TForm_item &cf, TToken_string &s); - TGiornalemag(const char *name,const char *code) ; - ~TGiornalemag(); + TGiornalemag(const char *name,const char *code) ; + ~TGiornalemag(); }; TArticolo_giacenza &TGiornalemag::curr_art() { - TRectype & magrec=relation()->lfile(LF_MAG).curr(); - if (_curr_art==NULL || _curr_art->codice()!=magrec.get(MAG_CODART) ) { - if (_curr_art) delete _curr_art; - _curr_art=new TArticolo_giacenza(magrec.get(MAG_CODART)); - } - return *_curr_art; + TRectype & magrec=relation()->lfile(LF_MAG).curr(); + if (_curr_art==NULL || _curr_art->codice()!=magrec.get(MAG_CODART) ) { + if (_curr_art) delete _curr_art; + _curr_art=new TArticolo_giacenza(magrec.get(MAG_CODART)); + } + return *_curr_art; } bool TGiornalemag::validate(TForm_item &cf, TToken_string &s) @@ -106,108 +106,108 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s) TString subcode; if (code=="_USER") { - subcode=s.get(); + subcode=s.get(); - if (subcode== "INTEST_REG") { - cf.set(_reg_giorn->intest()); - return TRUE; - - } else if (subcode== "INTEST_DITTA") { - if (!_reg_giorn->stampa_intditta()) return TRUE; - s="_DITTA,!RAGSOC"; + if (subcode== "INTEST_REG") { + cf.set(_reg_giorn->intest()); + return TRUE; + + } else if (subcode== "INTEST_DITTA") { + if (!_reg_giorn->stampa_intditta()) return TRUE; + s="_DITTA,!RAGSOC"; - } else if (subcode== "PAGENO") { - valore << (int)(last_pag_stampata+printer().getcurrentpage()); - cf.set(valore); - return TRUE; + } else if (subcode== "PAGENO") { + valore << (int)(last_pag_stampata+printer().getcurrentpage()); + cf.set(valore); + return TRUE; - } else if (subcode== "NUMREGST") { - valore << last_num_reg; - cf.set(valore); - return TRUE; + } else if (subcode== "NUMREGST") { + valore << last_num_reg; + cf.set(valore); + return TRUE; - } else if (subcode=="INCNUMREGST") { - last_num_reg=max(last_num_reg,_reg_giorn->last_numreg())+1; - if (stampa_def) - { - _reg_giorn->set_last_numreg(last_num_reg); - _reg_giorn->rewrite(); - } - return TRUE; + } else if (subcode=="INCNUMREGST") { + last_num_reg=max(last_num_reg,_reg_giorn->last_numreg())+1; + if (stampa_def) + { + _reg_giorn->set_last_numreg(last_num_reg); + _reg_giorn->rewrite(); + } + return TRUE; - } else if (subcode== "REGISTRASTAMPA") { - TRectype & movr=cursor()->relation()->lfile(LF_MOVMAG).curr(); - if ((1 || movr.get_long("NUMREGST")<=last_num_reg )&& stampa_def) - { - // movimento ancora da registrare - movr.put("NUMREGST",last_num_reg+1); - cursor()->relation()->lfile(LF_MOVMAG).rewrite(); + } else if (subcode== "REGISTRASTAMPA") { + TRectype & movr=cursor()->relation()->lfile(LF_MOVMAG).curr(); + if ((1 || movr.get_long("NUMREGST")<=last_num_reg )&& stampa_def) + { + // movimento ancora da registrare + movr.put("NUMREGST",last_num_reg+1); + cursor()->relation()->lfile(LF_MOVMAG).rewrite(); - _reg_giorn->set_pag_stampate(last_pag_stampata+printer().getcurrentpage()); - _reg_giorn->set_last_print(TDate(TODAY)); - _reg_giorn->rewrite(); - } + _reg_giorn->set_pag_stampate(last_pag_stampata+printer().getcurrentpage()); + _reg_giorn->set_last_print(TDate(TODAY)); + _reg_giorn->rewrite(); + } - } else if (subcode== "INFO_CRONO") { - TDate datamov(cursor()->relation()->lfile(LF_MOVMAG).get_date("DATAREG")); - switch (freq_stampa ) { - case 0: - valore.format("%7g Movimento del %s ", (double)last_num_reg+1, (const char *)datamov.string()); - valore << cursor()->relation()->lfile(LF_MOVMAG).get("DESCR"); - break; - default: - valore.format("%7g Movimenti del %s, dal %d al %d", (double)last_num_reg+1, - (const char *)itom(datamov.month()), - (int)((datamov.day()-1)/freq_stampa)*freq_stampa+1, - (int)min(((datamov.day()-1)/freq_stampa+1)*freq_stampa,TDate::last_day(datamov.month(),datamov.year())) ); - break; - } - cf.set(valore); - return TRUE; + } else if (subcode== "INFO_CRONO") { + TDate datamov(cursor()->relation()->lfile(LF_MOVMAG).get_date("DATAREG")); + switch (freq_stampa ) { + case 0: + valore.format("%7g Movimento del %s ", (double)last_num_reg+1, (const char *)datamov.string()); + valore << cursor()->relation()->lfile(LF_MOVMAG).get("DESCR"); + break; + default: + valore.format("%7g Movimenti del %s, dal %d al %d", (double)last_num_reg+1, + (const char *)itom(datamov.month()), + (int)((datamov.day()-1)/freq_stampa)*freq_stampa+1, + (int)min(((datamov.day()-1)/freq_stampa+1)*freq_stampa,TDate::last_day(datamov.month(),datamov.year())) ); + break; + } + cf.set(valore); + return TRUE; - } else if (subcode== "INFO_FISC") { - valore.cut(0); - if (!ragg_mag) - { - vv=cursor()->relation()->lfile(LF_RMOVMAG).get("CODMAG"); - valore << "Mag." << vv.mid(0,3); - vv=vv.mid(3,2); - if (vv.not_empty()) - valore << '-' << vv ; - else - valore << " " ; - valore << ' '; - } - if (ragg_articoli) - { - valore << "Art." << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART) << ' '; - } else { - if (ragg_classi) - { - valore << "Classe fiscale " << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_CLASSEFIS) << ' '; - if (ragg_raggart) - { - valore << " ragg. " << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_RAGGFIS) << ' '; - } - } else { - vv.cut(0); - if (!ragg_caus && freq_stampa==0) - { - //valore << "Mov." << cursor()->relation()->lfile(LF_RMOVMAG).get("NUMREG") << "/"; - //valore << cursor()->relation()->lfile(LF_RMOVMAG).get("NRIG"); - } - vv << "Art. " << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART); - vv << ' ' << cursor()->relation()->lfile(LF_RMOVMAG).get("LIVGIAC") << ' '; - } - } - if (ragg_caus) - { - valore << "Causali " << cur->relation()->lfile(-ALIAS_CAUSALI).get("S8") << ' '; - } - valore << vv; - cf.set(valore); - return TRUE; - } + } else if (subcode== "INFO_FISC") { + valore.cut(0); + if (!ragg_mag) + { + vv=cursor()->relation()->lfile(LF_RMOVMAG).get("CODMAG"); + valore << "Mag." << vv.mid(0,3); + vv=vv.mid(3,2); + if (vv.not_empty()) + valore << '-' << vv ; + else + valore << " " ; + valore << ' '; + } + if (ragg_articoli) + { + valore << "Art." << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART) << ' '; + } else { + if (ragg_classi) + { + valore << "Classe fiscale " << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_CLASSEFIS) << ' '; + if (ragg_raggart) + { + valore << " ragg. " << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_RAGGFIS) << ' '; + } + } else { + vv.cut(0); + if (!ragg_caus && freq_stampa==0) + { + //valore << "Mov." << cursor()->relation()->lfile(LF_RMOVMAG).get("NUMREG") << "/"; + //valore << cursor()->relation()->lfile(LF_RMOVMAG).get("NRIG"); + } + vv << "Art. " << cursor()->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART); + vv << ' ' << cursor()->relation()->lfile(LF_RMOVMAG).get("LIVGIAC") << ' '; + } + } + if (ragg_caus) + { + valore << "Causali " << cur->relation()->lfile(-ALIAS_CAUSALI).get("S8") << ' '; + } + valore << vv; + cf.set(valore); + return TRUE; + } } return TForm_stampemg::validate(cf, s); } @@ -215,186 +215,186 @@ bool TGiornalemag::validate(TForm_item &cf, TToken_string &s) const char * TGiornalemag::get_cronofield(TVariable_rectype & r) { - static TString80 valore; - TDate datamov(cur->relation()->lfile(LF_MOVMAG).get_date("DATAREG")); - long numreg=cur->relation()->lfile(LF_MOVMAG).get_int("NUMREG"); - - // gestione frequenza - valore.cut(0); - switch (freq_stampa ) { - case 0: - valore.format("%4d%2d%2d%7d",datamov.year(), - datamov.month(), - datamov.day(), - numreg); - break; - default: - valore.format("%4d%2d%2d",datamov.year(), - datamov.month(), - (int)(datamov.day()/freq_stampa)); - } - return valore; + static TString80 valore; + TDate datamov(cur->relation()->lfile(LF_MOVMAG).get_date("DATAREG")); + long numreg=cur->relation()->lfile(LF_MOVMAG).get_int("NUMREG"); + + // gestione frequenza + valore.cut(0); + switch (freq_stampa ) { + case 0: + valore.format("%4d%2d%2d%7d",datamov.year(), + datamov.month(), + datamov.day(), + numreg); + break; + default: + valore.format("%4d%2d%2d",datamov.year(), + datamov.month(), + (int)(datamov.day()/freq_stampa)); + } + return valore; } const char * TGiornalemag::get_fiscfield(TVariable_rectype & r) { - static TString80 valore; - TString vv; + static TString80 valore; + TString vv; - valore.cut(0); - // gestione ragruppamenti - if (!ragg_mag) - { - valore.format("%-15s",(const char *)cur->relation()->lfile(LF_RMOVMAG).get("CODMAG")); - } - if (ragg_articoli) - { - valore << cur->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART); - } else { - if (ragg_classi) - { - valore << cur->relation()->lfile(LF_ANAMAG).get(ANAMAG_CLASSEFIS); - if (ragg_raggart) - { - valore << cur->relation()->lfile(LF_ANAMAG).get(ANAMAG_RAGGFIS); - } - } else { - if (!ragg_caus && freq_stampa==0) { - vv.format("%4d",cur->relation()->lfile(LF_RMOVMAG).get_int("NRIG")); - } else { - TString c1(cur->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART)); - TString c2(cur->relation()->lfile(LF_RMOVMAG).get("LIVGIAC")); - vv.format("%-20s%-15s", (const char *)c1,(const char *)c2 ); - } - } - } - if (ragg_caus) - { - valore << cur->relation()->lfile(-ALIAS_CAUSALI).get("S8"); - } - valore << vv; - return valore; + valore.cut(0); + // gestione ragruppamenti + if (!ragg_mag) + { + valore.format("%-15s",(const char *)cur->relation()->lfile(LF_RMOVMAG).get("CODMAG")); + } + if (ragg_articoli) + { + valore << cur->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART); + } else { + if (ragg_classi) + { + valore << cur->relation()->lfile(LF_ANAMAG).get(ANAMAG_CLASSEFIS); + if (ragg_raggart) + { + valore << cur->relation()->lfile(LF_ANAMAG).get(ANAMAG_RAGGFIS); + } + } else { + if (!ragg_caus && freq_stampa==0) { + vv.format("%4d",cur->relation()->lfile(LF_RMOVMAG).get_int("NRIG")); + } else { + TString c1(cur->relation()->lfile(LF_ANAMAG).get(ANAMAG_CODART)); + TString c2(cur->relation()->lfile(LF_RMOVMAG).get("LIVGIAC")); + vv.format("%-20s%-15s", (const char *)c1,(const char *)c2 ); + } + } + } + if (ragg_caus) + { + valore << cur->relation()->lfile(-ALIAS_CAUSALI).get("S8"); + } + valore << vv; + return valore; } void TGiornalemag::set_parametri(TMask & m) { - // set static variables - dadata=m.get_date(F_DATAIN); - adata=m.get_date(F_DATAFIN); - freq_stampa = m.get_int(F_FREQ); - stampa_def = (*m.get(F_DEFINITIVA) == 'D'); - ragg_mag = m.get_bool(F_RAGGMAG); - ragg_articoli = m.get_bool(F_RAGGARTICOLI ); - ragg_classi = m.get_bool(F_CLASSEFISART ); - ragg_raggart = m.get_bool(F_RAGGFISART ); - ragg_caus = m.get_bool(F_RAGGCAUS ); - _annoes=m.get_int(F_ANNOES); - cur=cursor(); - // load Tregistro - if (_reg_giorn) delete _reg_giorn; - _reg_giorn= new TRegistro_giornalemag(m.get(F_CODREG),m.get_int(F_ANNOES)); - last_pag_stampata=_reg_giorn->pag_stampate(); - last_num_reg=_reg_giorn->last_numreg(); + // set static variables + dadata=m.get_date(F_DATAIN); + adata=m.get_date(F_DATAFIN); + freq_stampa = m.get_int(F_FREQ); + stampa_def = (*m.get(F_DEFINITIVA) == 'D'); + ragg_mag = m.get_bool(F_RAGGMAG); + ragg_articoli = m.get_bool(F_RAGGARTICOLI ); + ragg_classi = m.get_bool(F_CLASSEFISART ); + ragg_raggart = m.get_bool(F_RAGGFISART ); + ragg_caus = m.get_bool(F_RAGGCAUS ); + _annoes=m.get_int(F_ANNOES); + cur=cursor(); + // load Tregistro + if (_reg_giorn) delete _reg_giorn; + _reg_giorn= new TRegistro_giornalemag(m.get(F_CODREG),m.get_int(F_ANNOES)); + last_pag_stampata=_reg_giorn->pag_stampate(); + last_num_reg=_reg_giorn->last_numreg(); - // show/hide sections - find_field('B',odd_page,"HEADER_RAGG_FISC").show( - ragg_articoli || ragg_classi || ragg_caus); - find_field('B',odd_page,"HEADER_MOV").show(freq_stampa==0); + // show/hide sections + find_field('B',odd_page,"HEADER_RAGG_FISC").show( + ragg_articoli || ragg_classi || ragg_caus); + find_field('B',odd_page,"HEADER_MOV").show(freq_stampa==0); - TVariable_rectype *vrec_rmov= new TVariable_rectype(LF_RMOVMAG); - vrec_rmov->add_field(new TVariable_field ("CRONO_FIELD",get_cronofield,32)); - vrec_rmov->add_field(new TVariable_field ("FISC_FIELD",get_fiscfield,48)); - - cursor()->relation()->lfile().set_curr(vrec_rmov); + TVariable_rectype *vrec_rmov= new TVariable_rectype(LF_RMOVMAG); + vrec_rmov->add_field(new TVariable_field ("CRONO_FIELD",get_cronofield,32)); + vrec_rmov->add_field(new TVariable_field ("FISC_FIELD",get_fiscfield,48)); + + cursor()->relation()->lfile().set_curr(vrec_rmov); - // inserisce tutti i magazzini collegati - TTable mag("MAG"); - _cod_magazzini.destroy(); - mag.first(); - while (!mag.eof()) - { - TString16 codmag(mag.get("CODTAB").left(3)); - if (mag.get("CODTAB")==codmag) - if (mag.get("S8")==m.get(F_CODREG)) - _cod_magazzini.add(codmag); - mag.next(); - } + // inserisce tutti i magazzini collegati + TTable mag("MAG"); + _cod_magazzini.destroy(); + mag.first(); + while (!mag.eof()) + { + TString16 codmag(mag.get("CODTAB").left(3)); + if (mag.get("CODTAB")==codmag) + if (mag.get("S8")==m.get(F_CODREG)) + _cod_magazzini.add(codmag); + mag.next(); + } - // setta il filtro sui magazzini di questo giornale - cursor()->set_filterfunction(filter_func,TRUE); + // setta il filtro sui magazzini di questo giornale + cursor()->set_filterfunction(filter_func,TRUE); } // unused : ora i magazzini hanno l'indicazione esplicita del registro void TGiornalemag::add_mag(TRectype & magrec,const char * codreg) { - TString16 codmag(magrec.get("CODTAB").left(3)); - if (magrec.get("CODTAB")==codmag) - { - if (_cod_magazzini.is_key(codmag)) return; - if (magrec.get_int("I2")==1) - { - // Indicazione di magazzino - TTable mag("MAG"); - mag.put("CODTAB",magrec.get("S6")); - mag.read(); - add_mag(mag.curr(),codreg); - } else { - // Indicazione di libro giornale - if (magrec.get("S8")==codreg) - _cod_magazzini.add(codmag); - } - } + TString16 codmag(magrec.get("CODTAB").left(3)); + if (magrec.get("CODTAB")==codmag) + { + if (_cod_magazzini.is_key(codmag)) return; + if (magrec.get_int("I2")==1) + { + // Indicazione di magazzino + TTable mag("MAG"); + mag.put("CODTAB",magrec.get("S6")); + mag.read(); + add_mag(mag.curr(),codreg); + } else { + // Indicazione di libro giornale + if (magrec.get("S8")==codreg) + _cod_magazzini.add(codmag); + } + } } bool TGiornalemag::filter_func(const TRelation* r) { - bool rval; - rval = r->lfile(LF_MOVMAG).get_date("DATAREG").year()==_annoes; - rval &=_cod_magazzini.is_key(r->lfile(LF_RMOVMAG).get("CODMAG").left(3)); - if (!dadata.empty()) rval &=r->lfile(LF_MOVMAG).get_date("DATAREG")>=dadata; - if (!adata.empty()) rval &=r->lfile(LF_MOVMAG).get_date("DATAREG")<=adata; - return rval; + bool rval; + rval = r->lfile(LF_MOVMAG).get_date("DATAREG").year()==_annoes; + rval &=_cod_magazzini.is_key(r->lfile(LF_RMOVMAG).get("CODMAG").left(3)); + if (!dadata.empty()) rval &=r->lfile(LF_MOVMAG).get_date("DATAREG")>=dadata; + if (!adata.empty()) rval &=r->lfile(LF_MOVMAG).get_date("DATAREG")<=adata; + return rval; } bool TGiornalemag::can_be_printed() { - if (stampa_def) - { - TLocalisamfile mov(LF_MOVMAG); - mov.setkey(3); - mov.put("DATAREG",dadata); - mov.read(); - mov.prev(); - if (!mov.eof() || mov.get("NUMREGST")!=_reg_giorn->last_numreg()) - return FALSE; - } - return TRUE; + if (stampa_def) + { + TLocalisamfile mov(LF_MOVMAG); + mov.setkey(3); + mov.put("DATAREG",dadata); + mov.read(); + mov.prev(); + if (!mov.eof() || mov.get("NUMREGST")!=_reg_giorn->last_numreg()) + return FALSE; + } + return TRUE; } TGiornalemag::TGiornalemag(const char *name,const char *code) : - TForm_stampemg(name,code),_curr_art(NULL), - last_pag_stampata(0),last_num_reg(0),_reg_giorn(NULL) + TForm_stampemg(name,code),_curr_art(NULL), + last_pag_stampata(0),last_num_reg(0),_reg_giorn(NULL) { } TGiornalemag::~TGiornalemag() { - if (_curr_art) delete _curr_art; - if (_reg_giorn) delete _reg_giorn; + if (_curr_art) delete _curr_art; + if (_reg_giorn) delete _reg_giorn; } // dichiarazioni degli static TDate TGiornalemag::dadata; TDate TGiornalemag::adata; -int TGiornalemag::freq_stampa; +int TGiornalemag::freq_stampa; bool TGiornalemag::ragg_mag; bool TGiornalemag::stampa_def; bool TGiornalemag::ragg_articoli; @@ -410,10 +410,10 @@ int TGiornalemag::_annoes; class TStampa_giornalemag : public TPrint_application { - TArray * _files; - TMask * _mask; - TGiornalemag * _form; // to be moved into TPrint_application - TCursor * _cur; + TArray * _files; + TMask * _mask; + TGiornalemag * _form; // to be moved into TPrint_application + TCursor * _cur; protected: virtual bool print_one(int file) @@ -422,7 +422,7 @@ protected: virtual bool user_destroy(); virtual bool set_print(int i=1); virtual void set_page(int file,int count) - { } + { } public: TStampa_giornalemag() {} @@ -440,8 +440,8 @@ bool TStampa_giornalemag::user_create() } bool TStampa_giornalemag::user_destroy() { - delete _mask; - delete _files; + delete _mask; + delete _files; return TRUE; } @@ -449,25 +449,25 @@ bool TStampa_giornalemag::user_destroy() bool TStampa_giornalemag::set_print(int i) { - while (TRUE) { - if (_mask->run() != K_ENTER) - return FALSE; + while (TRUE) { + if (_mask->run() != K_ENTER) + return FALSE; - _form = new TGiornalemag("mg4300", ""); - _form->set_parametri(*_mask); - if (_form->can_be_printed()) - _form->print(); - else - error_box("Impossibile stampare il giornale dalla data indicata"); - delete _form; - } // while true + _form = new TGiornalemag("mg4300", ""); + _form->set_parametri(*_mask); + if (_form->can_be_printed()) + _form->print(); + else + error_box("Impossibile stampare il giornale dalla data indicata"); + delete _form; + } // while true return TRUE; } int mg4300(int argc, char* argv[]) { - TStampa_giornalemag a; - a.run(argc,argv,"Stampa giornale di magazzino"); - return 0; + TStampa_giornalemag a; + a.run(argc,argv,"Stampa giornale di magazzino"); + return 0; }