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
93 lines
3.0 KiB
C++
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(); |