1997-02-18 15:10:08 +00:00
|
|
|
|
#ifndef __EF0301_H
|
|
|
|
|
#define __EF0301_H
|
|
|
|
|
|
|
|
|
|
#ifndef __EF0101_H
|
1996-11-14 17:40:05 +00:00
|
|
|
|
#include "ef0101.h"
|
1997-02-18 15:10:08 +00:00
|
|
|
|
#endif
|
1996-11-14 17:40:05 +00:00
|
|
|
|
|
1996-12-06 15:50:15 +00:00
|
|
|
|
///////////////////////////////////////////////////////////////
|
1997-02-18 15:10:08 +00:00
|
|
|
|
// Definizione dell'oggetto Distinta con la classe TDistinta //
|
1996-12-06 15:50:15 +00:00
|
|
|
|
///////////////////////////////////////////////////////////////
|
|
|
|
|
|
1999-06-18 15:35:05 +00:00
|
|
|
|
class TDistinta : public TObject
|
1996-11-14 17:40:05 +00:00
|
|
|
|
{
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//array che contiene puntatori agli effetti nella distinta
|
|
|
|
|
TArray _righe_dist;
|
1999-04-06 15:34:39 +00:00
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
TEffetto& eff(int n) { return (TEffetto&)_righe_dist[n]; }
|
1999-05-24 13:34:11 +00:00
|
|
|
|
const TEffetto& eff(int n) const { return (const TEffetto&)_righe_dist[n]; }
|
1999-04-06 15:34:39 +00:00
|
|
|
|
|
1996-11-14 17:40:05 +00:00
|
|
|
|
public:
|
1996-12-06 15:50:15 +00:00
|
|
|
|
//ritorna un riferimento all'array degli effetti nella distinta
|
1999-06-18 15:35:05 +00:00
|
|
|
|
TArray& righe() { return _righe_dist; }
|
1996-11-14 17:40:05 +00:00
|
|
|
|
//ritorna il numero degli effetti nella distinta (nell'array)
|
1996-12-06 15:50:15 +00:00
|
|
|
|
const int items() const{ return _righe_dist.items(); }
|
1996-11-14 17:40:05 +00:00
|
|
|
|
//elimina tutti gli effetti nella distinta (appartenti all'array)
|
1996-12-06 15:50:15 +00:00
|
|
|
|
int reset(){ return _righe_dist.destroy() == NOERR; }
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//legge la distinta del tipo e numero passati
|
1997-05-31 13:26:38 +00:00
|
|
|
|
int read(const char tipo, const long numero, word lock_op = _nolock);
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//legge il record passato
|
1997-05-31 13:26:38 +00:00
|
|
|
|
int read(const TRectype& rec, word lock_op = _nolock);
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//scrive la distinta utilizzando la rewrite degli effetti
|
1996-11-14 17:40:05 +00:00
|
|
|
|
int write(bool force = FALSE, TToken_string* dati_dist = NULL);
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//riscrive la distinta
|
1997-05-31 13:26:38 +00:00
|
|
|
|
int rewrite(TToken_string* dati_dist = NULL){ return write(TRUE, dati_dist); }
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//rimuove la distinta del tipo e numero passati
|
1996-12-06 15:50:15 +00:00
|
|
|
|
int remove(char tipodist, long ndist);
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//restituisce il tipo di distinta
|
1999-05-24 13:34:11 +00:00
|
|
|
|
const char tipodist() const { return eff(0).get_char(EFF_TIPODIST); }
|
1999-04-06 15:34:39 +00:00
|
|
|
|
//restituisce il tipo degli effetti della distinta (<C>lienti/<F>ornitori)
|
1999-05-24 13:34:11 +00:00
|
|
|
|
const char tipocf() const { return eff(0).get_char(EFF_TIPOCF); }
|
|
|
|
|
//restituisce il tipo di pagamento della distinta [1,9]
|
|
|
|
|
const int tipopag() const { return eff(0).get_int(EFF_TIPOPAG); }
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//restituisce il numero di distinta
|
1999-05-24 13:34:11 +00:00
|
|
|
|
const long ndist() const { return eff(0).get_long(EFF_NDIST); }
|
1997-05-14 10:27:38 +00:00
|
|
|
|
//restituisce il codice valuta della distinta
|
1999-05-24 13:34:11 +00:00
|
|
|
|
const TString& codval() const { return eff(0).get(EFF_CODVAL); }
|
1997-05-14 10:27:38 +00:00
|
|
|
|
//restituisce la data distinta della distinta
|
1999-05-24 13:34:11 +00:00
|
|
|
|
TDate data_dist() const { return eff(0).get_date(EFF_DATADIST); }
|
1997-05-14 10:27:38 +00:00
|
|
|
|
//restituisce la data cambio della distinta
|
1999-05-24 13:34:11 +00:00
|
|
|
|
TDate data_cam() const { return eff(0).get_date(EFF_DATACAMBIO); }
|
1997-05-14 10:27:38 +00:00
|
|
|
|
//restituisce il cambio delle distinta
|
1999-05-24 13:34:11 +00:00
|
|
|
|
real cambio() const { return eff(0).get_real(EFF_CAMBIO); }
|
1999-06-18 15:35:05 +00:00
|
|
|
|
//restituisce TRUE se il cambio delle distinta e' contro euro
|
|
|
|
|
bool contro_euro() const { return eff(0).get_bool(EFF_CONTROEURO); }
|
1997-05-14 10:27:38 +00:00
|
|
|
|
//restituisce il codice abi di presentazione effetti
|
1999-05-24 13:34:11 +00:00
|
|
|
|
const TString& abip()const { return eff(0).get(EFF_CODABIP); }
|
1997-05-14 10:27:38 +00:00
|
|
|
|
//restituisce il codice cab di presentazione effetti
|
1999-05-24 13:34:11 +00:00
|
|
|
|
const TString& cabp()const { return eff(0).get(EFF_CODCABP); }
|
2010-03-23 14:57:11 +00:00
|
|
|
|
const TString& progbnp()const { return eff(0).get(EFF_PROGBNP); }
|
1997-05-14 10:27:38 +00:00
|
|
|
|
// restituisce l'effetto n-esimo
|
1999-04-06 15:34:39 +00:00
|
|
|
|
TEffetto& operator[](const int index) { return eff(index); }
|
2002-10-23 14:14:55 +00:00
|
|
|
|
// Ritorna vero se la distinta <20> stata contabilizzata
|
|
|
|
|
bool contabilizzata() const;
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//costruttore di default
|
1999-06-18 15:35:05 +00:00
|
|
|
|
TDistinta() { }
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//costruttore distinta del tipo e numero passato
|
1997-05-31 13:26:38 +00:00
|
|
|
|
TDistinta(const char tipo, const long numero, word lockop = _nolock);
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//costruttore distinta utilizzando il record passato
|
1997-05-31 13:26:38 +00:00
|
|
|
|
TDistinta(const TRectype& rec, word lockop = _nolock);
|
1997-02-18 15:10:08 +00:00
|
|
|
|
//distruttore di default
|
1997-05-31 13:26:38 +00:00
|
|
|
|
virtual ~TDistinta();
|
1997-02-18 15:10:08 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif//__EF0301_H
|