Files correlati : Report Clienti e fornitori I report devono avere library = repcom Campi di selezione CODCF Codice RAGSOC Ragione Sociale CAPCF CAP CODAG Codice agente CODZONA Codice Zona CODAG1 Codice Agente 2 CODLIST Codice listino SCONTO Sconto FIDO Fido CODPAG Pagamento CODMAG Magazzino CODDEP Deposito VSDATAREG Data Esenzione CODPORTO Porto CODSPMEZZO Spedizione CATVEN Categoria economica DATAUFATT Data ultima fattura IMPFATT Fatturato netto TOTFATT Totale fatturato DARE Dare AVERE Avere SCADUTO Scaduto MOVIMENTATO Movimentato NINS Numero insoluti ESPCAM Esposto su questi imposta un between coi valori da a vengono anche impostate tutte le variabili #DA_<nome campo> #A_<nome campo> Macro $REPCOM viene sostituito con tutte le select ( between ) costruite con la maschera di input $KEY viene sostituito con la chiave selezionata TIPOCF viene sostituito con col tipo cliente fornitore $ANNO viene sostituito con l'anno di esercizio iniziale $AANNO viene sostituito con l'anno di esercizio finale $DA viene sostituito con la data iniziale $A viene sostituito con la data finale git-svn-id: svn://10.65.10.50/branches/R_10_00@23469 c028cbd2-c16b-5b4b-a496-9718f37d4682
132 lines
3.5 KiB
C++
Executable File
132 lines
3.5 KiB
C++
Executable File
#ifndef __VELIB07_H
|
|
#define __VELIB07_H
|
|
|
|
#ifndef __VELIB_H
|
|
#include "velib.h"
|
|
#endif
|
|
|
|
#ifndef __REPORT_H
|
|
#include <report.h>
|
|
#endif
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// TMateriali_base_recordset
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class TMateriali_base_recordset : public TRecordset
|
|
{
|
|
TString _query;
|
|
TArray _boom;
|
|
long _pos;
|
|
TArray _column;
|
|
bool _reverse;
|
|
long _lastrow;
|
|
TRectype * _rdist;
|
|
|
|
protected:
|
|
const TString& query_text() const { return _query; }
|
|
TArray& boom() { return _boom; }
|
|
const TArray& boom() const { return _boom; }
|
|
|
|
void set_reverse(bool r) { _reverse = r; }
|
|
bool reverse() const { return _reverse;}
|
|
|
|
public:
|
|
virtual TRecnotype items() const { return _boom.items(); }
|
|
virtual bool move_to(TRecnotype pos) { _pos = pos; _lastrow = -1; return pos < items();}
|
|
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);
|
|
virtual ~TMateriali_base_recordset(){ delete _rdist;}
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// 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() { }
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// 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:
|
|
virtual const TVariant& get_field(int num, const char* field) const;
|
|
|
|
public:
|
|
const TDocumento& doc(const TRectype& rec) { return _cache.doc(rec);}
|
|
|
|
TDocument_recordset(const char* use) : TISAM_recordset(use) { }
|
|
virtual ~TDocument_recordset() { }
|
|
};
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// TDocument_report
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class TDocument_report : public TReport
|
|
{
|
|
size_t _first_msg;
|
|
|
|
protected:
|
|
virtual size_t get_usr_words(TString_array& words) const;
|
|
virtual bool execute_usr_word(unsigned int opcode, TVariant_stack& stack);
|
|
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);
|
|
|
|
public:
|
|
virtual bool set_recordset(const TString& query);
|
|
virtual bool set_recordset(TRecordset * set) { return TReport::set_recordset(set);}
|
|
|
|
bool load(const char* name);
|
|
};
|
|
|
|
///////////////////////////////////////////////
|
|
// Metodi non appartenenti a classi
|
|
///////////////////////////////////////////////
|
|
|
|
//metodo per il calcolo del fido cliente
|
|
real calcola_fido_cliente (long codcf, const TDate& datacalc, const TDoc_key& ignore);
|
|
|
|
#endif
|
|
|