campo-sirio/mg/mg0200.cpp
augusto e319e0a056 Include di mg0200.h in minuscolo
git-svn-id: svn://10.65.10.50/trunk@4712 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-06-19 06:59:33 +00:00

76 lines
1.7 KiB
C++
Executable File

#include <applicat.h>
#include <config.h>
#include <form.h>
#include <mask.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;
}