Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
Migliorate classi TDoc_key e TRdoc_key


git-svn-id: svn://10.65.10.50/branches/R_10_00@22496 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2011-11-21 11:13:26 +00:00
parent 4a583a7566
commit e747aef1c3
2 changed files with 88 additions and 78 deletions

View File

@ -668,25 +668,25 @@ protected:
virtual TRiepilogo_iva & copy(const TRiepilogo_iva & a); virtual TRiepilogo_iva & copy(const TRiepilogo_iva & a);
public: public:
real imponibile(bool spese = TRUE) const { return _imp + (spese ? _imp_spese : ZERO);} // Imponibile real imponibile(bool spese = true) const { return _imp + (spese ? _imp_spese : ZERO); } // Imponibile
real imposta(bool spese = TRUE) const { return _iva + (spese ? _iva_spese : ZERO);} // Iva real imposta(bool spese = true) const { return _iva + (spese ? _iva_spese : ZERO); } // Iva
real & imp() { return _imp;}; real& imp() { return _imp; }
real & imp_orig() { return _imp_orig;}; real& imp_orig() { return _imp_orig; }
real & imp_spese() { return _imp_spese;}; real& imp_spese() { return _imp_spese; }
real & imp_spese_row() { return _imp_spese_row;}; real& imp_spese_row() { return _imp_spese_row; }
real & iva() { return _iva;}; real& iva() { return _iva; }
real & iva_spese() { return _iva_spese;}; real& iva_spese() { return _iva_spese; }
real & iva_sconto() { return _iva_sconto;}; real& iva_sconto() { return _iva_sconto; }
const real & iva_sconto() const { return _iva_sconto;}; const real & iva_sconto() const { return _iva_sconto; }
real & sconto_perc() { return _sconto_perc; } real& sconto_perc() { return _sconto_perc; }
const real& sconto_perc() const { return _sconto_perc; } const real& sconto_perc() const { return _sconto_perc; }
real & sconto_imp () { return _sconto_imp; } real& sconto_imp () { return _sconto_imp; }
const real & sconto_imp () const { return _sconto_imp; } const real& sconto_imp () const { return _sconto_imp; }
const TCodiceIVA & cod_iva() const { return _codiva;} const TCodiceIVA & cod_iva() const { return _codiva; }
byte tipo(){ return _tipo;}// Tipo (Vedi opzioni per la selzione di filtro nella validate()) byte tipo(){ return _tipo; }// Tipo (Vedi opzioni per la selzione di filtro nella validate())
TRiepilogo_iva& operator = (const TRiepilogo_iva & a) {return copy(a);} TRiepilogo_iva& operator = (const TRiepilogo_iva & a) { return copy(a); }
TRiepilogo_iva(const TCodiceIVA & codiva); TRiepilogo_iva(const TCodiceIVA & codiva);
TRiepilogo_iva(const TRiepilogo_iva & a) {copy(a);} TRiepilogo_iva(const TRiepilogo_iva & a) { copy(a); }
TRiepilogo_iva() : _tipo(0) {} TRiepilogo_iva() : _tipo(0) {}
~TRiepilogo_iva() {}; ~TRiepilogo_iva() {};
}; };
@ -1085,27 +1085,29 @@ public:
//////////////////////// ////////////////////////
//classe TDoc_key //classe TDoc_key
class TDoc_key: public TToken_string class TDoc_key : public TToken_string
{ {
public: public:
const char provv(); virtual TObject* dup() const { return new TDoc_key(*this); }
const int anno();
const char* codnum(); const char provv() const;
const long ndoc(); const int anno() const;
const char* codnum() const;
const long ndoc() const;
void set_provv(const char = 'D'); void set_provv(const char = 'D');
void set_anno(const int anno); void set_anno(const int anno);
void set_codnum(const char* codnum); void set_codnum(const char* codnum);
void set_ndoc(const long ndoc); void set_ndoc(const long ndoc);
TDoc_key& operator= (const char* key){set(key);} TDoc_key& operator= (const char* key) {set(key); }
TDoc_key(const int anno, const TString& codnum, const long ndoc, const char provv = 'D'); TDoc_key(const int anno, const TString& codnum, const long ndoc, const char provv = 'D');
TDoc_key(const TRectype& rec); TDoc_key(const TRectype& rec);
TDoc_key(const char* key):TToken_string(key){} TDoc_key(const char* key):TToken_string(key){}
TDoc_key(const TToken_string& key):TToken_string(key){} TDoc_key(const TToken_string& key):TToken_string(key){}
TDoc_key(const TDoc_key& key):TToken_string(key){} TDoc_key(const TDoc_key& key):TToken_string(key){}
TDoc_key():TToken_string(){} TDoc_key() {}
}; };
///////////////////////// /////////////////////////
@ -1113,21 +1115,23 @@ public:
///////////////////////// /////////////////////////
//classe TRdoc_key //classe TRdoc_key
class TRdoc_key: public TToken_string class TRdoc_key: public TDoc_key
{ {
public: public:
const char provv(); virtual TObject* dup() const { return new TRdoc_key(*this); }
const int anno();
const char* codnum();
const long ndoc();
const int nriga();
TRdoc_key& operator= (const char* key){set(key);} const int nriga() const;
TRdoc_key& operator= (const char* key) { set(key); }
TRdoc_key& operator= (const TToken_string& key) { set(key); }
TRdoc_key& operator= (const TRdoc_key& key) { set(key); }
TRdoc_key(const int anno, const TString& codnum, const long ndoc, const int nriga, const char provv = 'D'); TRdoc_key(const int anno, const TString& codnum, const long ndoc, const int nriga, const char provv = 'D');
TRdoc_key(const char* key):TToken_string(key){} TRdoc_key(const char* key) : TDoc_key(key) {}
TRdoc_key(const TToken_string& key):TToken_string(key){} TRdoc_key(const TToken_string& key) : TDoc_key(key) {}
TRdoc_key(const TRdoc_key& key):TToken_string(key){} TRdoc_key(const TRdoc_key& key) : TDoc_key(key) {}
TRdoc_key(const TRectype& rec);
TRdoc_key() {}
}; };
#endif #endif

View File

@ -5,6 +5,7 @@
#include "velib.h" #include "velib.h"
#include "vepriv.h" #include "vepriv.h"
#include "verig.h" #include "verig.h"
#include "../db/dblib.h" #include "../db/dblib.h"
#include "../mg/mglib.h" #include "../mg/mglib.h"
@ -1071,28 +1072,32 @@ int TFormula_documento::read(const char* codice, const char * expr, bool numexpr
//// TDOC_KEY //// //// TDOC_KEY ////
//////////////////////// ////////////////////////
//CODNUM: metodo che restituisce il codnum dalla TToken_string chiave dei documenti //CODNUM: metodo che restituisce il provv dalla TToken_string chiave dei documenti
const char TDoc_key::provv() const char TDoc_key::provv() const
{ {
return get(0)[0]; return (*this)[0];
} }
//ANNO: metodo che restituisce l'anno dalla TToken_string chiave dei documenti //ANNO: metodo che restituisce l'anno dalla TToken_string chiave dei documenti
const int TDoc_key::anno() const int TDoc_key::anno() const
{ {
return get_int(1); int anno = 0; get(1, anno);
return anno;
} }
//CODNUM: metodo che restituisce il codnum dalla TToken_string chiave dei documenti //CODNUM: metodo che restituisce il codnum dalla TToken_string chiave dei documenti
const char* TDoc_key::codnum() const char* TDoc_key::codnum() const
{ {
return get(2); TString& codnum = get_tmp_string();
get(2, codnum);
return codnum;
} }
//NDOC: metodo che restituisce il numero documento dalla TToken_string chiave dei documenti //NDOC: metodo che restituisce il numero documento dalla TToken_string chiave dei documenti
const long TDoc_key::ndoc() const long TDoc_key::ndoc() const
{ {
return get_int(3); long n = 0; get(3, n);
return n;
} }
//SET_PROVV: metodo che setta il campo provv //SET_PROVV: metodo che setta il campo provv
@ -1130,51 +1135,52 @@ TDoc_key::TDoc_key(const int anno, const TString& codnum, const long ndoc, const
TDoc_key::TDoc_key(const TRectype& rec) TDoc_key::TDoc_key(const TRectype& rec)
{ {
switch (rec.num())
{
case LF_MOVMAG:
add(rec.get_char(MOVMAG_DOCPROVV));
add(rec.get_int(MOVMAG_ANNODOC));
add(rec.get(MOVMAG_CODNUM));
add(rec.get_long(MOVMAG_NUMDOC));
break;
default:
add(rec.get_char(DOC_PROVV)); add(rec.get_char(DOC_PROVV));
add(rec.get_int(DOC_ANNO)); add(rec.get_int(DOC_ANNO));
add(rec.get(DOC_CODNUM)); add(rec.get(DOC_CODNUM));
add(rec.get_long(DOC_NDOC)); add(rec.get_long(DOC_NDOC));
break;
}
} }
///////////////////////// /////////////////////////
//// TRDOC_KEY //// //// TRDOC_KEY ////
///////////////////////// /////////////////////////
//CODNUM: metodo che restituisce il codnum dalla TToken_string chiave dei documenti const int TRdoc_key::nriga() const
const char TRdoc_key::provv()
{ {
return get(0)[0]; int riga = 0; get(4, riga);
} return riga;
//ANNO: metodo che restituisce l'anno dalla TToken_string chiave dei documenti
const int TRdoc_key::anno()
{
return get_int(1);
}
//CODNUM: metodo che restituisce il codnum dalla TToken_string chiave dei documenti
const char* TRdoc_key::codnum()
{
return get(2);
}
//NDOC: metodo che restituisce il numero documento dalla TToken_string chiave dei documenti
const long TRdoc_key::ndoc()
{
return get_int(3);
}
const int TRdoc_key::nriga()
{
return get_int(4);
} }
//metodi costruttori //metodi costruttori
TRdoc_key::TRdoc_key(const int anno, const TString& codnum, const long ndoc, const int nriga, const char provv) TRdoc_key::TRdoc_key(const int anno, const TString& codnum, const long ndoc, const int nriga, const char provv)
: TDoc_key(anno, codnum, ndoc, provv)
{ {
add(provv); add(nriga, 4);
add(anno);
add(codnum);
add(ndoc);
add(nriga);
} }
TRdoc_key::TRdoc_key(const TRectype& rec)
{
switch (rec.num())
{
case LF_RIGHEDOC:
default:
add(rec.get(RDOC_PROVV));
add(rec.get(RDOC_ANNO));
add(rec.get(RDOC_CODNUM));
add(rec.get(RDOC_NDOC));
add(rec.get(RDOC_NRIGA));
break;
}
}