8d5d6540be
cg2.url Aggiunto menu colori cg2100.cpp Aggiunta gestione menu colori cg2100b.uml Accorciata colonna tipo cg2100c.uml Accorciata colonna tipo cg2102.cpp Gestione righe colorate cg2102.h Aggiunte funzioni gestione righe colorate cg3.cpp Aggiunti mastrini a video cg3.url Aggiunto menu dei mastrini a video conto.cpp MEGAFIGATA, velocizzato TBill conto.h Sembra che funzioni bene! git-svn-id: svn://10.65.10.50/trunk@3892 c028cbd2-c16b-5b4b-a496-9718f37d4682
134 lines
3.7 KiB
C++
Executable File
134 lines
3.7 KiB
C++
Executable File
#ifndef __CONTO_H
|
|
#define __CONTO_H
|
|
|
|
#ifndef __REAL_H
|
|
#include <real.h>
|
|
#endif
|
|
|
|
#ifndef __ISAM_H
|
|
class TRectype;
|
|
#endif
|
|
|
|
#ifndef __MASK_H
|
|
class TMask;
|
|
#endif
|
|
|
|
|
|
class TBill : public TSortable
|
|
{
|
|
char _tipo; // ' ' = Conto, 'C' = Cliente, 'F' = 'Fornitore'
|
|
int _gruppo, _conto;
|
|
long _sottoconto; // Sottoconto, codice cliente o fornitore
|
|
TString* _descrizione; // Vuota fino alla chiamata di describe
|
|
int _tipo_cr; // Tipo costo/ricavo
|
|
bool _sospeso;
|
|
char _sezione;
|
|
|
|
protected:
|
|
virtual int compare(const TSortable& s) const;
|
|
virtual const char* class_name() const { return "Conto"; }
|
|
|
|
void set_description(const char* d);
|
|
const TBill& copy(const TBill& b);
|
|
const char* field_name(int n, bool contro) const;
|
|
|
|
public: // TObject
|
|
virtual bool ok() const; // Gruppo, Conto e Sottoconto non nulli
|
|
|
|
public:
|
|
TBill(int g = 0, int c = 0, long s = 0L, char t = ' ', const char* d = NULL, int r = -1)
|
|
: _tipo(t), _gruppo(g), _conto(c), _sottoconto(s), _descrizione(NULL),
|
|
_sezione(' '), _sospeso(FALSE)
|
|
{ set(g,c,s,t,d,r);}
|
|
|
|
TBill(TToken_string& tgcsd, int from, int mode = 0)
|
|
: _descrizione(NULL)
|
|
{ get(tgcsd, from, mode); }
|
|
|
|
TBill(const TRectype& rec, bool contro = FALSE)
|
|
: _descrizione(NULL)
|
|
{ get(rec, contro); }
|
|
|
|
TBill(const TBill& b)
|
|
: _descrizione(NULL)
|
|
{ copy(b); }
|
|
|
|
virtual ~TBill();
|
|
|
|
const TBill& set(int g = 0, int c = 0, long s = 0L, char t = ' ',
|
|
const char* d = NULL, int r = -1);
|
|
|
|
const TBill& get(TToken_string& ts, int from, int mode = 0);
|
|
const TBill& add_to(TToken_string& ts, int from, int mode = 0);
|
|
const TBill& operator=(const TBill& b) { return copy(b); }
|
|
|
|
bool empty() const { return _gruppo==0 && _conto==0 && _sottoconto == 0; }
|
|
|
|
char tipo() const { return _tipo; }
|
|
int gruppo() const { return _gruppo; }
|
|
int conto() const { return _conto; }
|
|
long sottoconto() const { return _sottoconto; }
|
|
long codclifo() const { return _sottoconto; }
|
|
long& codclifo() { return _sottoconto; }
|
|
|
|
bool find();
|
|
const TString& descrizione() const;
|
|
int tipo_cr() const;
|
|
void tipo_cr(int tcr) { _tipo_cr = tcr; }
|
|
|
|
int tipo_att();
|
|
bool read(TRectype& r);
|
|
bool sospeso() const { return _sospeso; } // _sospeso e' letto nella read()
|
|
char sezione() const { return _sezione; }
|
|
|
|
void put(TRectype& r, bool contro = FALSE) const;
|
|
bool get(const TRectype& r, bool contro = FALSE);
|
|
|
|
void set(TMask& m, short g, short c, short s, short t = 0, short d = 0) const;
|
|
void get(const TMask& m, short g, short c, short s, short t = 0, short d = 0);
|
|
|
|
const char* string(int mode = 0) const;
|
|
};
|
|
|
|
|
|
enum TIndbil { ib_null, ib_attivita, ib_passivita, ib_costi, ib_ricavi, ib_conti_ordine };
|
|
|
|
class TConto : public TBill
|
|
{
|
|
real _dare, _avere, _darepro, _averepro, _saldofin, _saldo;
|
|
TImporto _saldo_finale;
|
|
|
|
public:
|
|
TConto(int g = 0, int c = 0, long s = 0L, char t = ' ', const char* d = NULL)
|
|
: TBill(g, c, s, t, d) {}
|
|
TConto (TToken_string& tgcsd, int from, int mode = 0)
|
|
: TBill(tgcsd, from, mode) {}
|
|
|
|
real& dare() { return _dare; }
|
|
const real& dare() const { return _dare; }
|
|
|
|
real& avere() { return _avere; }
|
|
const real& avere() const { return _avere; }
|
|
|
|
real& darepro() { return _darepro; }
|
|
const real& darepro() const { return _darepro; }
|
|
|
|
real& averepro() { return _averepro; }
|
|
const real& averepro() const { return _averepro; }
|
|
|
|
real& saldo() { return _saldo; }
|
|
const real& saldo() const { return _saldo; }
|
|
|
|
real& saldofin() { return _saldofin; }
|
|
const real& saldofin() const { return _saldofin; }
|
|
|
|
TImporto& saldo_finale() { return _saldo_finale; }
|
|
const TImporto& saldo_finale() const { return _saldo_finale; }
|
|
};
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|