120 lines
2.8 KiB
C++
120 lines
2.8 KiB
C++
|
#include <applicat.h>
|
||
|
#include <automask.h>
|
||
|
#include <form.h>
|
||
|
#include <report.h>
|
||
|
#include <reprint.h>
|
||
|
#include <tabutil.h>
|
||
|
#include <textset.h>
|
||
|
|
||
|
#include "co2.h"
|
||
|
#include "co2300a.h"
|
||
|
|
||
|
#include "socicoop.h"
|
||
|
|
||
|
////////////////////////////////////////////////////////
|
||
|
// MASCHERA
|
||
|
////////////////////////////////////////////////////////
|
||
|
class TStampaCtrlScad_mask : public TAutomask
|
||
|
{
|
||
|
protected:
|
||
|
bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||
|
public:
|
||
|
TStampaCtrlScad_mask();
|
||
|
virtual ~TStampaCtrlScad_mask() {};
|
||
|
};
|
||
|
|
||
|
TStampaCtrlScad_mask::TStampaCtrlScad_mask() :TAutomask ("co2300a")
|
||
|
{
|
||
|
}
|
||
|
|
||
|
bool TStampaCtrlScad_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
|
||
|
{
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
/////////////////////////////////////////////////////////////
|
||
|
// REPORT
|
||
|
/////////////////////////////////////////////////////////////
|
||
|
class TStampaCtrlScad_report : public TReport
|
||
|
{
|
||
|
protected:
|
||
|
virtual bool use_mask() { return false; }
|
||
|
public:
|
||
|
TStampaCtrlScad_report() {}
|
||
|
};
|
||
|
|
||
|
|
||
|
////////////////////////////////////////////////////////
|
||
|
// APPLICAZIONE
|
||
|
////////////////////////////////////////////////////////
|
||
|
|
||
|
class TStampaCtrlScad : public TSkeleton_application
|
||
|
{
|
||
|
public:
|
||
|
virtual void main_loop();
|
||
|
};
|
||
|
|
||
|
void TStampaCtrlScad::main_loop()
|
||
|
{
|
||
|
TStampaCtrlScad_mask m;
|
||
|
while (m.run() == K_ENTER)
|
||
|
{
|
||
|
const int controlla = m.get_int(F_CONTROLLA);
|
||
|
|
||
|
TStampaCtrlScad_report rep;
|
||
|
TReport_book book;
|
||
|
|
||
|
if (rep.load(controlla==1 ? "co2300b" : "co2300a"))
|
||
|
{
|
||
|
TString use(rep.recordset()->query_text());
|
||
|
int pos = use.find("JOIN");
|
||
|
if (pos <= 0) pos = use.len();
|
||
|
switch (controlla)
|
||
|
{
|
||
|
case 4:
|
||
|
use.insert("SELECT SCADCOLL[4,5]==#MESE\n", pos);
|
||
|
break;
|
||
|
case 3:
|
||
|
use.insert("SELECT SCADRUOLEQ[4,5]==#MESE\n", pos);
|
||
|
break;
|
||
|
case 2:
|
||
|
use.insert("SELECT SCADLICPES[4,5]==#MESE\n", pos);
|
||
|
break;
|
||
|
default:
|
||
|
use.insert("SELECT DATASCALIC[4,5]==#MESE\n", pos);
|
||
|
break;
|
||
|
}
|
||
|
pos = use.find("JOIN");
|
||
|
if (pos <= 0) pos = use.len();
|
||
|
const int ordinamento = m.get_int(F_ORDINAMENTO);
|
||
|
switch (ordinamento)
|
||
|
{
|
||
|
case 2:
|
||
|
use.insert("BY 20.RAGSOC\n", pos);
|
||
|
break;
|
||
|
default:
|
||
|
use.insert("BY 20.CODCF\n", pos);
|
||
|
break;
|
||
|
}
|
||
|
rep.set_recordset(use);
|
||
|
}
|
||
|
|
||
|
rep.recordset()->set_var("#DASOCIO", TVariant(m.get(F_DASOCIO)));
|
||
|
rep.recordset()->set_var("#ASOCIO", TVariant(m.get(F_ASOCIO)));
|
||
|
rep.recordset()->set_var("#DAANNO", TVariant(m.get(F_DAANNO)));
|
||
|
rep.recordset()->set_var("#AANNO", TVariant(m.get(F_AANNO)));
|
||
|
rep.recordset()->set_var("#MESE", TVariant(m.get(F_MESE)));
|
||
|
rep.recordset()->set_var("#CONTROLLA", TVariant(m.get_long(F_CONTROLLA)));
|
||
|
|
||
|
book.add(rep);
|
||
|
book.print_or_preview();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int co2300(int argc, char* argv[])
|
||
|
{
|
||
|
TStampaCtrlScad a;
|
||
|
a.run(argc, argv, TR("Stampa soci per data licenza"));
|
||
|
return 0;
|
||
|
}
|