#include #include #include #include #include #include #include #include #include #include #include "mglib.h" #include "mg3500.h" #include "mg3frm.h" // mg3500 Stampa class TStampa_storgiac : public TPrint_application { TArray * _files; TMask * _mask; TCursor * _cur; TForm_stampemg * _form; // to be moved into TPrint_application protected: virtual bool print_one(int file) {return TRUE;} virtual bool user_create(); 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(); public: TStampa_storgiac() {} }; bool TStampa_storgiac::user_create() { _mask = new TMask("mg3500"); _files = new TArray(); _files->add(new TLocalisamfile(LF_STOMAG)); return TRUE; } bool TStampa_storgiac::user_destroy() { delete _mask; delete _files; return TRUE; } // ORDINAMENTO bool TStampa_storgiac::set_print(int i) { while (TRUE) { if (_mask->run() != K_ENTER) return FALSE; TRectype darec(LF_ANAMAG),arec(LF_ANAMAG); TString cfilter,filter,joinexp; joinexp << "ANNOESRIF==" << _mask->get(F_ANNOES) << "|CODART==CODART"; _form = new TForm_stampemg("mg3500", ""); _cur = _form->cursor(); switch (*_mask->get(F_ORDINE)) { case 'C': _cur->setkey(1); darec.put("CODART",_mask->get(F_DAART)); arec.put("CODART",_mask->get(F_AART)); break; case 'D': _cur->setkey(2); darec.put("DESCR",_mask->get(F_DADES)); arec.put("DESCR",_mask->get(F_ADES)); break; } _cur->relation()->replace(new TLocalisamfile(LF_STOMAG),1,joinexp); _cur->setfilter(cfilter); _cur->setregion(darec,arec); _form->print(); delete _form; } // while true return TRUE; } int mg3500(int argc, char* argv[]) { TStampa_storgiac a; a.run(argc,argv,"Stampa storico rimanenze"); return 0; }