// // cg4400.h // #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include const int MAXSTR = 128; static char __tmp[MAXSTR]; //enum STAMPA { bollati=1, unici=2 }; const int TABREG = (int)TTable::name2log("REG"); bool filter_func (const TRelation*); bool my_handler (TMask_field&, KEY); bool mask_cod (TMask_field&, KEY); bool mask_mese (TMask_field&, KEY); bool mask_fino_a_mese (TMask_field&, KEY); bool mask_select (TMask_field&, KEY); bool mask_verifica (TMask_field&, KEY); bool mask_annulla (TMask_field&, KEY); class TDati_ditta : public TObject { TLocalisamfile * _nditte, * _anag, *_comuni; TString _ragsoc, _cofi, _paiva; TString _comunefis, _viafis, _provfis, _cap; long _codditta; int _stampa_width; protected: void get_dati_ditta(); TRectype& look_com (const char * codice); public: const char* prima_riga (); const char* seconda_riga (); TDati_ditta (long cod_ditta, int stampa_width); virtual ~TDati_ditta(); }; class CG4400_application : public TPrintapp { friend bool filter_func (const TRelation *r); friend bool mask_cod (TMask_field&, KEY); friend bool mask_mese (TMask_field&, KEY); friend bool mask_fino_a_mese (TMask_field&, KEY); friend bool my_handler (TMask_field&, KEY); friend bool mask_select (TMask_field&, KEY); friend bool mask_verifica (TMask_field&, KEY); friend bool mask_annulla (TMask_field&, KEY); TCursor * _cur; TRelation *_rel; TLocalisamfile *_clifo, *_nditte, *_occas, *_tab, *_tabcom; TTable *_tabreg; TRigaiva_array _iva_array, _riga_rmi; TTipodoc_array _doc_array; TRiga_array _tot_iva_array; TArray_sheet *_ditte; TBit_array _selected; TArray _nomiditte; //array descrizioni ditte per sheet bool _riferim, _mov_empty; char _frequiva; TDate _data_da, _data_a, _data_stampa, _dataregp, _datareg; long _annoes, _n_ditte; int _riepil, _tipo_reg, _fino_a_mese, _tipo_stampa; int _r, _stampa_width; // riga corrente di stampa real _totale_doc; TString _codreg, _desc_lib, _codatt, _attivita; TString _codtab, _tipodoc, _descr_doc; bool _stampa_tutti_i_registri; public: const char* desc_attivita (const char * codatt); const char* descr_doc (const char * tipo); const char* descr_iva (const char * cod); const char* ricerca_cf (char tipocf, long codcf); const char* ricerca_occ(const char * occ); int setta_riga (int, const TRigaiva&, real&, real&, real&, real&); int riga_rmoviva(); bool set_print(int); bool set_ditte(TMask&); bool compila_reg(); bool controlla_liquidazione(); bool controlla_mov(); void stampa_registri_IVA(); void set_page_tot_reg(); void calcola_progressivi(real&, real&, const char*, const int); void user_create(); void user_destroy(); bool preprocess_page(int, int); int stampa_intestazione_ditta(); bool preprocess_print(int, int); print_action postprocess_print(int, int); void preprocess_header(); CG4400_application() : TPrintapp(),_ditte(NULL),_selected(10000), _nomiditte(100) {} virtual ~CG4400_application() {} };