d17c842cdc
git-svn-id: svn://10.65.10.50/trunk@193 c028cbd2-c16b-5b4b-a496-9718f37d4682
144 lines
3.4 KiB
C++
Executable File
144 lines
3.4 KiB
C++
Executable File
#ifndef __CG2103_H
|
|
#define __CG2103_H
|
|
|
|
#ifndef __ISAM_H
|
|
#include <isam.h>
|
|
#endif
|
|
|
|
#ifndef __CONTO_H
|
|
#include "conto.h"
|
|
#endif
|
|
|
|
enum TipoIVA
|
|
{
|
|
iva_errata = -1,
|
|
nessuna_iva = 0,
|
|
iva_vendite = 1,
|
|
iva_acquisti = 2,
|
|
iva_generica = 9
|
|
};
|
|
|
|
const char* iva2name(TipoIVA i);
|
|
|
|
class TRegistro : public TObject
|
|
{
|
|
bool read_att();
|
|
|
|
protected:
|
|
enum TipoRegistro { libro_giornale = 5 };
|
|
TRectype _rec, _att;
|
|
|
|
public:
|
|
bool read(const char* code, int year);
|
|
TRegistro& operator =(const TRegistro& r);
|
|
|
|
virtual bool ok() const { return !_rec.empty(); }
|
|
|
|
int tipo() const;
|
|
TipoIVA iva() const;
|
|
bool corrispettivi() const;
|
|
const TString& name() const { return _rec.get("CODTAB").mid(4); }
|
|
int year() const;
|
|
TDate last_reg() const { return _rec.get_date("D2"); }
|
|
TDate last_print() const { return _rec.get_date("D3"); }
|
|
long protocol() const { return _rec.get_long("I5"); }
|
|
const TString& attivita() const { return _rec.get("S8"); }
|
|
|
|
bool agenzia_viaggi();
|
|
const TString& tipo_attivita();
|
|
|
|
bool update(long uprotiva, const TDate& lastreg);
|
|
|
|
TRegistro(const char* code = "", int year = 0);
|
|
virtual ~TRegistro() {}
|
|
};
|
|
|
|
|
|
class TLibro_giornale : public TRegistro
|
|
{
|
|
public:
|
|
bool read(int year);
|
|
TDate global_last_print() const;
|
|
|
|
TLibro_giornale(int year = 0);
|
|
virtual ~TLibro_giornale() {}
|
|
};
|
|
|
|
|
|
class TCausale : public TArray
|
|
{
|
|
TRectype _rec;
|
|
TRegistro _reg;
|
|
|
|
TipoIVA _iva;
|
|
bool _corrisp;
|
|
char _sezione_clifo, _sezione_ritsoc;
|
|
|
|
protected:
|
|
const TRectype& row(int num) const;
|
|
|
|
public:
|
|
TConto& bill(int num, TConto& c) const;
|
|
|
|
bool data_doc() const;
|
|
bool num_doc() const;
|
|
bool apertura() const;
|
|
bool sezionale() const;
|
|
bool valuta() const;
|
|
bool intra() const;
|
|
bool corrval() const;
|
|
const char* causale_inc_imm() const;
|
|
const char* tipo_doc() const;
|
|
|
|
TRegistro& reg() const { return (TRegistro&)_reg; }
|
|
TipoIVA iva() const;
|
|
bool corrispettivi() const;
|
|
|
|
virtual bool ok() const;
|
|
bool similar(const TCausale& c) const;
|
|
|
|
char sezione(int riga) const;
|
|
char sezione_clifo();
|
|
char sezione_ritsoc();
|
|
|
|
bool read(const char* cod, int year);
|
|
|
|
TCausale(const char* code = "", int year = 0);
|
|
virtual ~TCausale() {}
|
|
};
|
|
|
|
class TCodiceIVA : public TRectype
|
|
{
|
|
public:
|
|
TCodiceIVA(const char* codice = NULL);
|
|
bool read(const char* codice);
|
|
bool ok() const { return !empty(); }
|
|
const TString& codice() const { return get("CODTAB"); }
|
|
real percentuale() const { return get_real("R0"); }
|
|
const TString& tipo() const { return get("S1"); }
|
|
};
|
|
|
|
class TImporto : public TObject
|
|
{
|
|
char _sezione;
|
|
real _valore;
|
|
|
|
public:
|
|
char sezione() const { return _sezione; }
|
|
const real& valore() const { return _valore; }
|
|
|
|
const TImporto& operator=(const TImporto& i) { return set(i.sezione(), i.valore()); }
|
|
const TImporto& operator=(TToken_string& sv);
|
|
const TImporto& operator+=(const TImporto& i);
|
|
const TImporto& operator-=(const TImporto& i);
|
|
const TImporto& swap_section();
|
|
|
|
const TImporto& set(char s, const real& v);
|
|
const TImporto& add_to(TToken_string& s) const;
|
|
|
|
TImporto(char s = 'D', const real& v = ZERO) { set(s, v); }
|
|
TImporto(const TImporto& i) : _sezione(i._sezione), _valore(i._valore) {}
|
|
};
|
|
|
|
#endif
|