#ifndef __CELIB_H #define __CELIB_H #ifndef __FORM_H #include #endif #ifndef __AUTOMASK_H #include #endif #include class TDitta_cespiti { long _ditta; int _esercizio, _anno_tuir; TString4 _gruppo, _specie; TDate _data_primi_ricavi; TRectype _cce, _ccb; bool _amm_prop; protected: void load_default(); void update_when_needed(); void load_records(); public: void set_attivita(int esercizio, int gruppo, const char* specie); const TRectype& get_attivita(int& esercizio, TString& gruppo, TString& specie) const; const TRectype& get_attivita() const; int esercizio_corrente() const { return _esercizio; } int esercizio_corrente(TDate& inies, TDate& fines) const; const TRectype& categoria(int gr, const char* sp, int ca, const bool ccc = false) const; const TDate& data_primi_ricavi() const { return _data_primi_ricavi; } bool rinvio_ammortamento_ai_primi_ricavi() const; bool esente_art14() const; bool ammortamento_parti_vendute() const; bool ragguaglio_ammortamenti_parti_vendute() const; bool professionista() const; bool esercizio_costituzione() const; real coefficiente_durata_esercizio() const; int anno_tuir() const { return _anno_tuir; } bool legge_223_06() const; bool primo_ammortamento_100(const TDate& datamov, int tiposit, bool veicolo) const; bool bollato_stampato() const; bool ammortamento_proporzionale() const { return _amm_prop; } void init_mask(TMask& m); void arrotonda(real &n) const; bool on_category_event(TOperable_field& fld, TField_event e, long jolly = 0L); TDitta_cespiti(); }; class TForm_cespiti : public TForm { protected: virtual bool validate(TForm_item& fld, TToken_string& val); public: TForm_cespiti(const char* name); }; TDitta_cespiti& ditta_cespiti(); // Utility bool null_fields(const TRectype& rec, const char* fld0, const char* fld1, const char* fld2 = NULL, const char* fld3 = NULL, const char* fld4 = NULL, const char* fld5 = NULL, const char* fld6 = NULL, const char* fld7 = NULL, const char* fld8 = NULL); //Metodi da usare nei cespiti per analitica //------------------------------------------- real ceca_percutil(const TString& idcespite, int anno, const TString& cdc, const TString& cms, const TString& fase); #endif