campo-sirio/co/co2100.cpp
alex d71be5b0cf Patch level : 10.0 patch 767
Files correlati     : co0.exe co1.exe
Ricompilazione Demo : [ ]
Commento            :

aggiunta stampa progressivi conferimenti

Varie stampe dei vongolari.

stampa per data licenza

Modificato il tracciato dell'importazione conferimenti

Non genera piu' documenti se il totale documento campione e' 0

Prima prova di filtro per stampa soci INAIL

Creazione  report , stampa soci inail

Acconto 8% sui progressivi piu' modifiche alle stampe

8% e stampa progressivi

Filtro sulla stampa co2200a per data licenza

Totale sulla stampa progressivi
Progressivi modificabili con shift f12

aggiunta stampa registro carico scarico

Dalla versione 3.2


git-svn-id: svn://10.65.10.50/trunk@20584 c028cbd2-c16b-5b4b-a496-9718f37d4682
2010-06-21 13:46:42 +00:00

109 lines
2.7 KiB
C++
Executable File

#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 "co2100a.h"
#include "socicoop.h"
////////////////////////////////////////////////////////
// MASCHERA
////////////////////////////////////////////////////////
class TStampaAnagSoci_mask : public TAutomask
{
protected:
bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TStampaAnagSoci_mask();
virtual ~TStampaAnagSoci_mask() {};
};
TStampaAnagSoci_mask::TStampaAnagSoci_mask() :TAutomask ("co2100a")
{
}
bool TStampaAnagSoci_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
{
return true;
}
/////////////////////////////////////////////////////////////
// REPORT
/////////////////////////////////////////////////////////////
class TStampaAnagSoci_report : public TReport
{
protected:
virtual bool use_mask() { return false; }
public:
TStampaAnagSoci_report() {}
};
////////////////////////////////////////////////////////
// APPLICAZIONE
////////////////////////////////////////////////////////
class TStampaAnagSoci : public TSkeleton_application
{
public:
virtual void main_loop();
};
void TStampaAnagSoci::main_loop()
{
TStampaAnagSoci_mask m;
while (m.run() == K_ENTER)
{
TStampaAnagSoci_report rep;
TReport_book book;
const int formato = m.get_int(F_FORMATO);
//ATTENZIONE: in caso di formato == 3 il report dovrebbe essere co2100b e non co2100a!!!!!!!!!!!!!!!
if (rep.load(formato==3 ? "co2100b" : "co2100a"))
{
TString use(rep.recordset()->query_text());
int pos = use.find("JOIN");
if (pos <= 0) pos = use.len();
switch(formato)
{
case 1: use.insert("SELECT BETWEEN(DATAASS, #DADATA, #ADATA)\n", pos); break;
case 2: use.insert("SELECT BETWEEN(DATAREC, #DADATA, #ADATA)\n", pos); break;
case 3: use.insert("SELECT BETWEEN(#DADATA, DATAASS, DATAREC) || BETWEEN(#ADATA, DATAASS, DATAREC)\n", pos); break;
default: break;
}
const int ordinamento = m.get_int(F_ORDINAMENTO);
pos = use.find("JOIN");
if (pos <= 0) pos = use.len();
if (ordinamento == 2)
use.insert("BY 20.RAGSOC\n", pos);
else
use.insert("BY CODCF\n", pos);
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("#DADATA", TVariant(m.get(F_DADATA)));
rep.recordset()->set_var("#ADATA", TVariant(m.get(F_ADATA)));
book.add(rep);
book.print_or_preview();
}
}
int co2100(int argc, char* argv[])
{
TStampaAnagSoci a;
a.run(argc, argv, TR("Stampa anagrafica soci"));
return 0;
}