Patch level : 10.0 patch 562

Files correlati     : lv 2 lv3 (lvlib)
Ricompilazione Demo : [ ]
Commento            :
Modificate le qunatità in numeri reali anzichè interi, in modo da poter gestire i decimanli sia sui pacchi che sui buini (FABRIS)


git-svn-id: svn://10.65.10.50/trunk@19828 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-12-22 08:52:32 +00:00
parent db78e2fae0
commit f86c08ca14
10 changed files with 98 additions and 98 deletions

View File

@ -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"));

View File

@ -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));

View File

@ -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');

View File

@ -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);

View File

@ -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)

View File

@ -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

View File

@ -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);
}

View File

@ -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);

View File

@ -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);
}

View File

@ -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){}