campo-sirio/src/cg/cg7401.h
bonazzi c053e94203 Patch level : 12.0 348
Files correlati     : cg7.exe cg7600a.png cg7600a.rep cg7700a.png cg7700a.rep
                      cg7700a.png cg7700b.rep cg7800a.png cg7800a.rep
                      cg7700b.rep cg7700b.png 

Quadri Ve VF e VJ della dichiarazioone IVA
Aggiunti ai regimi speciali sulle causali 
6  Acquisti di rottami e mat.di di recupero art. 74, commi 7 e 8
7  Acquisti di oro industriale e argento puro (art. 17, comma 5)
8  Acquisti di oro da investimento imp.per opzione (art. 17, comma 5)
9  Acquisti intrac. di CPU,PC, tablet,cellulari,console,microproc.
10 Importazioni rottami e altri mat.di recupero imposta non è versata
14 Acquisti di fabbricati (art. 17, comma 6, lett. a-bis)
15 Acquisti di telefoni cellulari (art. 17, comma 6, lett. b)
16 Acquisti di prodotti elettronici (art. 17, comma 6, lett. c)
17 Acquisti di servizi del comp.edile e sett.connessi art. 17,comma 6, lett. a-ter
18 Acquisti di beni e servizi del sett.energetico art. 17, c.6 d-bis,ter,d-quater
19 Acquisti delle P.A., titolari di partita IVA art. 17-ter

git-svn-id: svn://10.65.10.50/branches/R_10_00@23639 c028cbd2-c16b-5b4b-a496-9718f37d4682
2017-02-20 14:41:21 +00:00

93 lines
2.9 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();