Modificato costruttore dei documenti
dio git-svn-id: svn://10.65.10.50/trunk@3366 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
db174ab6f9
commit
86cb5ce06d
@ -106,10 +106,10 @@ TDocumento::TDocumento()
|
||||
{
|
||||
}
|
||||
|
||||
TDocumento::TDocumento(const char* codnum, int anno, char provv, long numdoc)
|
||||
TDocumento::TDocumento(char provv, int anno, const char* codnum, long numdoc)
|
||||
: _head(LF_DOC), _rows(LF_RIGHEDOC, "NRIGA")
|
||||
{
|
||||
read(codnum, anno, provv, numdoc);
|
||||
read(provv, anno, codnum, numdoc);
|
||||
}
|
||||
|
||||
int TDocumento::read(const TRectype& rec)
|
||||
@ -118,22 +118,24 @@ int TDocumento::read(const TRectype& rec)
|
||||
|
||||
TLocalisamfile doc(LF_DOC);
|
||||
int err = _head.read(doc);
|
||||
|
||||
TRectype* key = new TRectype(LF_RIGHEDOC);
|
||||
key->put("CODNUM", doc.get("CODNUM"));
|
||||
key->put("ANNO", doc.get("ANNO"));
|
||||
key->put("PROVV", doc.get("PROVV"));
|
||||
key->put("NUMDOC", doc.get("NUMDOC"));
|
||||
|
||||
if (err == NOERR)
|
||||
{
|
||||
TRectype* key = new TRectype(LF_RIGHEDOC);
|
||||
key->put("CODNUM", doc.get("CODNUM"));
|
||||
key->put("ANNO", doc.get("ANNO"));
|
||||
key->put("PROVV", doc.get("PROVV"));
|
||||
key->put("NUMDOC", doc.get("NUMDOC"));
|
||||
err = _rows.read(key);
|
||||
}
|
||||
else
|
||||
_head = rec;
|
||||
|
||||
{
|
||||
_head = rec;
|
||||
_rows.set_key(key);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
int TDocumento::read(const char* codnum, int anno, char provv, long numdoc)
|
||||
int TDocumento::read(char provv, int anno, const char* codnum, long numdoc)
|
||||
{
|
||||
CHECK(codnum && *codnum && anno > 0 && (provv == 'D' || provv == 'P') && numdoc > 0,
|
||||
"Codice documento non valido");
|
||||
@ -182,6 +184,25 @@ const TTipo_documento& TDocumento::tipo() const
|
||||
return *o;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Lista di documenti
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
int TLista_documenti::leggi(char tipo, long clifo,
|
||||
const TDate& dd, const TDate& ad)
|
||||
{
|
||||
_documenti.destroy();
|
||||
|
||||
TString filter(256);
|
||||
filter << '(' << CLI_TIPOCF << '=' << tipo << ")&&("
|
||||
<< CLI_CODCF << '=' << clifo << ")";
|
||||
if (dd.ok() && dd > botime)
|
||||
filter << "&&(ANSI(DATADOC)>=" << dd.string(ANSI) << ')';
|
||||
if (ad.ok() && ad < eotime)
|
||||
filter << "&&(ANSI(DATADOC)<=" << ad.string(ANSI) << ')';
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Cliente/Fornitore per vendite
|
||||
|
25
ve/velib01.h
25
ve/velib01.h
@ -29,10 +29,11 @@ public:
|
||||
pagamento, banca_appoggio, listino, agente,
|
||||
spedizione, porto, causale_trasporto, vettori };
|
||||
|
||||
const TString & tipodoc() const { return _rec.get("CODTAB");}
|
||||
const TString & profile_name() const { return _rec.get("S4");}
|
||||
const TString & mask_name() const { return _rec.get("S4");}
|
||||
|
||||
const TString& codice() const { return _rec.get("CODTAB");}
|
||||
|
||||
bool uguale(TCondizione_uguaglianza u) const { return _rec.get("S2")[(int)u]; }
|
||||
|
||||
TTipo_documento(const char* tipodoc = NULL);
|
||||
@ -58,8 +59,9 @@ public:
|
||||
bool destroy_row(int n) { return _rows.destroy_row(n); }
|
||||
void destroy_rows() { _rows.destroy_rows(); }
|
||||
|
||||
int read(const char * codnum, int anno, char provv, long numdoc);
|
||||
int read(const TRectype & rec);
|
||||
int read(char provv, int anno, const char* codnum, long numdoc);
|
||||
int read(const TRectype& rec);
|
||||
|
||||
int write(bool re = FALSE) const;
|
||||
int rewrite() const { return write(TRUE); }
|
||||
int remove() const;
|
||||
@ -73,10 +75,25 @@ public:
|
||||
long numero() const { return _head.get_long("NDOC"); }
|
||||
|
||||
TDocumento ();
|
||||
TDocumento(const char * codnum, int anno, char provv, long numdoc);
|
||||
TDocumento(char provv, int anno, const char* codnum, long numdoc);
|
||||
virtual ~TDocumento() { }
|
||||
};
|
||||
|
||||
class TLista_documenti : public TObject
|
||||
{
|
||||
TArray _documenti;
|
||||
|
||||
public:
|
||||
int leggi(char tipo, long clifo, const TDate& dd, const TDate& ad);
|
||||
|
||||
const TDocumento& operator[] (int n) const { return (const TDocumento&)_documenti[n]; }
|
||||
TDocumento& operator[] (int n) { return (TDocumento&)_documenti[n]; }
|
||||
int items() const { return _documenti.items(); }
|
||||
|
||||
TLista_documenti() { }
|
||||
virtual ~TLista_documenti() { }
|
||||
};
|
||||
|
||||
class TLista_clifo : public TObject
|
||||
{
|
||||
class TClifo : public TObject
|
||||
|
Loading…
x
Reference in New Issue
Block a user