campo-sirio/src/cg/cg0800.cpp
Alessandro Bonazzi 99944989e9 Patch level : 12.0 990
Files correlati     : cg0.exe cg0200a.msk cg0800a.msk cg0800a.rep cg4.exe cg4b00a.msk cg4b00a.rep
Commento            :

Aggiunti campi PADESTIM e PARIFAMM agli indirizzi di spedizione

Aggiunta  selezione per codice attività nei  riepiloghi IVA
2020-08-31 19:19:42 +02:00

114 lines
2.3 KiB
C++

#include <applicat.h>
#include <automask.h>
#include <reprint.h>
#include <variant.h>
#include "cglib.h"
#include "cg0800a.h"
///////////////////////////////////////////////////////////
// TRiepilogoIVA_mask
///////////////////////////////////////////////////////////
class TRiepilogoIVA_mask : public TAutomask
{
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TRiepilogoIVA_mask() : TAutomask("cg0800a") { }
};
bool TRiepilogoIVA_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
TRiepilogoIVA_mask & m = (TRiepilogoIVA_mask &) o.mask();
switch (o.dlg())
{
case F_DAMESE:
if (e == fe_modify || e == fe_close)
{
if (atoi(o.get()) > m.get_int(F_AMESE))
m.set(F_AMESE, o.get());
}
break;
case F_AMESE:
if (e == fe_modify || e == fe_close)
{
if (atoi(o.get()) < m.get_int(F_DAMESE))
o.set(m.get(F_DAMESE));
}
break;
default:
break;
}
return true;
}
///////////////////////////////////////////////////////////
// TRiepilogoIVA_app
///////////////////////////////////////////////////////////
class TRiepilogoIVA_app : public TSkeleton_application
{
protected:
virtual void main_loop();
};
void TRiepilogoIVA_app::main_loop()
{
TRiepilogoIVA_mask m;
while (m.run() != K_QUIT)
{
TRiepilogoIVA_report rep;
TFilename repname = m.get(F_REPORT);
TRiepilogoIVA_recordset * recset = new TRiepilogoIVA_recordset;
if (repname.blank())
repname = "cg0800a";
rep.load(repname);
if (recset != NULL)
{
int anno = m.get_int(F_ANNO);
int damese = m.get_int(F_DAMESE);
int amese = m.get_int(F_AMESE);
recset->freeze();
recset->set_anno(anno);
if (damese == 13)
{
damese = 1;
amese = 12;
recset->set_annual(true);
}
recset->set_da_mese(damese);
recset->set_a_mese(amese);
const TDate da(1, damese, anno);
TDate a(1, amese, anno);
if (m.get_long(F_DAMESE) == 13)
a.addyear();
a.set_end_month();
recset->set_from(da);
recset->set_to(a);
const TString & codatt = m.get(F_CODATT);
recset->set_codatt(codatt);
rep.set_recordset(recset);
rep.print_or_preview();
}
}
}
int cg0800(int argc, char* argv[])
{
TRiepilogoIVA_app app;
app.run(argc, argv, TR("Stampa progressivi IVA avanzata"));
return 0;
}