campo-sirio/cg/cg2103.h
villa af0bd15535 Gigamodifica saldi contabili + correzioni maschere e altro
Elenco files modificati in ~villa/src/saldi.mod


git-svn-id: svn://10.65.10.50/trunk@2852 c028cbd2-c16b-5b4b-a496-9718f37d4682
1996-05-20 09:26:39 +00:00

170 lines
4.1 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,
libro_giornale = 5,
iva_generica = 9
};
enum TipoConto
{
spr = 'G', // spese e rimborsi
aba = 'A', // abbuoni attivi
abp = 'P', // abbuoni passivi
rpf = 'R', // ritenute professionali
asp = 'L', // altre spese
dfc = 'C', // differenza cambio
tot = 'Z'
};
const char* iva2name(TipoIVA i);
class TRegistro : public TObject
{
bool read_att();
protected:
TRectype _rec, _att;
real _prorata;
public:
bool read(const char* code, int year);
bool reread();
TRegistro& operator =(const TRegistro& r);
virtual bool ok() const { return !_rec.empty(); }
int tipo() const;
TipoIVA iva() const;
bool corrispettivi() const;
bool sospeso() const { return _rec.get_bool("B1");}
const TString& name() const;
int year() const;
TDate last_reg() const { return _rec.get_date("D2"); }
TDate last_print() const { return _rec.get_date("D3"); }
long mese_stampa_ultima_liq() const { return _rec.get_long("I4"); }
long protocol() const { return _rec.get_long("I5"); }
const TString& attivita() const { return _rec.get("S8"); }
bool agenzia_viaggi();
const TString& tipo_attivita();
bool attivita_mista() { const char a = tipo_attivita()[0]; return a == 'E'; }
const real& prorata();
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 TCodiceIVA : private TRectype
{
public: // TObject
virtual bool ok() const { return !empty(); }
public:
bool read(const char* codice);
const TString& codice() const { return get("CODTAB"); }
real percentuale() const { return get_real("R0"); }
const TString& tipo() const { return get("S1"); }
real scorpora(real& imponibile) const; // Scorpora dall'imponibile l'imposta e la ritorna
TCodiceIVA(const char* codice = NULL);
virtual ~TCodiceIVA() {}
};
class TCausale : public TArray
{
TRectype _rec;
TRegistro _reg;
TipoIVA _iva;
bool _corrisp;
char _sezione_clifo, _sezione_ritsoc;
protected:
const TRectype* row(int num) const { return (const TRectype*)objptr(num); }
void calcIVA();
public: // TObject
virtual bool ok() const;
public:
TBill& bill(int num, TBill& c) const;
const char* codice() const;
const char* descrizione() const;
const char* desc_agg(int num) const;
bool data_doc() const;
bool num_doc() const;
bool apertura() const;
bool chiusura() const;
bool sezionale() const;
bool valuta() const;
bool intra() const;
bool valintra() const;
const TString& causale_inc_imm() const;
const TString& tipo_doc() const;
TRegistro& reg() const { return (TRegistro&)_reg; }
TipoIVA iva() const { return _iva; }
bool corrispettivi() const { return _corrisp; }
// bill deve essere il conto di ricavo
bool IVA2bill(const TCodiceIVA& iva, TBill& bill) const;
int tipomov() const;
bool saldaconto() const;
int link_m770() const;
bool similar(const TCausale& c) const;
char sezione(int riga) const;
char sezione_clifo();
char sezione_ritsoc();
virtual bool read(const char* cod, int year);
TCausale(const char* code = "", int year = 0);
virtual ~TCausale() {}
};
#define RIGA_IVA_DETRAIBILE 3
#define RIGA_IVA_NON_DETRAIBILE 4
#define RIGA_RITENUTE_FISCALI 8
#define RIGA_RITENUTE_SOCIALI 9
#define RIGA_ABBUONI_PASSIVI 9
#define RIGA_ABBUONI_ATTIVI 10
#define RIGA_SPESE 11
#define RIGA_RITENUTE 12
#define RIGA_DIFFCAM 13
#endif