cg2100.h Aggiunto F_ADJUST_PRORATA cg2100c.uml Aggiunto bottone di correzione prorata cg2102.h Aggiunti metodi per test prorata cg2103.cpp Aggiunta possibilita' di cambiare il prorata di un registro cg2106.cpp Aggiunti metodi per gestire correzione prorata git-svn-id: svn://10.65.10.50/trunk@4019 c028cbd2-c16b-5b4b-a496-9718f37d4682
171 lines
4.1 KiB
C++
Executable File
171 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();
|
|
void set_prorata(const real& pro);
|
|
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
|