Patch level : 10.0 patch ???
Files correlati : lb1 lv3 lvlib Ricompilazione Demo : [ ] Commento : Correzioni segnalazioni di Paolo sugli inventari git-svn-id: svn://10.65.10.50/trunk@20475 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
cf53c80c30
commit
4bfbd0884a
@ -5,6 +5,7 @@
|
||||
#include <reprint.h>
|
||||
|
||||
#include "lv1300a.h"
|
||||
#include "lvlib.h"
|
||||
#include "../ve/velib.h"
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -106,11 +107,77 @@ class TStampa_inv_app: public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
void elabora(const TMask& mask, const char action) const;
|
||||
void sistema_magazzino_pacchi(TAssoc_array& documenti);
|
||||
void elabora(const TMask& mask, const char action);
|
||||
};
|
||||
|
||||
void TStampa_inv_app::elabora(const TMask& mask, const char action) const
|
||||
//SISTEMA_MAGAZZINO_PACCHImetodo che sistema l'elenco dei pacchi,
|
||||
//eliminando quelli che effettivamente non ci sono
|
||||
void TStampa_inv_app::sistema_magazzino_pacchi(TAssoc_array& documenti)
|
||||
{
|
||||
TLocalisamfile pacchi(LF_PACCHI);
|
||||
TAssoc_array arpacchi;
|
||||
|
||||
//Scorro tutti i documenti che sto stampando; per ognuno recupero l'elenco dei pacchi
|
||||
//pistolati raggruppandoli per codart
|
||||
FOR_EACH_ASSOC_OBJECT(documenti, obj, key, itm)
|
||||
{
|
||||
TDoc_key kdoc(key);
|
||||
|
||||
TDoc_inventario inv(kdoc);
|
||||
for (int i = 1; i <= inv.rows(); i++)
|
||||
{
|
||||
TDoc_inventario_row rinv(inv[i]);
|
||||
const TString& codart = rinv.codart();
|
||||
const TToken_string& codpacchi = rinv.cod_pacchi();
|
||||
|
||||
if(arpacchi.is_key(codart))
|
||||
{
|
||||
TToken_string& tmp = *(TToken_string*)arpacchi.objptr(codart);
|
||||
tmp.add(codpacchi);
|
||||
}
|
||||
else
|
||||
arpacchi.add(codart, codpacchi);
|
||||
}
|
||||
}
|
||||
|
||||
//scorro l'elenco dei pacchi che mi sono appena costruito, separando i vari codioci dei pacchi
|
||||
FOR_EACH_ASSOC_OBJECT(arpacchi, obj1, key1, itm1)
|
||||
{
|
||||
TAssoc_array pa;
|
||||
TString16 codart(key1);
|
||||
TToken_string& codpacchi = *(TToken_string*)arpacchi.objptr(codart);
|
||||
|
||||
//separo i vari codici dei pacchi
|
||||
for(int i = 0; i < codpacchi.items(); i++)
|
||||
{
|
||||
TString16 str = codpacchi.get(i);
|
||||
pa.add(str, str);
|
||||
}
|
||||
|
||||
//cerco tutti i pacchi a magazzino di un codart
|
||||
TString query;
|
||||
query << "USE PACCHI KEY 3\n"
|
||||
<< "SELECT (NDOC=0)&&(CODCF=0)&&(MGNUMREG>0)\n"
|
||||
<< "FROM CODART=\"" << codart << "\"\n"
|
||||
<< "TO CODART=\"" << codart << "\"\n";
|
||||
TISAM_recordset paxcodart(query);
|
||||
|
||||
//elimino i pacchi che non sono stati pistolati
|
||||
for(bool ok = paxcodart.move_first(); ok; ok = paxcodart.move_next())
|
||||
{
|
||||
TRiga_pacco rp(paxcodart.cursor()->curr());
|
||||
if(!pa.is_key(rp.codpacco()))
|
||||
rp.remove(pacchi);
|
||||
}
|
||||
}
|
||||
pacchi.rewrite();
|
||||
}
|
||||
|
||||
void TStampa_inv_app::elabora(const TMask& mask, const char action)
|
||||
{
|
||||
const char defono = mask.get_bool(F_STAMPADEF) ? 'D' : 'P';
|
||||
TAssoc_array documenti;
|
||||
TStampa_inv_set inventari(mask);
|
||||
|
||||
TCursor* c = inventari.cursor();
|
||||
@ -133,7 +200,7 @@ void TStampa_inv_app::elabora(const TMask& mask, const char action) const
|
||||
ofstream outf(tmp);
|
||||
outf << "[Transaction]" << endl; // Transaction header
|
||||
outf << "Action=" << action << endl; // 'S'tampa o 'A'nteprima
|
||||
outf << "Mode=D" << endl; // Definitive (always?)
|
||||
outf << "Mode=" << defono << endl; // 'D'efinitivo o 'P'rovvisorio
|
||||
outf << "NoPrintDlg=X" << endl; // Dont' prompt the user with the print dialog
|
||||
outf << endl;
|
||||
outf << "[33]" << endl; // Transaction body
|
||||
@ -142,9 +209,11 @@ void TStampa_inv_app::elabora(const TMask& mask, const char action) const
|
||||
{
|
||||
outf << "Doc(" << (nx++) << ")=";
|
||||
outf << chiavedoc << row->get(1) << endl;
|
||||
TDoc_key kdoc(data_from.year(), cod_num, row->get_int(1));
|
||||
documenti.add(kdoc, kdoc);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (tmp.exist())
|
||||
{
|
||||
TString cmdline; cmdline << "ve1 -2 -i" << tmp;
|
||||
@ -152,6 +221,9 @@ void TStampa_inv_app::elabora(const TMask& mask, const char action) const
|
||||
app.run();
|
||||
tmp.fremove();
|
||||
}
|
||||
|
||||
if(!documenti.empty() && mask.get_bool(F_STAMPADEF))
|
||||
sistema_magazzino_pacchi(documenti);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,4 +8,5 @@
|
||||
#define F_DANDOC 207
|
||||
#define F_ANDOC 208
|
||||
#define F_DADATA 209
|
||||
#define F_ADATA 210
|
||||
#define F_ADATA 210
|
||||
#define F_STAMPADEF 211
|
@ -137,6 +137,11 @@ BEGIN
|
||||
WARNING "La data finale deve essere successiva a quella iniziale"
|
||||
END
|
||||
|
||||
BOOLEAN F_STAMPADEF
|
||||
BEGIN
|
||||
PROMPT 48 10 "Stampa in definitiva"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
225
lv/lv3700.cpp
225
lv/lv3700.cpp
@ -5,217 +5,6 @@
|
||||
#include "lvlib.h"
|
||||
|
||||
#include "lv3700a.h"
|
||||
|
||||
///////////////////////////////////
|
||||
//// TDOC_INVENTARIO_ROW ////
|
||||
///////////////////////////////////
|
||||
|
||||
//Classe TDoc_inventario_row
|
||||
class TDoc_inventario_row: public TObject
|
||||
{
|
||||
TRiga_documento& _rinv;
|
||||
public:
|
||||
const TString& codart() const;
|
||||
const TString& desart() const;
|
||||
const real qta() const;
|
||||
const TString& um() const;
|
||||
const int num_pacchi() const;
|
||||
const TToken_string& cod_pacchi() const;
|
||||
const TString& magazzino() const;
|
||||
const TString& magazzinoc() const;
|
||||
|
||||
void set_codart(const char* codart);
|
||||
void set_desart(const TString& desart);
|
||||
void set_qta(const real qta);
|
||||
void set_um(const char* um);
|
||||
void set_num_pacchi(const int numpacchi);
|
||||
void set_cod_pacchi(const char* codpacchi);
|
||||
void set_magazzino(const char* mag);
|
||||
void set_magazzinoc(const char* magc);
|
||||
|
||||
TDoc_inventario_row(TRiga_documento& rinv):_rinv(rinv){}
|
||||
};
|
||||
|
||||
//CODART: metodo che restituisce il codice articolo della riga documento
|
||||
const TString& TDoc_inventario_row::codart() const
|
||||
{
|
||||
return _rinv.get(RDOC_CODART);
|
||||
}
|
||||
|
||||
//DESART: metodo che restiruisce la descrizione dell'articolo
|
||||
const TString& TDoc_inventario_row::desart() const
|
||||
{
|
||||
TString& str = get_tmp_string();
|
||||
str = _rinv.get(RDOC_DESCR);
|
||||
|
||||
if (_rinv.get_bool(RDOC_DESCLUNGA))
|
||||
str << _rinv.get(RDOC_DESCEST);
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
//QTA: metodo che restiruisce la quantità salvata sulla riga
|
||||
const real TDoc_inventario_row::qta() const
|
||||
{
|
||||
return _rinv.get_real(RDOC_QTA);
|
||||
}
|
||||
|
||||
//UM: metodo che restiruisce l'unità di misura utilizzata sulla riga documento
|
||||
const TString& TDoc_inventario_row::um() const
|
||||
{
|
||||
return _rinv.get(RDOC_UMQTA);
|
||||
}
|
||||
|
||||
//NUM_PACCHI: metodo che resituisce il numero dei pacchi presenti per quell'articolo
|
||||
const int TDoc_inventario_row::num_pacchi() const
|
||||
{
|
||||
return _rinv.get_int(RDOC_NCOLLI);
|
||||
}
|
||||
|
||||
//COD_PACCHI: metodo che restiuisce l'elenco dei pacchi salvati su quella riga
|
||||
const TToken_string& TDoc_inventario_row::cod_pacchi() const
|
||||
{
|
||||
TToken_string& tmp = get_tmp_string();
|
||||
tmp = _rinv.get("CODPACCHI");
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
//MAGAZZINO: metodo che restituisce il codice del magazzino/deposito
|
||||
const TString& TDoc_inventario_row::magazzino() const
|
||||
{
|
||||
return _rinv.get(RDOC_CODMAG);
|
||||
}
|
||||
|
||||
//MAGAZZINOC: metodo che restituisce il codice del magazzino/deposito collegato
|
||||
const TString& TDoc_inventario_row::magazzinoc() const
|
||||
{
|
||||
return _rinv.get(RDOC_CODMAGC);
|
||||
}
|
||||
|
||||
//SET_CODART: metodo che setta il codice articolo
|
||||
void TDoc_inventario_row::set_codart(const char* codart)
|
||||
{
|
||||
_rinv.put(RDOC_CODART, codart);
|
||||
_rinv.put(RDOC_CODARTMAG, codart);
|
||||
}
|
||||
|
||||
//SET_DESART: metodo che setta la descrizione
|
||||
void TDoc_inventario_row::set_desart(const TString& desart)
|
||||
{
|
||||
if (desart.len() > 50)
|
||||
{
|
||||
_rinv.put(RDOC_DESCR, desart.left(50));
|
||||
_rinv.put(RDOC_DESCLUNGA, true);
|
||||
_rinv.put(RDOC_DESCEST, desart.mid(50));
|
||||
}
|
||||
else
|
||||
_rinv.put(RDOC_DESCR, desart);
|
||||
}
|
||||
|
||||
//SET_QTA_RITIRATA: metodo che setta la quantità ritirata sulla riga
|
||||
void TDoc_inventario_row::set_qta(const real qta)
|
||||
{
|
||||
_rinv.put(RDOC_QTA, qta);
|
||||
}
|
||||
|
||||
//SET_UM: metodo che setta l'unità di misura
|
||||
void TDoc_inventario_row::set_um(const char* um)
|
||||
{
|
||||
_rinv.put(RDOC_UMQTA, um);
|
||||
}
|
||||
|
||||
//SET_NUM_PACCHI: metodo che setta il numero dei pacchi
|
||||
void TDoc_inventario_row::set_num_pacchi(const int numpacchi)
|
||||
{
|
||||
_rinv.put(RDOC_NCOLLI, numpacchi);
|
||||
}
|
||||
|
||||
//SET_COD_PACCHI: metodo che setta l'elenco dei pacchi salvati su quella riga
|
||||
void TDoc_inventario_row::set_cod_pacchi(const char* codpacchi)
|
||||
{
|
||||
_rinv.put("CODPACCHI", codpacchi);
|
||||
}
|
||||
|
||||
//SET_MAGAZZINO: metodo che setta il codice del magazzino/deposito
|
||||
void TDoc_inventario_row::set_magazzino(const char* mag)
|
||||
{
|
||||
_rinv.put(RDOC_CODMAG, mag);
|
||||
}
|
||||
|
||||
//SET_MAGAZZINOC: metodo che setta il codice del magazzino/deposito collegato
|
||||
void TDoc_inventario_row::set_magazzinoc(const char* magc)
|
||||
{
|
||||
_rinv.put(RDOC_CODMAGC, magc);
|
||||
}
|
||||
|
||||
///////////////////////////////
|
||||
//// TDOC_INVENTARIO ////
|
||||
///////////////////////////////
|
||||
|
||||
//Classe TDoc_inventario
|
||||
class TDoc_inventario: public TDocumento
|
||||
{
|
||||
public:
|
||||
const TToken_string& chiave() const;
|
||||
const TDate datadoc() const;
|
||||
|
||||
TDoc_inventario_row find_or_create_row(const char* codart);
|
||||
|
||||
void set_difinv(const bool difinv = true);
|
||||
|
||||
TDoc_inventario& operator= (const TDoc_inventario dinv){dinv;}
|
||||
|
||||
TDoc_inventario(TDoc_key& key): TDocumento(key.provv(), key.anno(), key.codnum(), key.ndoc()){};
|
||||
TDoc_inventario(TDoc_inventario& dinv): TDocumento(dinv){};
|
||||
};
|
||||
|
||||
//CHIAVE: metodo che restituisce la chiave del documento
|
||||
const TToken_string& TDoc_inventario::chiave() const
|
||||
{
|
||||
TToken_string& k = get_tmp_string();
|
||||
k.add(get(DOC_PROVV));
|
||||
k.add(get(DOC_ANNO));
|
||||
k.add(get(DOC_CODNUM));
|
||||
k.add(get(DOC_NDOC));
|
||||
return k;
|
||||
}
|
||||
|
||||
//DATADOC: metodo che restiruisce la data documento
|
||||
const TDate TDoc_inventario::datadoc() const
|
||||
{
|
||||
return get_date(DOC_DATADOC);
|
||||
}
|
||||
|
||||
//FIND_OR_CREATE_ROW: metodo che cerca una riga con un certo codart e se non esiste la crea
|
||||
TDoc_inventario_row TDoc_inventario::find_or_create_row(const char* codart)
|
||||
{
|
||||
//scorro tutte le righe documento; se ne trovo una con quel codart
|
||||
//allora la restituisco
|
||||
for(int i = 1; i <= rows(); i++)
|
||||
{
|
||||
TRiga_documento& row = (*(TDocumento*)this)[i];
|
||||
const TString& cod = row.get(RDOC_CODART);
|
||||
|
||||
if(cod == codart)
|
||||
{
|
||||
TDoc_inventario_row rinv(row);
|
||||
return rinv;
|
||||
}
|
||||
}
|
||||
|
||||
//se sono arrivato qui non ho trovato neanche una riga con quel codart;
|
||||
//in queto caso ne aggiungo una
|
||||
TRiga_documento& row = (*(TDocumento*)this).new_row("21");
|
||||
TDoc_inventario_row rinv(row);
|
||||
return rinv;
|
||||
}
|
||||
|
||||
void TDoc_inventario::set_difinv(const bool difinv)
|
||||
{
|
||||
put("DIFFINV", difinv);
|
||||
}
|
||||
|
||||
///////////////////////////////
|
||||
//// TPACCHI_CONTATI ////
|
||||
///////////////////////////////
|
||||
@ -513,6 +302,20 @@ void TInventario_ter_msk::inventario_da_terminale()
|
||||
else
|
||||
{
|
||||
//leggo i dati di interesse dal pacco
|
||||
if(rp.is_associato())
|
||||
{
|
||||
warning_box(TR("Il pacco pistolato è un pacco a cliente"));
|
||||
return;
|
||||
}
|
||||
|
||||
TToken_string tmp = rp.rigabolla();
|
||||
if(tmp.get_long(3) > 0)
|
||||
{
|
||||
warning_box(TR("Il pacco pistolato è già associato a un buono"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
TString80 codart = rp.articolo();
|
||||
const real qtapacco = rp.quantita();
|
||||
|
||||
|
166
lv/lvlib.cpp
166
lv/lvlib.cpp
@ -1719,3 +1719,169 @@ bool TLV_report::set_recordset(const TString& sql)
|
||||
return TDocument_report::set_recordset(sql);
|
||||
}
|
||||
|
||||
///////////////////////////////
|
||||
//// TDOC_INVENTARIO ////
|
||||
///////////////////////////////
|
||||
|
||||
//CHIAVE: metodo che restituisce la chiave del documento
|
||||
const TToken_string& TDoc_inventario::chiave() const
|
||||
{
|
||||
TToken_string& k = get_tmp_string();
|
||||
k.add(get(DOC_PROVV));
|
||||
k.add(get(DOC_ANNO));
|
||||
k.add(get(DOC_CODNUM));
|
||||
k.add(get(DOC_NDOC));
|
||||
return k;
|
||||
}
|
||||
|
||||
//DATADOC: metodo che restiruisce la data documento
|
||||
const TDate TDoc_inventario::datadoc() const
|
||||
{
|
||||
return get_date(DOC_DATADOC);
|
||||
}
|
||||
|
||||
//FIND_OR_CREATE_ROW: metodo che cerca una riga con un certo codart e se non esiste la crea
|
||||
TDoc_inventario_row TDoc_inventario::find_or_create_row(const char* codart)
|
||||
{
|
||||
//scorro tutte le righe documento; se ne trovo una con quel codart
|
||||
//allora la restituisco
|
||||
for(int i = 1; i <= rows(); i++)
|
||||
{
|
||||
TRiga_documento& row = (*(TDocumento*)this)[i];
|
||||
const TString& cod = row.get(RDOC_CODART);
|
||||
|
||||
if(cod == codart)
|
||||
{
|
||||
TDoc_inventario_row rinv(row);
|
||||
return rinv;
|
||||
}
|
||||
}
|
||||
|
||||
//se sono arrivato qui non ho trovato neanche una riga con quel codart;
|
||||
//in queto caso ne aggiungo una
|
||||
TRiga_documento& row = (*(TDocumento*)this).new_row("21");
|
||||
TDoc_inventario_row rinv(row);
|
||||
return rinv;
|
||||
}
|
||||
|
||||
void TDoc_inventario::set_difinv(const bool difinv)
|
||||
{
|
||||
put("DIFFINV", difinv);
|
||||
}
|
||||
|
||||
///////////////////////////////////
|
||||
//// TDOC_INVENTARIO_ROW ////
|
||||
///////////////////////////////////
|
||||
|
||||
//CODART: metodo che restituisce il codice articolo della riga documento
|
||||
const TString& TDoc_inventario_row::codart() const
|
||||
{
|
||||
return _rinv.get(RDOC_CODART);
|
||||
}
|
||||
|
||||
//DESART: metodo che restiruisce la descrizione dell'articolo
|
||||
const TString& TDoc_inventario_row::desart() const
|
||||
{
|
||||
TString& str = get_tmp_string();
|
||||
str = _rinv.get(RDOC_DESCR);
|
||||
|
||||
if (_rinv.get_bool(RDOC_DESCLUNGA))
|
||||
str << _rinv.get(RDOC_DESCEST);
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
//QTA: metodo che restiruisce la quantità salvata sulla riga
|
||||
const real TDoc_inventario_row::qta() const
|
||||
{
|
||||
return _rinv.get_real(RDOC_QTA);
|
||||
}
|
||||
|
||||
//UM: metodo che restiruisce l'unità di misura utilizzata sulla riga documento
|
||||
const TString& TDoc_inventario_row::um() const
|
||||
{
|
||||
return _rinv.get(RDOC_UMQTA);
|
||||
}
|
||||
|
||||
//NUM_PACCHI: metodo che resituisce il numero dei pacchi presenti per quell'articolo
|
||||
const int TDoc_inventario_row::num_pacchi() const
|
||||
{
|
||||
return _rinv.get_int(RDOC_NCOLLI);
|
||||
}
|
||||
|
||||
//COD_PACCHI: metodo che restiuisce l'elenco dei pacchi salvati su quella riga
|
||||
const TToken_string& TDoc_inventario_row::cod_pacchi() const
|
||||
{
|
||||
TToken_string& tmp = get_tmp_string();
|
||||
tmp = _rinv.get("CODPACCHI");
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
//MAGAZZINO: metodo che restituisce il codice del magazzino/deposito
|
||||
const TString& TDoc_inventario_row::magazzino() const
|
||||
{
|
||||
return _rinv.get(RDOC_CODMAG);
|
||||
}
|
||||
|
||||
//MAGAZZINOC: metodo che restituisce il codice del magazzino/deposito collegato
|
||||
const TString& TDoc_inventario_row::magazzinoc() const
|
||||
{
|
||||
return _rinv.get(RDOC_CODMAGC);
|
||||
}
|
||||
|
||||
//SET_CODART: metodo che setta il codice articolo
|
||||
void TDoc_inventario_row::set_codart(const char* codart)
|
||||
{
|
||||
_rinv.put(RDOC_CODART, codart);
|
||||
_rinv.put(RDOC_CODARTMAG, codart);
|
||||
}
|
||||
|
||||
//SET_DESART: metodo che setta la descrizione
|
||||
void TDoc_inventario_row::set_desart(const TString& desart)
|
||||
{
|
||||
if (desart.len() > 50)
|
||||
{
|
||||
_rinv.put(RDOC_DESCR, desart.left(50));
|
||||
_rinv.put(RDOC_DESCLUNGA, true);
|
||||
_rinv.put(RDOC_DESCEST, desart.mid(50));
|
||||
}
|
||||
else
|
||||
_rinv.put(RDOC_DESCR, desart);
|
||||
}
|
||||
|
||||
//SET_QTA_RITIRATA: metodo che setta la quantità ritirata sulla riga
|
||||
void TDoc_inventario_row::set_qta(const real qta)
|
||||
{
|
||||
_rinv.put(RDOC_QTA, qta);
|
||||
}
|
||||
|
||||
//SET_UM: metodo che setta l'unità di misura
|
||||
void TDoc_inventario_row::set_um(const char* um)
|
||||
{
|
||||
_rinv.put(RDOC_UMQTA, um);
|
||||
}
|
||||
|
||||
//SET_NUM_PACCHI: metodo che setta il numero dei pacchi
|
||||
void TDoc_inventario_row::set_num_pacchi(const int numpacchi)
|
||||
{
|
||||
_rinv.put(RDOC_NCOLLI, numpacchi);
|
||||
}
|
||||
|
||||
//SET_COD_PACCHI: metodo che setta l'elenco dei pacchi salvati su quella riga
|
||||
void TDoc_inventario_row::set_cod_pacchi(const char* codpacchi)
|
||||
{
|
||||
_rinv.put("CODPACCHI", codpacchi);
|
||||
}
|
||||
|
||||
//SET_MAGAZZINO: metodo che setta il codice del magazzino/deposito
|
||||
void TDoc_inventario_row::set_magazzino(const char* mag)
|
||||
{
|
||||
_rinv.put(RDOC_CODMAG, mag);
|
||||
}
|
||||
|
||||
//SET_MAGAZZINOC: metodo che setta il codice del magazzino/deposito collegato
|
||||
void TDoc_inventario_row::set_magazzinoc(const char* magc)
|
||||
{
|
||||
_rinv.put(RDOC_CODMAGC, magc);
|
||||
}
|
51
lv/lvlib.h
51
lv/lvlib.h
@ -403,4 +403,55 @@ public:
|
||||
virtual ~TLV_report() {}
|
||||
};
|
||||
|
||||
///////////////////////////////////
|
||||
//// TDOC_INVENTARIO_ROW ////
|
||||
///////////////////////////////////
|
||||
|
||||
//Classe TDoc_inventario_row
|
||||
class TDoc_inventario_row: public TObject
|
||||
{
|
||||
TRiga_documento& _rinv;
|
||||
public:
|
||||
const TString& codart() const;
|
||||
const TString& desart() const;
|
||||
const real qta() const;
|
||||
const TString& um() const;
|
||||
const int num_pacchi() const;
|
||||
const TToken_string& cod_pacchi() const;
|
||||
const TString& magazzino() const;
|
||||
const TString& magazzinoc() const;
|
||||
|
||||
void set_codart(const char* codart);
|
||||
void set_desart(const TString& desart);
|
||||
void set_qta(const real qta);
|
||||
void set_um(const char* um);
|
||||
void set_num_pacchi(const int numpacchi);
|
||||
void set_cod_pacchi(const char* codpacchi);
|
||||
void set_magazzino(const char* mag);
|
||||
void set_magazzinoc(const char* magc);
|
||||
|
||||
TDoc_inventario_row(TRiga_documento& rinv):_rinv(rinv){}
|
||||
};
|
||||
|
||||
///////////////////////////////
|
||||
//// TDOC_INVENTARIO ////
|
||||
///////////////////////////////
|
||||
|
||||
//Classe TDoc_inventario
|
||||
class TDoc_inventario: public TDocumento
|
||||
{
|
||||
public:
|
||||
const TToken_string& chiave() const;
|
||||
const TDate datadoc() const;
|
||||
|
||||
TDoc_inventario_row find_or_create_row(const char* codart);
|
||||
|
||||
void set_difinv(const bool difinv = true);
|
||||
|
||||
TDoc_inventario& operator= (const TDoc_inventario dinv){dinv;}
|
||||
|
||||
TDoc_inventario(TDoc_key& key): TDocumento(key.provv(), key.anno(), key.codnum(), key.ndoc()){};
|
||||
TDoc_inventario(TDoc_inventario& dinv): TDocumento(dinv){};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user