campo-sirio/ce/ce2101.h
luca 8810a5c3ed Patch level :10.0
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :contabilizzazione cespiti : aggiunta la parte su movimenti di vendita ed eliminazioni


git-svn-id: svn://10.65.10.50/trunk@15983 c028cbd2-c16b-5b4b-a496-9718f37d4682
2008-01-15 16:35:22 +00:00

112 lines
4.0 KiB
C++
Executable File

#ifndef __CE2101_H
#define __CE2101_H
#ifndef __RELATION_H
#include <relation.h>
#endif
enum TTipo_cespite { tc_materiale, tc_immateriale, tc_pluriennale };
enum TTipoFabbricato { tf_nessuno, tf_industriale, tf_altro };
enum TTipoVeicolo { tv_nessuno, tv_automobile, tv_motociclo, tv_ciclomotore, tv_altro };
class TCespite : public TRectype
{
int _tipo_sit;
TRectype _salini, _salpro;
TRectype _ammini, _ammpro;
//parametri per il calcolo in memoria utilizzato per proiezioni contabili
bool _in_memory;
TArray _movce, _movam, _ammmv;
real _fraction;
protected:
real un_milione() const;
void fill_sal_key(TRectype& ammce, int esercizio, int tpsal) const;
void read_sal(int esercizio);
void save_sal() const;
void fill_amm_key(TRectype& ammce, int esercizio, int tpsal) const;
void read_amm(int esercizio);
void save_amm() const;
void set_msg05(const char* msg);
bool valido();
real get_limit() const;
void prepara_saldi(bool is_valid);
real mov_val_amm(const TRectype& tmv) const;
real mov_res_amm(const TRectype& tmv, const TRectype& tmvam) const;
real calcola_spese_manutenzione(const real& valamm);
void rip_jolly(TRelation& rel, const real& num, const real& den, int mode);
void rip_elem(TRelation& rel, int mode);
void rip_costo(TRelation& rel, int mode);
int test_rip(TRelation& rel);
const TString& ammini_get(const char* pstar) const;
bool ammini_get_bool(const char* pstar) const;
real ammini_get_real(const char* pstar) const;
void ammpro_put_perc(const char* pfield, const real& p);
void calc_perc(TRelation& rel, const TRectype& tmv, const TRectype& tmvam);
void calc_anni(TRectype& ammmv, const TRectype& tmv, const TRectype& tmvam);
void amm_mov_ven(TRelation& rel, const TRectype& tmv, const TRectype& tmvam);
real mov_r90_escl_ven(const TRectype& tmv);
real mov_r91_escl_ven(const TRectype& tmv);
real mov_val_ven(const TRectype& tmv);
void cal_valenza(const TRectype& tmv, const TRectype& tmvam, TRectype& ammmv);
void elabora_mov_neg(TRelation& rel, TRectype& tmv, TRectype& tmvam);
real calc_quota(const real& valamm, const real& perric, const real& residuo,
real& pereff, TRelation* mov = NULL);
real calc_quote_perse(const real& valamm, const real& peric, const real& residuo,
const real& quotamm, bool mov_vend, const TDate& dtmov);
void agg_quota(const real& valamm, TRectype& rec, const char* field, bool calcq);
void incr_field(TRectype& dst, const char* fdst, const TRectype& src, const char* fsrc, char segno) const;
void decr_field(TRectype& dst, const char* fdst, const TRectype& src, const char* fsrc, char segno) const;
void applica_rettifiche(TRectype& tmv, TRectype& tmvam);
void aggiorna_salpro(const TRectype& tmv, const TRectype& tmvam, char segno);
void scansione_movimenti(const TDate& data_limite, bool is_valid);
void calc_amm_residui(bool is_valid);
void agg_spe_man(bool is_valid);
real percentuale_deducibilita() const;
bool controllo_fringe_benefit();
public:
bool calc_amm(int tipo_sit, const TDate& data_limite,
bool calc_spe_man = false, bool in_memory = false);
const TRectype& categoria() const;
TTipo_cespite tipo() const;
TTipoFabbricato fabbricato() const;
TTipoVeicolo veicolo() const;
bool auto_o_moto() const;
const TRectype& sal_ini() const { return _salini; }
const TRectype& sal_pro() const { return _salpro; }
const TRectype& amm_ini() const { return _ammini; }
const TRectype& amm_pro() const { return _ammpro; }
real val_amm() const;
real res_amm() const;
//metodi per collegamento contabilita'
const TArray& movce() const { return _movce; }
const TArray& ammmv() const { return _ammmv; }
const TArray& movam() const { return _movam; }
int read(const char* id);
void load_saldi(const int tiposit, const int esercizio);
TCespite();
TCespite(const char* id);
TCespite(const TRectype& rec);
virtual ~TCespite() { }
};
#endif