// Invio contabilita' #define STRICT #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "cg6901.h" #include "cg6903.h" #include "cglib04.h" class TInv_cont : public TApplication { enum { BUFSIZE = 4096 }; TTransfer_file _tras_file; TProgind* _prog; TLocalisamfile* _caus; TLocalisamfile* _rcaus; TLocalisamfile* _clifo; TLocalisamfile* _pcon; TLocalisamfile* _mov; TLocalisamfile* _rmov; TLocalisamfile* _rmoviva; TLocalisamfile* _occas; TLocalisamfile* _part; TIsamtempfile* _tcaus; TIsamtempfile* _trcaus; TIsamtempfile* _tclifo; TIsamtempfile* _tpcon; TIsamtempfile* _tmov; TIsamtempfile* _trmov; TIsamtempfile* _triva; TIsamtempfile* _toccas; TArchive _arc; char _scelta; TString _control_rec, _header, _trasf, _std, _stato, _marker, _nome_simbolico; TString _files, _codcaus, _numdoc, _reg, _codpag, _tipodoc, _codcausm, _sigle; TString _ocfpi, _ragsococc, _indocc, _capocc, _localocc, _provocc, _codvali; bool _esiste_ditta, _esiste_record, _inviato, _flag_bollato; long _ditta, _protiva, _uprotiva, _codcf, _numrec, _tot_rec; long _dim_tot, _dim_disk,_dittaAS; long _numrec_cau,_numrec_clifo,_numrec_pcon,_numrec_pn,_numrec_iva; int _num,_annoes; TDate _data, _datadoc, _data74ter,_datalimsk,_dataregiva,_datareg; real _corrlire, _cambioi, _corrval; public: TString _titolo; virtual bool create(); virtual bool destroy(); virtual bool menu(MENU_TAG m); bool main_loop(); bool esiste_tabella_studio(); bool record_controllo(); bool esegui_controlli(); bool leggi_header(); bool controlli(); bool sub_controlli(); bool tabella_ditta(); bool controlla_stato_invio(); bool numero_data(); void leggi_record_controllo(); void codifica_ditta (TMask& m); void testata_mov_PN (); void testata_trasfer(long nreg, int nrig, TString& record); void sola_iva(TString& record); bool testata_mov_IVA(long numreg); void cerca_occasionale(); void cerca_comune_occas(const TString& com); void apri_file_temp(); void chiudi_file_temp(); void crea_marker(TMask& m); void setta_parametri_record(TMask& m,const TString& flag); void setta_tabella_studio(TMask& m, bool flag_ditta = TRUE); void setta_tabella_ditta(TMask& m, const char* flag, bool comp = TRUE); void crea_record_controllo(TMask& m); bool invio_tempfile(TMask& m); void causali2tempfile(TString& key,TMask& m); void cancella_righe_causali(TString& codcaus); void scrivi_righe_causali(TString& codcaus, char uselab); void clifo2tempfile(TString& key,TMask& m); void pcon2tempfile(TString& key,TMask& m); void movPN2tempfile(TString& key,TMask& m); void scrivi_righePN(long numreg); void primanota_inviata(long numreg); void movIVA2tempfile(TString& key,TMask& m); bool occasionali(const TString& ocfpi); void iva_inviata(long numreg); bool invio_contabilita(); bool invio_tab_cau(); bool invio_clifo (); bool invio_pcon (); bool invio_mov_PN (); bool invio_mov_IVA(); void aggiorna_header(TString& files); void aggiorna_trasfer(TString& files); void negPC2negAS(TString& numero); void dec2integer(real& val, long dec); void aggiorna_marker(TString& token, int pos); void calcola_totale_record(); void scrivi_telefono(TString& app); const char* cerca_provincia(const TString& comcf); void cerca_dencom(TString& comcf,TString& dencom); static bool setta_maschera_hnd(TMask_field& f, KEY k); static bool messaggio_hnd (TMask_field& f, KEY k); int calcola_numero_dischi(TMask& m); FILE* chiedi_disco(const char* name, int disk, char floppy, bool lettura); bool scrivi_disco(char floppy, int disk, const char* work, FILE* i, TProgind& w); bool invio_contabilita_PC(); void invio_testata_causali(); void invio_righe_causali(); void invio_clienti_fornitori(); void invio_piano_conti(); void invio_testata_movimenti(); void invio_righe_contabili(); void invio_righe_IVA(); void invio_occasionali(TString& record, TString& ocfpi); void tipodocumento(long nreg,TString& tipodoc); TInv_cont(char mov); }; HIDDEN TInv_cont& app() { return (TInv_cont &) main_app(); }