campo-sirio/cg/cg4400.h
nik 924b51bfae Correzione ai registri
git-svn-id: svn://10.65.10.50/trunk@1073 c028cbd2-c16b-5b4b-a496-9718f37d4682
1995-03-03 17:11:53 +00:00

156 lines
5.5 KiB
C++
Executable File

//
// cg4400.h
//
#include <isam.h>
#include <printapp.h>
#include <mask.h>
#include <tabutil.h>
#include <utility.h>
#include <urldefid.h>
#include <text.h>
#include <mailbox.h>
#include <execp.h>
#include <sheet.h>
#include <config.h>
#include <prefix.h>
#include <progind.h>
#include <nditte.h>
#include <anagr.h>
#include <comuni.h>
#include <unloc.h>
#include <mov.h>
#include <rmoviva.h>
#include <clifo.h>
#include <occas.h>
#include <causali.h>
#include "cglib03.h"
#include "conto.h"
enum messaggio {
no_liquidazione,
B0_settato,
non_proseguire,
prosegui_stampa,
prosegui_cal_stampa
};
class CG4400_application : public TPrintapp
{
TCursor * _cur;
TRelation *_rel, *_nditte;
TLocalisamfile *_clifo, *_occas, *_tab, *_tabcom, *_com, *_anag, *_unloc, *_attiv, *_indlib;
TTable *_tabreg, *_tablbu, *_tablim, *_tabpim, *_tablia, *_tabiva;
TTable *_tabpla, *_tabppa, *_tabvid;
TRigaiva_array _iva_array, _riga_rmi;
TTipodoc_array _doc_array;
TRiga_array _tot_iva_array;
TBit_array _selected;
TArray_sheet *_ditte;
TArray _nomiditte;
bool _st_liq[13];
TRecnotype _nrec;
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf, _stampa;
bool _corrispettivi, _liquidazione, _riep_liq, _stampa_ind_comp, _esiste_riga_iva, _stampa_cred_pre;
bool _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi;
char _frequiva, _tipo_riepilogativo;
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
TDate _u_data;
long _n_ditte, _u_stampata, _primast, __firm, _uprotivap, _ditta;
long _numini, _pagine_stampate;
int _fino_a_mese, _tipo_reg, _tipo_stampa, _cod_un_loc;
int _annoes, _r, _stampa_width, _mese_ultima_liq, _mese_credito;
int _stampa_len, _stampa_mese;
real _totale_doc, _credito;
TString _codreg, _desc_lib, _codatt, _attivita, _tipoatt;
TString _tipodoc, _descr_doc, _codlib, _codice_vidi;
TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis;
TFilename _t;
messaggio _scelta;
protected:
static bool filter_func (const TRelation * r);
static bool mask_tipo_stampa (TMask_field&, KEY);
static bool to_ditt_handler (TMask_field&, KEY);
static bool fr_ditt_handler (TMask_field&, KEY);
static bool to_butt_handler (TMask_field&, KEY);
static bool fr_butt_handler (TMask_field&, KEY);
static bool mask_cod (TMask_field&, KEY);
static bool mask_libun (TMask_field&, KEY);
static bool mask_data (TMask_field&, KEY);
static bool mask_mese (TMask_field&, KEY);
static bool mask_fino_a_mese (TMask_field&, KEY);
static bool mask_select (TMask_field&, KEY);
static bool mask_azzera (TMask_field&, KEY);
static bool year_handler (TMask_field&, KEY);
public:
const char* desc_attivita ();
const char* tipo_attivita ();
const char* descr_doc ();
const char* descr_iva (const char *);
TRectype& ricerca_occ(const char*);
TRectype& ricerca_cf (char, long);
TRectype& look_comuni(const char*);
TArray_sheet* get_ditte_sheet() { return _ditte; }
int setta_riga (int, const TRigaiva&, real&, real&, real&, real&);
int riga_rmoviva();
bool set_print(int);
bool set_ditte(TMask&);
bool compila_reg(const TMask&);
bool compila_lib();
messaggio controlla_liquidazione();
messaggio controlla_b0();
bool controlla_mov();
bool stampo_liquidazione(int);
bool ventilazione(const char*);
bool cerca_libro_gio(TString&);
bool look_reg (int, int, TString&, int, const char*, int*, long);
bool look_regs(int, TString&, int, int*, long, bool*);
bool stampa_totali_finali();
bool stampa_datareg();
bool stampa_registri_IVA(const TMask&);
bool look_lia(long ditta = 0l);
bool ricerca_mese(TString&,TString&,int,int,TMask_field&);
void set_choice_limits(TMask&);
void build_ditte_sheet();
void cerca_reg(const TString&, byte*);
void set_page_tot_reg();
void send_message(char, const TFilename&,int);
void aggiorna_reg(const bool aggiorna_vidi);
void aggiorna_lib();
void calcola_progressivi();
void stampa_liq_mesi_succ();
void look_reg();
void no_movimenti();
void liq_b0_settato();
void liq_other_case();
bool setta_mask(long);
bool preprocess_page(int, int);
int stampa_intestazione();
int stampa_prospetto();
long select_firm_range(long,long);
void stampa_plafonds(int);
void get_dati_ditta();
void stampa_vidi();
void scrivi_reg();
int stampa_acquisti(int);
real stampa_valori_plafonds(const real&, const int, TTable&, const char*);
void build_nomiditte(TProgind* pnd = NULL);
void set_year(int y) { _annoes = y; }
void clear_stliq();
virtual bool preprocess_print(int, int);
virtual bool user_create();
virtual bool user_destroy();
virtual print_action postprocess_page (int, int);
virtual void preprocess_header();
CG4400_application() : TPrintapp(), _ditte(NULL), _selected(10000), _nomiditte(100) {}
virtual ~CG4400_application() {}
};