campo-sirio/cg/cg4400.h

122 lines
3.8 KiB
C++
Executable File

//
// cg4400.h
//
#include <isam.h>
#include <lffiles.h>
#include <printapp.h>
#include <mask.h>
#include <strings.h>
#include <tabutil.h>
#include <utility.h>
#include <stdlib.h>
#include <urldefid.h>
#include <sheet.h>
#include <config.h>
#include <nditte.h>
#include <anagr.h>
#include <comuni.h>
#include <mov.h>
#include <rmoviva.h>
#include <clifo.h>
#include <occas.h>
#include <causali.h>
#include <cglib03.h>
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() {}
};