2006-12-13 16:22:33 +00:00
|
|
|
#ifndef __VELIB07_H
|
|
|
|
#define __VELIB07_H
|
|
|
|
|
|
|
|
#ifndef __VELIB_H
|
|
|
|
#include "velib.h"
|
|
|
|
#endif
|
|
|
|
|
2008-11-10 12:07:11 +00:00
|
|
|
#ifndef __REPORT_H
|
|
|
|
#include <report.h>
|
2006-12-13 16:22:33 +00:00
|
|
|
#endif
|
|
|
|
|
2008-06-11 11:31:27 +00:00
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TMateriali_base_recordset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TMateriali_base_recordset : public TRecordset
|
|
|
|
{
|
|
|
|
TString _query;
|
|
|
|
TArray _boom;
|
|
|
|
long _pos;
|
|
|
|
TArray _column;
|
|
|
|
bool _reverse;
|
2008-08-27 23:23:05 +00:00
|
|
|
long _lastrow;
|
|
|
|
TRectype * _rdist;
|
2008-06-11 11:31:27 +00:00
|
|
|
|
|
|
|
protected:
|
2008-11-10 12:07:11 +00:00
|
|
|
const TString& query_text() const { return _query; }
|
|
|
|
TArray& boom() { return _boom; }
|
|
|
|
const TArray& boom() const { return _boom; }
|
2008-06-11 11:31:27 +00:00
|
|
|
|
2008-11-10 12:07:11 +00:00
|
|
|
void set_reverse(bool r) { _reverse = r; }
|
|
|
|
bool reverse() const { return _reverse;}
|
2008-06-11 11:31:27 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
virtual TRecnotype items() const { return _boom.items(); }
|
2008-08-27 23:23:05 +00:00
|
|
|
virtual bool move_to(TRecnotype pos) { _pos = pos; _lastrow = -1; return pos < items();}
|
2008-06-11 11:31:27 +00:00
|
|
|
virtual TRecnotype current_row() const { return _pos; }
|
|
|
|
virtual void requery();
|
|
|
|
virtual unsigned int columns() const { return _column.items();}
|
|
|
|
virtual const TRecordset_column_info& column_info(unsigned int column) const { return (const TRecordset_column_info&) _column[column];}
|
|
|
|
virtual const TVariant& get(unsigned int column) const;
|
|
|
|
virtual const TVariant& get(const char* column_name) const;
|
|
|
|
|
|
|
|
TMateriali_base_recordset(const char* use);
|
2008-08-27 23:23:05 +00:00
|
|
|
virtual ~TMateriali_base_recordset(){ delete _rdist;}
|
2008-06-11 11:31:27 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TScalare_recordset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TScalare_recordset : public TMateriali_base_recordset
|
|
|
|
{
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
public:
|
|
|
|
virtual void requery();
|
|
|
|
|
|
|
|
TScalare_recordset(const char* use) : TMateriali_base_recordset(use) {}
|
|
|
|
virtual ~TScalare_recordset() { }
|
|
|
|
};
|
|
|
|
|
2006-12-13 16:22:33 +00:00
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TDocument_cache
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TDocument_cache : TCache
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
virtual TObject* key2obj(const char* key);
|
|
|
|
|
|
|
|
public:
|
|
|
|
TDocumento& doc(const TRectype& rec);
|
|
|
|
|
|
|
|
TDocument_cache();
|
|
|
|
virtual ~TDocument_cache();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TDocument_recordset
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TDocument_recordset : public TISAM_recordset
|
|
|
|
{
|
|
|
|
TDocument_cache _cache;
|
|
|
|
|
|
|
|
protected:
|
2008-11-10 12:07:11 +00:00
|
|
|
virtual const TVariant& get_field(int num, const char* field) const;
|
2006-12-13 16:22:33 +00:00
|
|
|
|
|
|
|
public:
|
2008-11-10 12:07:11 +00:00
|
|
|
const TDocumento& doc(const TRectype& rec) { return _cache.doc(rec);}
|
2006-12-13 16:22:33 +00:00
|
|
|
|
|
|
|
TDocument_recordset(const char* use) : TISAM_recordset(use) { }
|
|
|
|
virtual ~TDocument_recordset() { }
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// TDocument_report
|
|
|
|
///////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
class TDocument_report : public TReport
|
|
|
|
{
|
2008-06-11 11:31:27 +00:00
|
|
|
size_t _first_msg;
|
|
|
|
|
2006-12-13 16:22:33 +00:00
|
|
|
protected:
|
2008-06-11 11:31:27 +00:00
|
|
|
virtual size_t get_usr_words(TString_array& words) const;
|
|
|
|
virtual bool execute_usr_word(unsigned int opcode, TVariant_stack& stack);
|
2006-12-13 16:22:33 +00:00
|
|
|
virtual bool set_recordset(const TString& query);
|
2008-06-11 11:31:27 +00:00
|
|
|
bool msg_parent_doc(TVariant_stack& stack);
|
|
|
|
bool msg_parent_row(TVariant_stack& stack);
|
|
|
|
void output_values(const TRectype& rec, const TString& output);
|
|
|
|
void reset_values(const TString& output);
|
2006-12-13 16:22:33 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
bool load(const char* name);
|
|
|
|
};
|
|
|
|
|
2008-11-11 14:24:22 +00:00
|
|
|
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
// Metodi non appartenenti a classi
|
|
|
|
///////////////////////////////////////////////
|
|
|
|
//metodo per il calcolo del fido cliente
|
2008-12-04 15:32:01 +00:00
|
|
|
real calcola_fido_cliente (const char tipocf, const long codcf, const TDate& datacalc, const int riskdays);
|
2008-11-11 14:24:22 +00:00
|
|
|
|
2007-01-22 10:17:12 +00:00
|
|
|
#endif
|
2008-06-11 11:31:27 +00:00
|
|
|
|