Aggiunto programma cancellazione movimenti provvisori git-svn-id: svn://10.65.10.50/trunk@276 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			144 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef __CG2103_H                
 | |
| #define __CG2103_H
 | |
| 
 | |
| #ifndef __ISAM_H
 | |
| #include <isam.h>
 | |
| #endif                                           
 | |
| 
 | |
| #ifndef __CONTO_H
 | |
| #include "conto.h"
 | |
| #endif
 | |
| 
 | |
| enum TipoIVA 
 | |
| {
 | |
|   iva_errata   = -1,
 | |
|   nessuna_iva  = 0,
 | |
|   iva_vendite  = 1,
 | |
|   iva_acquisti = 2,
 | |
|   iva_generica = 9
 | |
|   };
 | |
| 
 | |
| const char* iva2name(TipoIVA i);                                                 
 | |
| 
 | |
| class TRegistro : public TObject
 | |
| {           
 | |
|   bool read_att();
 | |
| 
 | |
| protected:
 | |
|   enum TipoRegistro { libro_giornale = 5 };
 | |
|   TRectype _rec, _att;
 | |
| 
 | |
| public:
 | |
|   bool read(const char* code, int year);
 | |
|   TRegistro& operator =(const TRegistro& r);
 | |
| 
 | |
|   virtual bool ok() const { return !_rec.empty(); }
 | |
| 
 | |
|   int tipo() const;
 | |
|   TipoIVA iva() const;
 | |
|   bool corrispettivi() const;
 | |
|   const TString& name() const { return _rec.get("CODTAB").mid(4); }
 | |
|   int year() const;
 | |
|   TDate last_reg() const { return _rec.get_date("D2"); } 
 | |
|   TDate last_print() const { return _rec.get_date("D3"); }
 | |
|   long protocol() const { return _rec.get_long("I5"); }
 | |
|   const TString& attivita() const { return _rec.get("S8"); }
 | |
| 
 | |
|   bool agenzia_viaggi();
 | |
|   const TString& tipo_attivita();
 | |
| 
 | |
|   bool update(long uprotiva, const TDate& lastreg);
 | |
| 
 | |
|   TRegistro(const char* code = "", int year = 0);  
 | |
|   virtual ~TRegistro() {}
 | |
| };
 | |
| 
 | |
| 
 | |
| class TLibro_giornale : public TRegistro
 | |
| {
 | |
| public:
 | |
|   bool read(int year);
 | |
|   TDate global_last_print() const;
 | |
| 
 | |
|   TLibro_giornale(int year = 0);
 | |
|   virtual ~TLibro_giornale() {}
 | |
| };
 | |
| 
 | |
| 
 | |
| class TCausale : public TArray
 | |
| { 
 | |
|   TRectype _rec;
 | |
|   TRegistro _reg;
 | |
| 
 | |
|   TipoIVA _iva;
 | |
|   bool _corrisp;
 | |
|   char _sezione_clifo, _sezione_ritsoc;
 | |
|   
 | |
| protected:
 | |
|   const TRectype& row(int num) const;
 | |
| 
 | |
| public:
 | |
|   TBill& bill(int num, TBill& c) const;
 | |
|   
 | |
|   bool data_doc() const;
 | |
|   bool num_doc() const;
 | |
|   bool apertura() const;
 | |
|   bool sezionale() const;
 | |
|   bool valuta() const;
 | |
|   bool intra() const;
 | |
|   bool corrval() const;
 | |
|   const char* causale_inc_imm() const;
 | |
|   const char* tipo_doc() const;
 | |
| 
 | |
|   TRegistro& reg() const { return (TRegistro&)_reg; }
 | |
|   TipoIVA iva() const;
 | |
|   bool corrispettivi() const;
 | |
|   
 | |
|   virtual bool ok() const;
 | |
|   bool similar(const TCausale& c) const;
 | |
|   
 | |
|   char sezione(int riga) const;
 | |
|   char sezione_clifo();
 | |
|   char sezione_ritsoc();
 | |
|   
 | |
|   bool read(const char* cod, int year);
 | |
| 
 | |
|   TCausale(const char* code = "", int year = 0);
 | |
|   virtual ~TCausale() {}
 | |
| };                                               
 | |
| 
 | |
| class TCodiceIVA : public TRectype
 | |
| {
 | |
| public:
 | |
|   TCodiceIVA(const char* codice = NULL);                        
 | |
|   bool read(const char* codice);                    
 | |
|   bool ok() const { return !empty(); }
 | |
|   const TString& codice() const { return get("CODTAB"); }
 | |
|   real percentuale() const { return get_real("R0"); }
 | |
|   const TString& tipo() const { return  get("S1"); }
 | |
| };
 | |
| 
 | |
| class TImporto : public TObject
 | |
| {
 | |
|   char _sezione;
 | |
|   real _valore;
 | |
| 
 | |
| public:
 | |
|   char sezione() const { return _sezione; }
 | |
|   const real& valore() const { return _valore; }
 | |
|   
 | |
|   const TImporto& operator=(const TImporto& i) { return set(i.sezione(), i.valore()); }
 | |
|   const TImporto& operator=(TToken_string& sv);
 | |
|   const TImporto& operator+=(const TImporto& i);
 | |
|   const TImporto& operator-=(const TImporto& i);
 | |
|   const TImporto& swap_section();
 | |
| 
 | |
|   const TImporto& set(char s, const real& v);
 | |
|   const TImporto& add_to(TToken_string& s) const;
 | |
|   
 | |
|   TImporto(char s = 'D', const real& v = ZERO) { set(s, v); }
 | |
|   TImporto(const TImporto& i) : _sezione(i._sezione), _valore(i._valore) {}
 | |
| };
 | |
| 
 | |
| #endif
 |