campo-sirio/mg/mg0200.cpp

81 lines
1.6 KiB
C++
Raw Normal View History

#include <applicat.h>
#include <reprint.h>
#include <mask.h>
#include "mglib.h"
#include "mg0200.h"
///////////////////////////////////////////////////////////
// Report
///////////////////////////////////////////////////////////
class TTable_report : public TReport
{
public:
virtual bool use_mask() { return false; }
};
///////////////////////////////////////////////////////////
// Applicazione
///////////////////////////////////////////////////////////
class TStampa_tabmag : public TSkeleton_application
{
protected:
virtual void main_loop();
public:
// @cmember Disabilita la verifica del modulo in chiave
virtual bool check_autorization() const { return false; }
};
void TStampa_tabmag::main_loop()
{
TFilename name;
TString4 tabname(argv(2));
tabname.upper();
name << "bast" << tabname;
TMask m(name);
while ((m.run() == K_ENTER))
{
//se viene scelta la stampa dettagliata -> va stampata la tabella GCA ordinata per
//codici FCA
//Guido perdoni la barbara implementazione...
TFilename rptname;
if (tabname == "FCA" || tabname == "FCG")
{
if (m.get_bool(F_DETTAGLIO))
{
if (tabname == "FCA")
rptname = "bastgca";
else
rptname = "bastgcg";
}
else
{
if (tabname == "FCA")
rptname = "bastfca";
else
rptname = "bastfcg";
}
}
else
rptname = name;
TTable_report rep;
rep.load(rptname);
rep.mask2report(m);
rep.print_or_preview();
} // while
}
int mg0200(int argc, char* argv[])
{
TStampa_tabmag a;
a.run(argc,argv,TR("Stampa tabelle di magazzino"));
return 0;
}