campo-sirio/ve/velib05.h
guy 29f763621a Patch level : 2.2
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
Migliorata ricerca conto per spese, prestazioni, attrezzature e risorse
Tolto velib05 da vedoc, per cui va aggiunto in ve1 e ve7


git-svn-id: svn://10.65.10.50/trunk@13765 c028cbd2-c16b-5b4b-a496-9718f37d4682
2006-02-07 12:17:10 +00:00

80 lines
3.7 KiB
C++
Executable File

#ifndef __VELIB05_H
#define __VELIB05_H
#ifndef __VELIB_H
#include "velib.h"
#endif
struct dec_parm {
int qta_lit;
int qta_val;
// add other groups here
};
//////////////////////////////////////////////////////////////////////////////////////////////
// classe TDocumentoEsteso: oggetto che ha come finalita' il calcolo dei riepiloghi IVA
//////////////////////////////////////////////////////////////////////////////////////////////
class TDocumentoEsteso : public TDocumento
{
// Parametri del documento
dec_parm _parm; // Parametri per gli arrotondamenti
// membri per il calcolo del riepilogo IVA
int _sum_filter; // Filtro corrente della riga TRiepilogo_iva in corso di stampa (-1 se non ha ancora calcolato la tabella)
bool _sum_selected; // true se ha selezionato una riga del riepilogo, funge da semaforo per leggere la prossima
TString_array _order_array; // Array di TToken_string contenenti i codici IVA soddisfacenti ad ogni tipo di filtro
TAssoc_array _summary_table; // Array associativo contenete imonibili ed imposte pronte per la stampa;
TArray _summary_array; // Array dove vengono memorizzate le imposte/imponibili per riga
TRiepilogo_iva _sum_current; // Riga corrente del riepilogo
// membri per il calcolo del riepilogo scadenze
TString_array _scadenze_array; // Array che contiene le scadenze ("<data>|<importo>")
int _scadenze_current; // indice per identificare l'elementi corrente sull'array (-1 se non ha ancora calcolato)
protected:
virtual int readat(TBaseisamfile& file, TRecnotype nrec, word lockop);
public:
// Funzioni per il riepilogo IVA
const bool summary_compiled() { return _sum_filter > -1; }
void compile_summary(); // Aggiorna la tabella riepilogativa
void summary_filter(byte selector); // filtra la tabellina secondo il filtro corrente se non e' gia' stato fatto
void summary_reset(bool force=FALSE); // riposiziona l'array dei codici IVA (_order_array). Se il parametro e' true forza il ricalcolo della tabella
void summary_set_next(); // seleziona il prossimo elemento del filtro
const TRiepilogo_iva& sum_current() const { return _sum_current; } // ritorna la riga corrente del filtro corrente
const char * summary_get(const TString& w); // ritorna l'informazione richiesta estratta dall'elemento corrente
int summary_items() { return tabella_iva().items();} // ritorna il numero di righe in totale della tabellina
const TAssoc_array& summary() const { return _summary_table; }
const TArray& summary_array() const { return _summary_array;}
// Funzioni per il ricalcolo delle scadenze
void scadenze_reset(); // riposiziona sulla prima scadenza
void scadenze_recalc(); // resetta e ricalcola le scadenze
void scadenze_set_next(); // seleziona il prossimo elemento dell'array delle scadenze
const char * scadenze_get(const TString& w); // reperisce l'informazione richiesta dall'elemento corrente
int scadenze_items() { return _scadenze_array.items(); } // restituisce il numero di scadenze
TString_array& scadenze() { return _scadenze_array; }
// restituisce tot_imponibili, tot_esenti, tot_nonsoggetti a seconda del selettore:
// 1 = regime normale
// 2 = da ventilare (non usato)
// 4 = esenti
// 8 = non imponibili
// 16 = non soggetti
// pertanto i non imponibili avranno selettore 1 e gli esenti selettore 4.
// per avere esenti + non soggetti il selettore sara' 20 e cosi' via.
real tot_imponibili(byte selector);
// Funzioni per settare i parametri
void set_decimals(dec_parm & parm) { _parm = parm ; }
// void set_condv(TCli_for * cli); // Cambia le condizioni di vendita
TDocumentoEsteso (const TRectype & rec, dec_parm & parm) ;
TDocumentoEsteso (const TRectype & rec) ;
TDocumentoEsteso () ;
virtual ~TDocumentoEsteso();
};
#endif