campo-sirio/cg/cg6900.h

168 lines
6.0 KiB
C
Raw Normal View History

// Invio contabilita'
#include <archives.h>
#include <applicat.h>
#include <mask.h>
#include "cglib04.h"
class TInv_cont : public TSkeleton_application
{
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;
TLocalisamfile* _scad;
TLocalisamfile* _pagsca;
TLocalisamfile* _comuni;
TIsamtempfile* _tcaus;
TIsamtempfile* _trcaus;
TIsamtempfile* _tclifo;
TIsamtempfile* _tpcon;
TIsamtempfile* _tmov;
TIsamtempfile* _trmov;
TIsamtempfile* _triva;
TIsamtempfile* _toccas;
TIsamtempfile* _tpart;
TIsamtempfile* _tscad;
TIsamtempfile* _tpagsca;
TArchive _arc;
TAssoc_array _riga_interna, _ultima_rata;
TArray _tab_cau; // tabella di corrispondenza causali per invio saldaconto extracontabile a sistema
char _scelta;
TFilename _trasf, _header, _marker;
TString _control_rec, _std, _stato, _nome_simbolico;
TString _files, _codcaus, _numdoc, _reg, _codpag, _tipodoc, _codcausm, _sigle,_cpg_nc;
TString _ocfpi, _ragsococc, _indocc, _capocc, _localocc, _provocc, _codvali, _codval;
bool _esiste_ditta, _esiste_record, _inviato, _flag_provvis, _flag_bollato;
long _ditta, _protiva, _uprotiva, _codcf, _numrec, _tot_rec;
long _dittaAS;
unsigned long _dim_tot, _dim_disk;
long _numrec_cau,_numrec_clifo,_numrec_pcon,_numrec_pn,_numrec_iva,_numrec_sc;
int _num,_annoes;
TDate _data, _datadoc, _data74ter,_datalimsk,_dataregiva,_datareg;
real _corrlire, _cambioi, _corrval,_cambio;
char _provvis;
long _ultima_nreg;
public:
TString _titolo;
virtual bool create();
virtual bool destroy();
virtual void main_loop();
virtual bool check_autorization() const { return false; }
bool esiste_tabella_studio();
bool record_controllo() const;
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,long nreg);
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(const TString& flag) const;
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(const TString& codcaus);
void scrivi_righe_causali(const 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(const TString& key,TMask& m);
bool occasionali(const TString& ocfpi);
void iva_inviata(long numreg);
void movSC2tempfile(TString& key,TMask& m);
void scrivi_righeSCAD(char,int,int,long,int,const TString&,int);
void scrivi_righePAGSCA(char,int,int,long,int,TString&,int);
void SC_inviato(char,int,int,long,int,const TString&,int);
int nprogre_interno(long nreg, int nrig);
void aggiorna_array_rate(char tipo,int g,int c,long s,int anno,const TString& npart, int nrata);
int ultima_rata_partita(char tipo,int g,int c,long s,int anno,const TString& npart);
void partita2trasfer(TString& record, bool crea_record_riferimento = TRUE);
void pagsca2trasfer (TString& record, real& importo, real& importoval);
long crea_record_riferimento_PN();
bool invio_contabilita();
bool invio_tab_cau();
bool invio_clifo ();
bool invio_pcon ();
bool invio_mov_PN ();
bool invio_mov_IVA();
bool invio_mov_SC ();
void aggiorna_header(TString& files);
void aggiorna_trasfer(TString& files);
void negPC2negAS(TString& numero);
void dec2integer(real& val, long dec);
void write_AS_imp(const real& importo, TString& record, int pos, int len = 11);
void aggiorna_marker(const TString& token, int pos);
void calcola_totale_record();
void scrivi_telefono(TString& app);
void cerca_provincia(const TString& comcf, TString& provincia) const;
void cerca_dencom(const TString& comcf, TString& dencom) const;
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, const TString& floppy);
FILE* chiedi_disco(const char* name, int disk, const TString& floppy, bool lettura);
bool scrivi_disco(const TString& 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 invio_partite();
void invio_scadenze();
void invio_pagsca();
void tipodocumento(long nreg,TString& tipodoc);
TInv_cont(char mov);
};
HIDDEN TInv_cont& app() { return (TInv_cont&)main_app(); }