From f86c08ca14ba8f486d07f826ad79ce01118db55b Mon Sep 17 00:00:00 2001 From: luca83 Date: Tue, 22 Dec 2009 08:52:32 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=2010.?= =?UTF-8?q?0=20patch=20562=20Files=20correlati=20=20=20=20=20:=20lv=202=20?= =?UTF-8?q?lv3=20(lvlib)=20Ricompilazione=20Demo=20:=20[=20]=20Commento=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20:=20Modificate=20le=20qunatit?= =?UTF-8?q?=C3=A0=20in=20numeri=20reali=20anzich=C3=A8=20interi,=20in=20mo?= =?UTF-8?q?do=20da=20poter=20gestire=20i=20decimanli=20sia=20sui=20pacchi?= =?UTF-8?q?=20che=20sui=20buini=20(FABRIS)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@19828 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv2400.cpp | 8 ++++---- lv/lv2500.cpp | 4 ++-- lv/lv2600.cpp | 42 +++++++++++++++++++-------------------- lv/lv2900.cpp | 6 +++--- lv/lv3100.cpp | 8 ++++---- lv/lv3200.cpp | 30 ++++++++++++++-------------- lv/lv3300.cpp | 2 +- lv/lv3400.cpp | 54 +++++++++++++++++++++++++-------------------------- lv/lvlib.cpp | 24 +++++++++++------------ lv/lvlib.h | 18 ++++++++--------- 10 files changed, 98 insertions(+), 98 deletions(-) diff --git a/lv/lv2400.cpp b/lv/lv2400.cpp index 4ef80a582..bd517c692 100755 --- a/lv/lv2400.cpp +++ b/lv/lv2400.cpp @@ -395,8 +395,8 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, magcli.put(CLIFOGIAC_NRIGA, 1); //leggo il record corrispondente magcli.read(); - long dottmp = magcli.get_long(CLIFOGIAC_DOTTM); - long dotod = magcli.get_long(CLIFOGIAC_DOTOD); + real dottmp = magcli.get_real(CLIFOGIAC_DOTTM); + real dotod = magcli.get_real(CLIFOGIAC_DOTOD); //GESTIONE DOTAZIONE TEMPOARANEA if (tmp && rcont.get_bool(LVRCONDV_RITAUDTTMP) && dottmp > 0) @@ -437,8 +437,8 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, } else { - dottmp -= qta.integer(); - dotod -= qta.integer(); + dottmp -= qta; + dotod -= qta; rdoc.put(RDOC_QTAGG1, qta); //quantità ritirata rdoc.put(RDOC_GENERATA, true); rdoc.put(RDOC_CODAGG1, ini_get_string(CONFIG_DITTA, "lv", "CAULVRITDT")); diff --git a/lv/lv2500.cpp b/lv/lv2500.cpp index 2d034e086..1f8452e85 100755 --- a/lv/lv2500.cpp +++ b/lv/lv2500.cpp @@ -922,8 +922,8 @@ void TFatturazione_lav_app::genera_bolle_nolo(TAssoc_array& cliela, TFatturazion rdoc.put(RDOC_CODART, riga.get(LVRCONDV_CODART)); rdoc.put(RDOC_CODARTMAG, riga.get(LVRCONDV_CODART)); - rdoc.put(RDOC_QTA, 1); - rdoc.put(RDOC_QTAGG1, 1); + rdoc.put(RDOC_QTA, UNO); + rdoc.put(RDOC_QTAGG1, UNO); rdoc.put(RDOC_PREZZO, riga.get_real(LVRCONDV_PREZNOL)); rdoc.put(RDOC_CHECKED, true); rdoc.put(RDOC_UMQTA, riga.get(LVRCONDV_UM)); diff --git a/lv/lv2600.cpp b/lv/lv2600.cpp index 919dc4e59..ecf0ce52b 100755 --- a/lv/lv2600.cpp +++ b/lv/lv2600.cpp @@ -147,56 +147,56 @@ TDocumenti_key::TDocumenti_key(const char* key):TToken_string(key) //classe TQuantita_contate class TQuantita_contate: public TObject { - long _numpezzi; - long _numrotti; + real _numpezzi; + real _numrotti; public: - const long get_pezzi() const; - const long get_rotti() const; + const real get_pezzi() const; + const real get_rotti() const; - void set_pezzi(const long qta); - void set_rotti(const long qta); + void set_pezzi(const real qta); + void set_rotti(const real qta); - void add_pezzi(const long qta); - void add_rotti(const long qta); + void add_pezzi(const real qta); + void add_rotti(const real qta); bool is_empty(); - TQuantita_contate(long pezzi = 0, long rotti = 0); + TQuantita_contate(real pezzi = ZERO, real = ZERO); }; //GET_PEZZI: metodo che restituisce il numero di pezzi contati -const long TQuantita_contate::get_pezzi() const +const real TQuantita_contate::get_pezzi() const { return _numpezzi; } //GET_ROTTI: metodo che restituisce il numero di pezzi rotti contati -const long TQuantita_contate::get_rotti() const +const real TQuantita_contate::get_rotti() const { return _numrotti; } //SET_PEZZI: metodo che setta il numero di pezzi contati -void TQuantita_contate::set_pezzi(const long qta) +void TQuantita_contate::set_pezzi(const real qta) { _numpezzi = qta; } //SET_ROTTI: metodo che setta il numero di pezzi rotti contati -void TQuantita_contate::set_rotti(const long qta) +void TQuantita_contate::set_rotti(const real qta) { _numrotti = qta; } //ADD_PEZZI: metodo che somma i pezzi contati alla quantià che già esisteva -void TQuantita_contate::add_pezzi(const long qta) +void TQuantita_contate::add_pezzi(const real qta) { _numpezzi += qta; } //ADD_PEZZI: metodo che somma i pezzi rotti contati alla quantià che già esisteva -void TQuantita_contate::add_rotti(const long qta) +void TQuantita_contate::add_rotti(const real qta) { _numrotti += qta; } @@ -208,7 +208,7 @@ bool TQuantita_contate::is_empty() } //metodo costruttore -TQuantita_contate::TQuantita_contate(long pezzi, long rotti) +TQuantita_contate::TQuantita_contate(real pezzi, real rotti) { set_pezzi(pezzi); set_rotti(rotti); @@ -776,7 +776,7 @@ void TAcquisizione_lavanderie_app::controlla_documenti(TLog_report& rep, TArtico TDate datadoc = keyart.data(); //recupero i dati dal contenuto del TAssoc_array degli articoli - TQuantita_contate* quantita = new TQuantita_contate(0, 0); + TQuantita_contate* quantita = new TQuantita_contate(ZERO, ZERO); quantita->set_pezzi(qc->get_pezzi()); quantita->set_rotti(qc->get_rotti()); @@ -812,8 +812,8 @@ void TAcquisizione_lavanderie_app::controlla_documenti(TLog_report& rep, TArtico switch (k) { - case K_YES: quantita->add_pezzi(rdoc.get_int(RDOC_QTAGG1)); quantita->add_rotti(rdoc.get_int(RDOC_QTA)); break; //sommo le quantità - case K_NO: quantita->set_pezzi(rdoc.get_int(RDOC_QTAGG1)); quantita->set_rotti(rdoc.get_int(RDOC_QTA)); break; //lascio tutto com'è + case K_YES: quantita->add_pezzi(rdoc.get_real(RDOC_QTAGG1)); quantita->add_rotti(rdoc.get_real(RDOC_QTA)); break; //sommo le quantità + case K_NO: quantita->set_pezzi(rdoc.get_real(RDOC_QTAGG1)); quantita->set_rotti(rdoc.get_real(RDOC_QTA)); break; //lascio tutto com'è default: break; //sostituisco le quantità } break; @@ -849,8 +849,8 @@ void TAcquisizione_lavanderie_app::genera_documenti(TLog_report& rep, TAssoc_arr const TDate datadoc = keydoc.data(); TQuantita_contate* qc = (TQuantita_contate*)itm; - const long qtacon = qc->get_pezzi(); - const long qtarotti = qc->get_rotti(); + const real qtacon = qc->get_pezzi(); + const real qtarotti = qc->get_rotti(); TToken_string key; key.add('C'); diff --git a/lv/lv2900.cpp b/lv/lv2900.cpp index c41372770..78c063849 100755 --- a/lv/lv2900.cpp +++ b/lv/lv2900.cpp @@ -404,7 +404,7 @@ bool TConta_pulito_msk::elabora_file(const TFilename& file, TLog_report& logrep) TString80 codart = riga.mid(50,20); codart.trim(); - long qta = atoi(riga.mid(70, 8)); + real qta = atoi(riga.mid(70, 8)) / CENTO; TDate data(atoi(riga.mid(78, 2)), atoi(riga.mid(80, 2)), atoi(riga.mid(82, 4))); @@ -570,8 +570,8 @@ bool TConta_pulito_msk::genera_documenti(const TFilename& file, TAssoc_array& do magcli.put(CLIFOGIAC_NRIGA, 1); //leggo il record corrispondente magcli.read(); - long dottmp = magcli.get_long(CLIFOGIAC_DOTTM); - long dotod = magcli.get_long(CLIFOGIAC_DOTOD); + real dottmp = magcli.get_real(CLIFOGIAC_DOTTM); + real dotod = magcli.get_real(CLIFOGIAC_DOTOD); //preparo il documento TDocumento& doc = ca.doc(datadoc, codcf); diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index bc07c9872..da5d32371 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -491,12 +491,12 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k) // dmsk.doc2mask(false); const int righe = doc.physical_rows(); sheet.destroy( ); - for (int i = 0; i < righe; i++) + for (int i = 1; i <= righe; i++) { - TRiga_documento & r = doc[i + 1]; + TRiga_documento& r = doc[i]; - doc[i+1].autoload(sheet); - sheet.check_row(i, 0x3); + doc[i].autoload(sheet); + sheet.check_row(i - 1, 0x3); } FOR_EACH_MASK_FIELD(dmsk, i, f) diff --git a/lv/lv3200.cpp b/lv/lv3200.cpp index b2bef0053..b5eef57da 100755 --- a/lv/lv3200.cpp +++ b/lv/lv3200.cpp @@ -266,12 +266,12 @@ void TEvasione_msk::carica_righe() TToken_string& riga = sheet.row(-1); riga.add(rdoc.evaso() ? "X" : "", sheet.cid2index(S_EVASO)); - riga.add(rdoc.codart(), sheet.cid2index(S_CODART)); - riga.add(rdoc.desart(), sheet.cid2index(S_ARTDESCR)); - riga.add(rdoc.causale(), sheet.cid2index(S_CAUSALE)); - riga.add(rdoc.qta_ritirata(), sheet.cid2index(S_RITIRATO)); - riga.add(rdoc.qta_dacons(), sheet.cid2index(S_DACONS)); - riga.add(rdoc.qta_consegnata(), sheet.cid2index(S_CONSEGNATO)); + riga.add(rdoc.codart(), sheet.cid2index(S_CODART)); + riga.add(rdoc.desart(), sheet.cid2index(S_ARTDESCR)); + riga.add(rdoc.causale(), sheet.cid2index(S_CAUSALE)); + riga.add(rdoc.qta_ritirata().string(), sheet.cid2index(S_RITIRATO)); + riga.add(rdoc.qta_dacons().string(), sheet.cid2index(S_DACONS)); + riga.add(rdoc.qta_consegnata().string(), sheet.cid2index(S_CONSEGNATO)); const TRectype& anamag = cache().get(LF_ANAMAG, rdoc.codart()); //recupero i dati di interesse dall'anagrafica di magazzino @@ -521,8 +521,8 @@ void TEvasione_msk::genera_documento() magcli.put(CLIFOGIAC_NRIGA, 1); //leggo il record corrispondente magcli.read(); - long dottmp = magcli.get_long(CLIFOGIAC_DOTTM); - long dotod = magcli.get_long(CLIFOGIAC_DOTOD); + real dottmp = magcli.get_real(CLIFOGIAC_DOTTM); + real dotod = magcli.get_real(CLIFOGIAC_DOTOD); //recupero l'unità di misura principale di quest'articolo TToken_string key; @@ -836,13 +836,13 @@ void TEvasione_msk::annulla_operazioni() TBuono_prelievo_row rdoc(row); TToken_string& riga = sheet.row(-1); - riga.add(rdoc.evaso() ? "X" : "", sheet.cid2index(S_EVASO)); - riga.add(rdoc.codart(), sheet.cid2index(S_CODART)); - riga.add(rdoc.desart(), sheet.cid2index(S_ARTDESCR)); - riga.add(rdoc.causale(), sheet.cid2index(S_CAUSALE)); - riga.add(rdoc.qta_ritirata(), sheet.cid2index(S_RITIRATO)); - riga.add(rdoc.qta_dacons(), sheet.cid2index(S_DACONS)); - riga.add(rdoc.qta_consegnata(), sheet.cid2index(S_CONSEGNATO)); + riga.add(rdoc.evaso() ? "X" : "", sheet.cid2index(S_EVASO)); + riga.add(rdoc.codart(), sheet.cid2index(S_CODART)); + riga.add(rdoc.desart(), sheet.cid2index(S_ARTDESCR)); + riga.add(rdoc.causale(), sheet.cid2index(S_CAUSALE)); + riga.add(rdoc.qta_ritirata().string(), sheet.cid2index(S_RITIRATO)); + riga.add(rdoc.qta_dacons().string(), sheet.cid2index(S_DACONS)); + riga.add(rdoc.qta_consegnata().string(), sheet.cid2index(S_CONSEGNATO)); const TRectype& anamag = cache().get(LF_ANAMAG, rdoc.codart()); //recupero i dati di interesse dall'anagrafica di magazzino diff --git a/lv/lv3300.cpp b/lv/lv3300.cpp index 85177e0b6..dcf9f7853 100755 --- a/lv/lv3300.cpp +++ b/lv/lv3300.cpp @@ -1128,7 +1128,7 @@ void TGestione_buoni_app::elimina_vuote( const TMask& m) FOR_EACH_DOC_ROW_BACK(d, r, row) { - if (row->is_articolo() && row->get_int(RDOC_QTA) == 0 && row->get_int(RDOC_QTAGG1) == 0) + if (row->is_articolo() && row->get_int(RDOC_QTA) == 0 && row->get_real(RDOC_QTAGG1) == ZERO) { d.destroy_row(r,true); } diff --git a/lv/lv3400.cpp b/lv/lv3400.cpp index d5a80b228..b96fc3b4b 100755 --- a/lv/lv3400.cpp +++ b/lv/lv3400.cpp @@ -27,27 +27,27 @@ class TQuantita_riga: public TObject { int _nriga; bool _evaso; - long _qtarit; - long _qtadacon; - long _qtacon; + real _qtarit; + real _qtadacon; + real _qtacon; int _pacchi; public: int get_nriga() const; bool get_evaso() const; - long get_qta_rit() const; - long get_qta_da_con() const; - long get_qta_con() const; + real get_qta_rit() const; + real get_qta_da_con() const; + real get_qta_con() const; int get_pacchi() const; void set_nriga(const int nriga); void set_evaso(const bool evaso); - void set_qta_rit(const long qta); - void set_qta_da_con(const long qta); - void set_qta_con(const long qta); + void set_qta_rit(const real qta); + void set_qta_da_con(const real qta); + void set_qta_con(const real qta); void set_pacchi(const int pacchi); - void add_qta_con(const long qta); + void add_qta_con(const real qta); void add_pacchi(const int pacchi = 1); TQuantita_riga(bool evaso = false, long qtadc = 0, long qtac = 0, int pacchi = 0); @@ -66,19 +66,19 @@ bool TQuantita_riga::get_evaso() const } //GET_QTA_RIT: metodo che restituisce la qunatita ritirata -long TQuantita_riga::get_qta_rit() const +real TQuantita_riga::get_qta_rit() const { return _qtarit; } //GET_QTA_DA_CON: metodo che restituisce la quantità da consegnare -long TQuantita_riga::get_qta_da_con() const +real TQuantita_riga::get_qta_da_con() const { return _qtadacon; } //GET_QTA_CON: metodo che restituisce la quantità consegnata -long TQuantita_riga::get_qta_con() const +real TQuantita_riga::get_qta_con() const { return _qtacon; } @@ -102,19 +102,19 @@ void TQuantita_riga::set_evaso(const bool evaso) } //SET_QTA_RIT: metodo che setta la quantità ritirata -void TQuantita_riga::set_qta_rit(const long qta) +void TQuantita_riga::set_qta_rit(const real qta) { _qtarit = qta; } //SET_QTA_DA_CON: metodo che setta la quantità da consegnare -void TQuantita_riga::set_qta_da_con(const long qta) +void TQuantita_riga::set_qta_da_con(const real qta) { _qtadacon = qta; } //SET_QTA_CON: metodo che setta la quantità consegnata -void TQuantita_riga::set_qta_con(const long qta) +void TQuantita_riga::set_qta_con(const real qta) { _qtacon = qta; } @@ -126,7 +126,7 @@ void TQuantita_riga::set_pacchi(const int pacchi) } //ADD_QTA_CON: metodo che aggiunge un quantitativo di roba alla quantità consegnata -void TQuantita_riga::add_qta_con(const long qta) +void TQuantita_riga::add_qta_con(const real qta) { _qtacon += qta; } @@ -486,8 +486,8 @@ void TEvasione_ter_msk::genera_buono() magcli.put(CLIFOGIAC_NRIGA, 1); //leggo il record corrispondente magcli.read(); - long dottmp = magcli.get_long(CLIFOGIAC_DOTTM); - long dotod = magcli.get_long(CLIFOGIAC_DOTOD); + real dottmp = magcli.get_real(CLIFOGIAC_DOTTM); + real dotod = magcli.get_real(CLIFOGIAC_DOTOD); //recupero l'unità di misura principale di quest'articolo TToken_string key; @@ -754,8 +754,8 @@ void TEvasione_ter_msk::riempi_sheet() { TToken_string& riga = sheet.row(-1); riga.add(chiave.get(0), 0); - riga.add(qr.get_qta_da_con(), 1); - riga.add(qr.get_qta_con(), 2); + riga.add(qr.get_qta_da_con().string(), 1); + riga.add(qr.get_qta_con().string(), 2); } } sheet.force_update(); @@ -774,10 +774,10 @@ void TEvasione_ter_msk::spezza_riga() if((TDate)chiave.get() == oggi && !qr.get_evaso()) { - int qtarit = qr.get_qta_rit(); - int qtadacon = qr.get_qta_da_con(); - int qtacon = qr.get_qta_con(); - int pacchi = qr.get_pacchi(); + real qtarit = qr.get_qta_rit(); + real qtadacon = qr.get_qta_da_con(); + real qtacon = qr.get_qta_con(); + real pacchi = qr.get_pacchi(); qr.set_evaso(true); qr.set_qta_da_con(qtacon); @@ -791,7 +791,7 @@ void TEvasione_ter_msk::spezza_riga() qr1.set_evaso(false); qr1.set_qta_rit(qtadacon - qtacon); qr1.set_qta_da_con(qtadacon - qtacon); - qr1.set_qta_con(0); + qr1.set_qta_con(ZERO); qr1.set_pacchi(0); _ra.add(chiave1, qr1); @@ -851,7 +851,7 @@ void TEvasione_ter_msk::evadi_da_terminale() const TDate oggi(TODAY); const TString80 codart = rp.articolo(); - const long qtapacco = rp.quantita().integer(); + const real qtapacco = rp.quantita(); TToken_string key; key.add(codart); diff --git a/lv/lvlib.cpp b/lv/lvlib.cpp index b24061eea..d7c9d5221 100755 --- a/lv/lvlib.cpp +++ b/lv/lvlib.cpp @@ -942,21 +942,21 @@ const TString& TBuono_prelievo_row::causale() const } //QTA_RITIRATA: metodo che restituisce la quantità ritirata -const long TBuono_prelievo_row::qta_ritirata() const +const real TBuono_prelievo_row::qta_ritirata() const { - return _rdoc.get_long(RDOC_QTAGG1); + return _rdoc.get_real(RDOC_QTAGG1); } //QTA_DACONS: metodo che restituisce la quantità da consegnare -const long TBuono_prelievo_row::qta_dacons() const +const real TBuono_prelievo_row::qta_dacons() const { - return _rdoc.get_long(RDOC_QTA); + return _rdoc.get_real(RDOC_QTA); } //QTA_CONSEGNATA: metodo che restituisce la quantità effettivamente consegnata -const long TBuono_prelievo_row::qta_consegnata() const +const real TBuono_prelievo_row::qta_consegnata() const { - return _rdoc.get_long(RDOC_QTAEVASA); + return _rdoc.get_real(RDOC_QTAEVASA); } //NUM_PACCHI: metodo che restituisce il numero dei pacchi consegnati @@ -1040,19 +1040,19 @@ void TBuono_prelievo_row::set_causale(const char* causale) } //SET_QTA_RITIRATA: metodo che setta la quantità ritirata sulla riga -void TBuono_prelievo_row::set_qta_ritirata(const long qta) +void TBuono_prelievo_row::set_qta_ritirata(const real qta) { _rdoc.put(RDOC_QTAGG1, qta); } //SET_QTA_DACONS: metodo che setta la quyantità da consegnare -void TBuono_prelievo_row::set_qta_dacons(const long qta) +void TBuono_prelievo_row::set_qta_dacons(const real qta) { _rdoc.put(RDOC_QTA, qta); } //SET_QTA_CONSEGNATA: metodo che setta la quantita consegnata -void TBuono_prelievo_row::set_qta_consegnata(const long qta) +void TBuono_prelievo_row::set_qta_consegnata(const real qta) { _rdoc.put(RDOC_QTAEVASA, qta); } @@ -1095,13 +1095,13 @@ void TBuono_prelievo_row::set_magc(const char* magc) } //SET_CONG_PRE: metodo che setta il valore del conguaglio precedente -void TBuono_prelievo_row::set_cong_pre(const long qtacong) +void TBuono_prelievo_row::set_cong_pre(const real qtacong) { _rdoc.put("CONGPRE", qtacong); } //SET_CONG_ATT: metodo che setta il valore del conguaglio attuale -void TBuono_prelievo_row::set_cong_att(const long qtacong) +void TBuono_prelievo_row::set_cong_att(const real qtacong) { _rdoc.put("CONGATT", qtacong); } @@ -1129,7 +1129,7 @@ void TBuono_prelievo_row::set_dataeva(const TDate& data) } //ADD_QTA_CONSEGNATA: metodo che somma una quantita alla quantità presente in una riga documento -void TBuono_prelievo_row::add_qta_consegnata(const long qta) +void TBuono_prelievo_row::add_qta_consegnata(const real qta) { _rdoc.add(RDOC_QTAEVASA, qta); } diff --git a/lv/lvlib.h b/lv/lvlib.h index ff7153b18..bf4cd71a6 100755 --- a/lv/lvlib.h +++ b/lv/lvlib.h @@ -252,9 +252,9 @@ public: const TString& codart() const; const TString& desart() const; const TString& causale() const; - const long qta_ritirata() const; - const long qta_dacons() const; - const long qta_consegnata() const; + const real qta_ritirata() const; + const real qta_dacons() const; + const real qta_consegnata() const; const int num_pacchi() const; const real prezzo() const; const long cong_pre() const; @@ -267,22 +267,22 @@ public: void set_codart(const char* codart); void set_desart(const TString& desart); void set_causale(const char* causale); - void set_qta_ritirata(const long qta); - void set_qta_dacons(const long qta); - void set_qta_consegnata(const long qta); + void set_qta_ritirata(const real qta); + void set_qta_dacons(const real qta); + void set_qta_consegnata(const real qta); void set_num_pacchi(const int numpacchi); void set_codiva(const char* codiva); void set_um(const char* um); void set_prezzo(const real prezzo); void set_mag(const char* mag); void set_magc(const char* magc); - void set_cong_pre(const long qtacong); - void set_cong_att(const long qtacong); + void set_cong_pre(const real qtacong); + void set_cong_att(const real qtacong); void set_rifbcon(const TToken_string& keybcon); void set_rifbrit(const TToken_string& keybrit); void set_dataeva(const TDate& data); - void add_qta_consegnata(const long qta); + void add_qta_consegnata(const real qta); void add_pacchi(const int nmr = 1); TBuono_prelievo_row(TRiga_documento& rdoc):_rdoc(rdoc){}