cg5400.cpp Corretto azzeramento tabella LIM all'inizio di un esercizio git-svn-id: svn://10.65.10.50/trunk@1651 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			148 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			148 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,   
 | |
|   libro_giornale = 5,
 | |
|   iva_generica = 9
 | |
|   };
 | |
| 
 | |
| enum TipoConto
 | |
| { 
 | |
|   spr = 'G',           // spese e rimborsi
 | |
|   aba = 'A',           // abbuoni attivi
 | |
|   abp = 'P',           // abbuoni passivi
 | |
|   rpf = 'R',           // ritenute professionali
 | |
|   asp = 'L',           // altre spese
 | |
|   dfc = 'C',           // differenza cambio
 | |
|   tot = 'Z'
 | |
|   };
 | |
| 
 | |
| const char* iva2name(TipoIVA i);                                                 
 | |
| 
 | |
| class TRegistro : public TObject
 | |
| {           
 | |
|   bool read_att();
 | |
| 
 | |
| protected:
 | |
|   TRectype _rec, _att;
 | |
|   real _prorata;
 | |
| 
 | |
| public:
 | |
|   bool read(const char* code, int year);
 | |
|   bool reread();
 | |
|   TRegistro& operator =(const TRegistro& r);
 | |
| 
 | |
|   virtual bool ok() const { return !_rec.empty(); }
 | |
| 
 | |
|   int tipo() const;
 | |
|   TipoIVA iva() const;
 | |
|   bool corrispettivi() const;
 | |
|   bool sospeso() const { return _rec.get_bool("B1");}
 | |
|   const TString& name() const;
 | |
|   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 attivita_mista() { const char a = tipo_attivita()[0]; return a == 'E'; }
 | |
|   const real& prorata();
 | |
|   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;
 | |
|   void calcIVA();
 | |
| 
 | |
| public: // TObject
 | |
|   virtual bool ok() const;
 | |
| 
 | |
| public:
 | |
|   TBill& bill(int num, TBill& c) const;
 | |
|   
 | |
|   const char* codice() const;
 | |
|   const char* descrizione() const;
 | |
|   const char* desc_agg(int num) const;
 | |
|   
 | |
|   bool data_doc() const;
 | |
|   bool num_doc() const;
 | |
|   bool apertura() const;
 | |
|   bool sezionale() const;
 | |
|   bool valuta() const;
 | |
|   bool intra() const;
 | |
|   bool valintra() const;
 | |
|   const char* causale_inc_imm() const;
 | |
|   const char* tipo_doc() const;
 | |
| 
 | |
|   TRegistro& reg() const { return (TRegistro&)_reg; }
 | |
|   TipoIVA iva() const { return _iva; }
 | |
|   bool corrispettivi() const { return _corrisp; }
 | |
|   int tipomov() const;
 | |
|   bool saldaconto() const;
 | |
|   int link_m770() const;
 | |
|   
 | |
|   bool similar(const TCausale& c) const;
 | |
|   
 | |
|   char sezione(int riga) const;
 | |
|   char sezione_clifo();
 | |
|   char sezione_ritsoc();
 | |
|   
 | |
|   virtual 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"); }
 | |
| };
 | |
| 
 | |
| #endif
 |