#ifndef __EF0301_H #define __EF0301_H #ifndef __EF0101_H #include "ef0101.h" #endif /////////////////////////////////////////////////////////////// // Definizione dell'oggetto Distinta con la classe TDistinta // /////////////////////////////////////////////////////////////// class TDistinta : public TObject { //array che contiene puntatori agli effetti nella distinta TArray _righe_dist; protected: TEffetto& eff(int n) { return (TEffetto&)_righe_dist[n]; } const TEffetto& eff(int n) const { return (const TEffetto&)_righe_dist[n]; } public: //ritorna un riferimento all'array degli effetti nella distinta TArray& righe() { return _righe_dist; } //ritorna il numero degli effetti nella distinta (nell'array) const int items() const{ return _righe_dist.items(); } //elimina tutti gli effetti nella distinta (appartenti all'array) int reset(){ return _righe_dist.destroy() == NOERR; } //legge la distinta del tipo e numero passati int read(const char tipo, const long numero, word lock_op = _nolock); //legge il record passato int read(const TRectype& rec, word lock_op = _nolock); //scrive la distinta utilizzando la rewrite degli effetti int write(bool force = FALSE, TToken_string* dati_dist = NULL); //riscrive la distinta int rewrite(TToken_string* dati_dist = NULL){ return write(TRUE, dati_dist); } //rimuove la distinta del tipo e numero passati int remove(char tipodist, long ndist); //restituisce il tipo di distinta const char tipodist() const { return eff(0).get_char(EFF_TIPODIST); } //restituisce il tipo degli effetti della distinta (lienti/ornitori) 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); } //restituisce il numero di distinta const long ndist() const { return eff(0).get_long(EFF_NDIST); } //restituisce il codice valuta della distinta const TString& codval() const { return eff(0).get(EFF_CODVAL); } //restituisce la data distinta della distinta TDate data_dist() const { return eff(0).get_date(EFF_DATADIST); } //restituisce la data cambio della distinta TDate data_cam() const { return eff(0).get_date(EFF_DATACAMBIO); } //restituisce il cambio delle distinta real cambio() const { return eff(0).get_real(EFF_CAMBIO); } //restituisce TRUE se il cambio delle distinta e' contro euro bool contro_euro() const { return eff(0).get_bool(EFF_CONTROEURO); } //restituisce il codice abi di presentazione effetti const TString& abip()const { return eff(0).get(EFF_CODABIP); } //restituisce il codice cab di presentazione effetti const TString& cabp()const { return eff(0).get(EFF_CODCABP); } const TString& progbnp()const { return eff(0).get(EFF_PROGBNP); } // restituisce l'effetto n-esimo TEffetto& operator[](const int index) { return eff(index); } // Ritorna vero se la distinta è stata contabilizzata bool contabilizzata() const; //costruttore di default TDistinta() { } //costruttore distinta del tipo e numero passato TDistinta(const char tipo, const long numero, word lockop = _nolock); //costruttore distinta utilizzando il record passato TDistinta(const TRectype& rec, word lockop = _nolock); //distruttore di default virtual ~TDistinta(); }; #endif//__EF0301_H