campo-sirio/ce/celib.h

73 lines
1.9 KiB
C
Raw Normal View History

#ifndef __CELIB_H
#define __CELIB_H
#ifndef __FORM_H
#include <form.h>
#endif
#ifndef __ISAM_H
#include <isam.h>
#endif
#ifndef __AUTOMASK_H
#include <automask.h>
#endif
class TDitta_cespiti
{
long _ditta;
int _esercizio, _anno_tuir;
TString4 _gruppo, _specie;
TDate _data_primi_ricavi;
TRectype _cce, _ccb;
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;
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 bollato_stampato() const;
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);
#endif