98 lines
2.0 KiB
C++
Executable File
98 lines
2.0 KiB
C++
Executable File
#include <applicat.h>
|
|
#include <config.h>
|
|
#include <mask.h>
|
|
#include <printer.h>
|
|
#include <relation.h>
|
|
#include <tabutil.h>
|
|
#include <urldefid.h>
|
|
#include <utility.h>
|
|
#include <form.h>
|
|
#include <printapp.h>
|
|
|
|
#include "mglib03.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;
|
|
}
|