Files correlati : cg0.exe cg4.exe cgmenu.men cg0800a.msk cg4b00a.msk cg0800a.rep cg4b00a.rep cg3.exe cg3200a.msk cg3600a.msk232.bat Commento : Sistemata esposizione pro rata Modificate le stampe progressivi IVA
140 lines
3.0 KiB
C++
140 lines
3.0 KiB
C++
#include <applicat.h>
|
|
#include <automask.h>
|
|
#include <reprint.h>
|
|
#include <variant.h>
|
|
|
|
#include "cglib05.h"
|
|
#include "cg4b00a.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("cg4b00a") { }
|
|
};
|
|
|
|
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());
|
|
if (e == fe_modify && (atoi(o.get()) == 13))
|
|
{
|
|
TDate d(1, 1, m.get_int(F_ANNO));
|
|
|
|
m.set(F_DADATA, d);
|
|
d.set_month(12);
|
|
d.set_end_month();
|
|
m.set(F_ADATA, d);
|
|
}
|
|
}
|
|
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;
|
|
case F_DADATA:
|
|
if (e == fe_modify || e == fe_close)
|
|
{
|
|
if (TDate(o.get()) > m.get_date(F_ADATA))
|
|
m.set(F_ADATA, o.get());
|
|
}
|
|
break;
|
|
case F_ADATA:
|
|
if (e == fe_modify || e == fe_close)
|
|
{
|
|
if (TDate(o.get()) < m.get_date(F_DADATA))
|
|
o.set(m.get(F_DADATA));
|
|
}
|
|
default:
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// TRiepilogoIVAcompetenza_recordset
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class TRiepilogoIVAcompetenza_recordset : public TRiepilogoIVA_recordset
|
|
{
|
|
|
|
public:
|
|
virtual bool is_competenza() const { return true; }
|
|
|
|
TRiepilogoIVAcompetenza_recordset() {}
|
|
virtual ~TRiepilogoIVAcompetenza_recordset() { }
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// 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);
|
|
TRiepilogoIVAcompetenza_recordset *recset = new TRiepilogoIVAcompetenza_recordset;
|
|
|
|
if (repname.blank())
|
|
repname = "cg4b00a";
|
|
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_da_mese_var(damese);
|
|
recset->set_a_mese_var(amese);
|
|
if (damese == 13)
|
|
{
|
|
damese = 1;
|
|
amese = 12;
|
|
recset->set_annual(true);
|
|
}
|
|
recset->set_anno(anno);
|
|
recset->set_da_mese(damese);
|
|
recset->set_a_mese(amese);
|
|
recset->set_from(m.get_date(F_DADATA));
|
|
recset->set_to(m.get_date(F_ADATA));
|
|
recset->unfreeze();
|
|
rep.set_recordset(recset);
|
|
rep.print_or_preview();
|
|
}
|
|
}
|
|
}
|
|
|
|
int cg4b00(int argc, char* argv[])
|
|
{
|
|
TRiepilogoIVA_app app;
|
|
app.run(argc, argv, TR("Stampa progressivi IVA per competenza"));
|
|
return 0;
|
|
}
|