// Programma per la stampa del quadri IVA #include #include #include #include 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];} 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; protected: void add_value(const TString *s, real value); void add_value(const TString &s, real value); virtual void load(const long year) pure; virtual const TVariant& get(const char* column_name) const; public: TQuadro_IVA_recordset(const char* use, const int 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(); public: virtual TQuadro_IVA_recordset * app_recordset(const char* use, const int year) pure; 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() {} };