77 lines
1.7 KiB
C++
Executable File
77 lines
1.7 KiB
C++
Executable File
#include <applicat.h>
|
|
#include <config.h>
|
|
#include <form.h>
|
|
#include <mask.h>
|
|
#include <printer.h>
|
|
#include <relation.h>
|
|
#include <tabutil.h>
|
|
#include <urldefid.h>
|
|
#include <utility.h>
|
|
#include "MG0200.h"
|
|
|
|
class TStampa_tabmag : public TApplication
|
|
{
|
|
TMask * _mask;
|
|
TForm * _form;
|
|
|
|
void set_print(TString & tabname);
|
|
protected:
|
|
virtual bool create();
|
|
virtual bool destroy();
|
|
};
|
|
|
|
void TStampa_tabmag::set_print(TString & tabname)
|
|
{
|
|
TString filter;
|
|
TRectype from_rec(LF_TAB),to_rec(LF_TAB);
|
|
from_rec.put("COD",tabname);
|
|
from_rec.put("CODTAB",_mask->get(F_INIZIO1));
|
|
to_rec.put("COD",tabname);
|
|
to_rec.put("CODTAB",_mask->get(F_FINE1));
|
|
if (tabname=="FCA" || tabname=="FCG") {
|
|
if (*_mask->get(F_INIZIO2))
|
|
filter << "500@->CODTAB[2,20]>=" << _mask->get(F_INIZIO2);
|
|
if (filter.not_empty())
|
|
filter << "&&";
|
|
if (*_mask->get(F_FINE2))
|
|
filter << "500@->CODTAB[2,20]<=" << _mask->get(F_FINE2);
|
|
_form->find_field('B',odd_page,"GRUPPI").show(_mask->get_bool(F_DETTAGLIO));
|
|
}
|
|
_form->cursor()->setregion(from_rec,to_rec);
|
|
if (filter.not_empty())
|
|
_form->cursor()->setfilter(filter);
|
|
}
|
|
|
|
bool TStampa_tabmag::create()
|
|
{
|
|
TString16 maskname("bast");
|
|
TString16 formname("tab_");
|
|
TString16 tabname(argv(2));
|
|
tabname.upper();
|
|
|
|
maskname << tabname;
|
|
formname << tabname;
|
|
|
|
_mask = new TMask(maskname);
|
|
while ((_mask->run() == K_ENTER)) {
|
|
_form = new TForm(formname);
|
|
set_print(tabname);
|
|
_form->print();
|
|
delete _form;
|
|
} // while
|
|
return FALSE;
|
|
}
|
|
|
|
bool TStampa_tabmag::destroy()
|
|
{
|
|
delete _mask;
|
|
return TRUE;
|
|
}
|
|
|
|
int mg0200(int argc, char* argv[])
|
|
{
|
|
TStampa_tabmag a;// derivata da Application e con uso di form
|
|
a.run(argc,argv,"Stampa tabelle di magazzino");
|
|
return 0;
|
|
}
|