campo-sirio/src/cg/cg7401.h
bonazzi 78d820ed3a Patch level : 12.0 360
Files correlati     : cg4.exe

Corretta la stampa dei registri riepilogativo, stampava l'intestazione anche quando non doveva.





git-svn-id: svn://10.65.10.50/branches/R_10_00@23677 c028cbd2-c16b-5b4b-a496-9718f37d4682
2017-03-03 15:55:27 +00:00

93 lines
3.0 KiB
C++

// Programma per la stampa del quadri IVA
#include <applicat.h>
#include <automask.h>
#include <automask.h>
#include <expr.h>
#include <reputils.h>
#include <sheet.h>
#include <rmoviva.h>
class TQuadro_IVA_mask : public TAutomask
{
int _year;
long _last_row_ditte;
long _last_row_reports;
TArray _reports;
protected:
void build_ditte_sheet();
void build_report_sheet();
public:
const int get_year() const { return _year; }
void restart_ditte() { _last_row_ditte = -1;}
void restart_reports() { _last_row_reports = -1;}
long get_ditta();
TProgram_report * get_report();
TProgram_report & get_report(const int code) const { return (TProgram_report &) _reports[code];}
TISAM_recordset * get_recset(const int code) const { return (TISAM_recordset *)((TProgram_report &) _reports[code - 1]).recordset();}
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
TQuadro_IVA_mask(const char * mask_name);
~TQuadro_IVA_mask() {}
};
class TQuadro_IVA_recordset : public TISAM_recordset
{
TAssoc_array _values;
TAssoc_array _types;
TQuadro_IVA_mask * _mask;
int _year;
protected:
void add_value(const char *s, real value);
void set_bool(const char *s, bool on = false);
virtual void load() pure;
virtual const TVariant& get(const char* column_name) const;
void clear() { _values.destroy(); _types.destroy(); }
const real evaluate_recordset(const int code, const int year, const char * field, const char * expr = NULL);
const real evaluate_recordset_imponibile(const int code, const int year, const char * expr = NULL) { return evaluate_recordset(code, year, RMI_IMPONIBILE, expr); }
const real evaluate_recordset_imposta(const int code, const int year, const char * expr = NULL) { return evaluate_recordset(code, year, RMI_IMPOSTA, expr); }
public:
TQuadro_IVA_recordset(TQuadro_IVA_mask * mask, const char* use, const int year) : TISAM_recordset(use), _mask(mask), _year(year) { }
TQuadro_IVA_recordset(const TQuadro_IVA_recordset * recset);
TQuadro_IVA_recordset(const TQuadro_IVA_recordset & recset);
int year() { return _year; }
virtual ~TQuadro_IVA_recordset() {}
};
class TQuadro_IVA_report : public TProgram_report
{
protected:
public:
TQuadro_IVA_report(const char * report_name);
};
class TQuadro_IVA_app : public TSkeleton_application
{
TQuadro_IVA_mask * _mask;
TFilename _name;
const TString20 _print_title;
protected:
virtual bool create();
virtual void print();
virtual void main_loop();
virtual char last_quadro_report() const { return 'a';}
public:
virtual TQuadro_IVA_recordset * app_recordset(const char* use, const int year) pure;
virtual void load_sheet(TSheet_field & sf) {}
virtual bool firm_change_enabled() const { return false; }
TQuadro_IVA_mask * mask() const { return _mask; }
TQuadro_IVA_app(const char * print_title, const char * name)
: _print_title(print_title), _name(name) {}
virtual ~TQuadro_IVA_app() {}
};
TQuadro_IVA_app & app();