From cf2a2bb9f88841098757cd47b9debd2defd9f5e9 Mon Sep 17 00:00:00 2001 From: guy Date: Tue, 22 Apr 2003 13:59:34 +0000 Subject: [PATCH] Patch level : 2.0 nopatch Files correlati : Ricompilazione Demo : [ ] Commento : Tolta vecchia roba commentata git-svn-id: svn://10.65.10.50/trunk@11040 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/velib.h | 11 +---- ve/velib01.cpp | 129 ++++--------------------------------------------- ve/velib02.cpp | 24 +++------ 3 files changed, 20 insertions(+), 144 deletions(-) diff --git a/ve/velib.h b/ve/velib.h index 8e2410a72..4a92d4a19 100755 --- a/ve/velib.h +++ b/ve/velib.h @@ -71,13 +71,7 @@ class TCache_articoli; bool scontoexpr2perc(const char * exp, bool signal , TString & goodexp, real & val_perc ); -// velib01 -/*real lordo2netto(real& lordo, const TString& codiva, int ndec); -real netto2lordo(const real& netto, const TString& codiva, int ndec); -real lordo2netto(real& lordo, const real& iva, int ndec); -real netto2lordo(const real& netto, const real& iva, int ndec); */ real prezzo_scontato(const real& prezzo, const char * sconto); -/*real iva(real imponibile, const TIVA & codiva,int ndec); */ bool ora_hndl(TMask_field& field, KEY key); bool totdoc_hndl(TMask_field& field, KEY key); @@ -382,8 +376,7 @@ class TTipo_riga_documento : public TRectype // velib02 TString16 _field_provv; TString16 _field_qta, _field_qtaevasa; // Veri campi Quantità e Quantità Evasa - int _decrp; - int _incrp; + int _decrp, _incrp; protected: void read_formule(); @@ -422,7 +415,7 @@ public: int read(const char* tiporig); TTipo_riga_documento(const char* tiporig = NULL); TTipo_riga_documento(const TRectype& rec); - virtual ~TTipo_riga_documento(); + virtual ~TTipo_riga_documento() { } }; diff --git a/ve/velib01.cpp b/ve/velib01.cpp index 7161bdc0d..ab687922a 100755 --- a/ve/velib01.cpp +++ b/ve/velib01.cpp @@ -1,5 +1,3 @@ -#include - #include "velib.h" ///////////////////////////////////////////////////////////// @@ -46,17 +44,20 @@ int TCodice_numerazione::read(const char* codnum) // TSpesa_prest ///////////////////////////////////////////////////////////// -HIDDEN const real CENTO(100.0); // costante per evitare la chiamata dei costruttori real tante volte - TSpesa_prest::TSpesa_prest(const char* codice, char tipo) : TRectype(LF_TAB) { const bool spesa = tipo == RIGA_SPESEDOC; - settab(spesa ? "SPP" : "PRS"); if (codice && *codice) - if (read(codice) != NOERR) + { + const int err = read(codice); +#ifdef DBG + if (err != NOERR) error_box(spesa ? "Spesa %s assente" : "Prestazione %s assente", codice); +#endif + + } } TSpesa_prest::TSpesa_prest(const TRectype& rec) @@ -66,107 +67,11 @@ TSpesa_prest::TSpesa_prest(const TRectype& rec) int TSpesa_prest::read(const char* codice) { - zero(); - TTable t(get("COD")); - put("CODTAB", codice); - TRectype r(*this); - int err = TRectype::read(t); - if (err != NOERR) - *this = r; - return err; + const TString8 cod = get("COD"); + *this = cache().get(cod, codice); + return empty() ? _iskeynotfound : NOERR; } -/*TIVA::TIVA(const char* codice) - : TRectype(LF_TABCOM) -{ - settab("IVA"); - if (codice && *codice) - read(codice); -} - -TIVA::TIVA(const TRectype& rec) - : TRectype(rec) -{ -} - -int TIVA::read(const char* codice) -{ - TTable t("%IVA"); - put("CODTAB", codice); - int err = TRectype::read(t); - if (err != NOERR) - yesnofatal_box("Codice IVA assente : %s", codice); - return err; -} - -/////////////////////////////////////////////////////////// -// Funzioni per il calcolo dei prezzi netti/lordi -/////////////////////////////////////////////////////////// - - real lordo2netto(real& lordo, const TString& codiva, int ndec) -{ - TTable tabiva("%IVA"); - real aliquota = 0.0; - - tabiva.put("CODTAB", codiva); - if (tabiva.read() == NOERR) aliquota = tabiva.get_real("R0"); - - return lordo2netto(lordo,aliquota, ndec); -} - -real netto2lordo(const real& netto, const TString& codiva, int ndec) -{ - TTable tabiva("%IVA"); - real aliquota = 0.0; - - tabiva.put("CODTAB", codiva); - if (tabiva.read() == NOERR) aliquota = tabiva.get_real("R0"); - - return netto2lordo(netto,aliquota, ndec); -} - -real lordo2netto(real& lordo, const real& iva, int ndec) -{ - real netto; - real imposta = 0.0; - real imposta_rec = 0.0; - if (!iva.is_zero()) - { - imposta = (lordo * iva) / (iva + 100.0); // Calcola l'imposta... - if (imposta < ZERO) - imposta.floor(ndec); - else - imposta.ceil(ndec); - } - netto = lordo - imposta; // Questo e' l'importo netto - imposta_rec = (netto * iva) / 100.0; // Ricalcola l'imposta con il nuovo imponibile - if (imposta_rec < ZERO) - imposta_rec.floor(ndec); - else - imposta_rec.ceil(ndec); - if (imposta != imposta_rec) // In questo caso corregge l'importo lordo - lordo = netto + imposta_rec; - return netto; -} - -real netto2lordo(const real& netto, const real& iva, int ndec) -{ - real imposta; - if (!iva.is_zero()) - { - imposta = (netto * iva) / 100.0; // Calcola l'imposta - if (ndec < 20) - { - if(imposta < ZERO) - imposta.floor(ndec); - else - imposta.ceil(ndec); - } - } - const real lordo = imposta + netto; // prezzo lordo - return lordo; -} */ - bool scontoexpr2perc(const char * exp, bool signal , TString & goodexp, real & val_perc ) { bool valid = TRUE; @@ -272,17 +177,3 @@ real prezzo_scontato(const real& prezzo, const char * sconto) return scontato; } -/* real iva(real imponibile, const TIVA & iva,int ndec) -{ - real val = imponibile * iva.aliquota() / 100.0; - - if (ndec < 20) - { - if (val < ZERO) - val.floor(ndec); - else - val.ceil(ndec); - } - return val; -} */ - diff --git a/ve/velib02.cpp b/ve/velib02.cpp index 949fdb268..5aac931ed 100755 --- a/ve/velib02.cpp +++ b/ve/velib02.cpp @@ -1,5 +1,3 @@ -#include -#include #include #include "velib.h" @@ -65,20 +63,14 @@ TTipo_riga_documento::TTipo_riga_documento(const TRectype& rec) read_formule(); } -TTipo_riga_documento::~TTipo_riga_documento() -{ -} - int TTipo_riga_documento::read(const char* tiporig) { - TTable t("%TRI"); - put("CODTAB", tiporig); - int err = TRectype::read(t); - if (err == NOERR) - read_formule(); - else + *this = cache().get("%TRI", tiporig); + if (empty()) yesnofatal_box("Tipo riga documento errato: %s", tiporig); - return err; + else + read_formule(); + return NOERR; } void TTipo_riga_documento::add_formula_if_needed(TConfig& profile, TString& variable, @@ -505,13 +497,13 @@ real TRiga_documento::importo(bool scontato, bool lordo, int ndec) const importo = prezzo(scontato, doc_al_lordo ? TRUE : lordo, ndec); break; case _percentuale: - importo = r1 * get_real(RDOC_QTA) / 100; + importo = r1 * get_real(RDOC_QTA) / CENTO; break; case _scontoimp: importo = -prezzo(FALSE, doc_al_lordo ? TRUE : lordo, ndec); break; case _scontoperc: - importo = doc().basesconto() * (r1 - 1.0); + importo = doc().basesconto() * (r1 - UNO); break; default: break; @@ -594,7 +586,7 @@ real TRiga_documento::provvigione(int ndec) const val *= netto_testa; } - val *= get_real(RDOC_PERCPROV) / 100.0; + val *= get_real(RDOC_PERCPROV) / CENTO; } val.round(ndec); return val;