Patch level : 4.0 572
Files correlati : cg7.exe cg7300a.ini cg7300a.msk Ricompilazione Demo : [ ] Commento : prime prove su trasferimento sispac git-svn-id: svn://10.65.10.50/trunk@14658 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0aa5e6ac0b
commit
14a01dabc2
115
cg/cg7300.cpp
115
cg/cg7300.cpp
@ -71,32 +71,24 @@ bool TInvioS_mask::on_field_event(TOperable_field& o, TField_event e, long jolly
|
|||||||
class TInvioS : public TSkeleton_application
|
class TInvioS : public TSkeleton_application
|
||||||
{
|
{
|
||||||
TCursor* _cur;
|
TCursor* _cur;
|
||||||
TInvioS_mask* _msk;
|
TInvioS_mask* _msk;
|
||||||
TInvioS_file* _trasfile;
|
TInvioS_file* _trasfile;
|
||||||
long _nrecords, _nrecsfattvend, _nrecsfattacqu, _nrecsmocontab;
|
TConfig* _configfile;
|
||||||
int _nfiles;
|
|
||||||
long _nrecsdettaglio;
|
|
||||||
TString16 _descrdettaglio;
|
|
||||||
TDate _dataini, _datafin;
|
TDate _dataini, _datafin;
|
||||||
bool _totale, _finemov;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool create(void);
|
virtual bool create(void);
|
||||||
virtual bool destroy(void);
|
virtual bool destroy(void);
|
||||||
virtual void main_loop() ;
|
virtual void main_loop() ;
|
||||||
void invio_sispac();
|
void invio_sispac();
|
||||||
long i_sispac_clifor(const bool invio = TRUE);
|
long i_sispac_clifor(const char* tipocf, const bool invio = TRUE);
|
||||||
long i_sispac_movcont(const bool invio = TRUE);
|
long i_sispac_movcont(const bool invio = TRUE);
|
||||||
long i_sispac_moviva(const bool invio = TRUE);
|
long i_sispac_moviva(const bool invio = TRUE);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
int get_nfiles() {return _nfiles;};
|
|
||||||
long get_nrecords() {return _nrecords;};
|
|
||||||
long get_nrecsdettaglio() {return _nrecsdettaglio;};
|
|
||||||
TString16& get_descrdettaglio() {return _descrdettaglio;};
|
|
||||||
const bool totale() {return _totale;};
|
|
||||||
const bool finemov() {return _finemov;};
|
|
||||||
TInvioS_file* apri_file(const char* nome);
|
TInvioS_file* apri_file(const char* nome);
|
||||||
void chiudi_file(TInvioS_file* trasfile);
|
void chiudi_file(TInvioS_file* trasfile);
|
||||||
|
TConfig& config() {return *_configfile;};
|
||||||
TInvioS() {} ;
|
TInvioS() {} ;
|
||||||
virtual ~TInvioS() {} ;
|
virtual ~TInvioS() {} ;
|
||||||
};
|
};
|
||||||
@ -126,16 +118,12 @@ void TInvioS_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TS
|
|||||||
}
|
}
|
||||||
else if (code == "_CODPAG")
|
else if (code == "_CODPAG")
|
||||||
{
|
{
|
||||||
TFilename configname = "cg7300a.ini";
|
valore = app().config().get(str, "PAGAMENTI");
|
||||||
TConfig configfile(configname);
|
|
||||||
valore = configfile.get(str, "PAGAMENTI");
|
|
||||||
}
|
}
|
||||||
else if (code == "_OPZIONI")
|
else if (code == "_OPZIONI")
|
||||||
{
|
{
|
||||||
TString in(s.get());
|
TString in(s.get());
|
||||||
TFilename configname = "cg7300a.ini";
|
valore = app().config().get(in, "OPZIONI");
|
||||||
TConfig configfile(configname);
|
|
||||||
valore = configfile.get(in, "OPZIONI");
|
|
||||||
}
|
}
|
||||||
else if (code == "_IMPORTO")
|
else if (code == "_IMPORTO")
|
||||||
{
|
{
|
||||||
@ -206,7 +194,6 @@ TInvioS_file* TInvioS::apri_file(const char* nome)
|
|||||||
filename.ext("txt");
|
filename.ext("txt");
|
||||||
if (filename.exist())
|
if (filename.exist())
|
||||||
remove(filename);
|
remove(filename);
|
||||||
|
|
||||||
TInvioS_file* trasfile = new TInvioS_file(filename);
|
TInvioS_file* trasfile = new TInvioS_file(filename);
|
||||||
trasfile->open(filename,'w');
|
trasfile->open(filename,'w');
|
||||||
trasfile->force_record_separator();
|
trasfile->force_record_separator();
|
||||||
@ -223,13 +210,16 @@ long TInvioS::i_sispac_movcont(const bool invio)
|
|||||||
{
|
{
|
||||||
TRectype da(LF_MOV);
|
TRectype da(LF_MOV);
|
||||||
TRectype a(LF_MOV);
|
TRectype a(LF_MOV);
|
||||||
da.put(MOV_DATAREG, _dataini);
|
TDate dataini = _msk->get_date(F_DATAINI);
|
||||||
a.put(MOV_DATAREG, _datafin);
|
TDate datafin = _msk->get_date(F_DATAFIN);
|
||||||
|
if (dataini.ok())
|
||||||
|
da.put(MOV_DATAREG, dataini);
|
||||||
|
if (datafin.ok())
|
||||||
|
a.put(MOV_DATAREG, datafin);
|
||||||
TRelation rel(LF_MOV);
|
TRelation rel(LF_MOV);
|
||||||
rel.add(LF_RMOV, "NUMREG==NUMREG", 1);
|
rel.add(LF_RMOV, "NUMREG==NUMREG", 1);
|
||||||
rel.add(LF_CLIFO, "TIPOCF==TIPO|CODCF==CODCF", 1);
|
rel.add(LF_CLIFO, "TIPOCF==TIPO|CODCF==CODCF", 1);
|
||||||
TCursor cur(&rel, "", 2, &da, &a);
|
TCursor cur(&rel, "", 2, &da, &a);
|
||||||
|
|
||||||
const long cur_items = cur.items();
|
const long cur_items = cur.items();
|
||||||
if (cur_items != 0)
|
if (cur_items != 0)
|
||||||
{
|
{
|
||||||
@ -303,14 +293,21 @@ long TInvioS::i_sispac_moviva(const bool invio)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
long TInvioS::i_sispac_clifor(const bool invio)
|
long TInvioS::i_sispac_clifor(const char* tipocf, const bool invio)
|
||||||
{
|
{
|
||||||
TInvioS_file* trasfile = apri_file("clifor.txt");
|
TString80 nomefile = "FILE";
|
||||||
|
nomefile << tipocf;
|
||||||
|
TInvioS_file* trasfilecf = apri_file(_configfile->get(nomefile, "OPZIONI"));
|
||||||
TRelation rel(LF_CLIFO);
|
TRelation rel(LF_CLIFO);
|
||||||
rel.add(LF_COMUNI, "STATO==STATOCF|COM==COMCF", 1);
|
rel.add(LF_COMUNI, "STATO==STATOCF|COM==COMCF", 1);
|
||||||
rel.add(LF_ANAGFIS,"CODANAGR==CODANAGPER", 1);
|
rel.add(LF_ANAGFIS,"CODANAGR==CODANAGPER", 1);
|
||||||
rel.add(LF_ANAG,"TIPOA==TIPOPERS|CODANAGR==CODANAGPER", 1);
|
rel.add(LF_ANAG,"TIPOA==TIPOPERS|CODANAGR==CODANAGPER", 1);
|
||||||
|
TString80 filtro;
|
||||||
|
filtro = "20->TIPOCF == \"";
|
||||||
|
filtro << tipocf;
|
||||||
|
filtro << "\"";
|
||||||
TCursor cur(&rel);
|
TCursor cur(&rel);
|
||||||
|
cur.setfilter(filtro, TRUE);
|
||||||
const long cur_items = cur.items();
|
const long cur_items = cur.items();
|
||||||
if (cur_items != 0 && invio)
|
if (cur_items != 0 && invio)
|
||||||
{
|
{
|
||||||
@ -319,80 +316,60 @@ long TInvioS::i_sispac_clifor(const bool invio)
|
|||||||
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||||
{
|
{
|
||||||
TRecord_text rec;
|
TRecord_text rec;
|
||||||
const char tipocf = cur.curr().get_char(CLI_TIPOCF);
|
rec.set_type(tipocf);
|
||||||
if (tipocf == 'C')
|
trasfilecf->autoload(rec, cur);
|
||||||
rec.set_type("C");
|
trasfilecf->write(rec);
|
||||||
else
|
|
||||||
rec.set_type("F");
|
|
||||||
trasfile->autoload(rec, cur);
|
|
||||||
trasfile->write(rec);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
chiudi_file(trasfile);
|
chiudi_file(trasfilecf);
|
||||||
return cur_items+cur_items;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//metodone globale che chiama, come un menu, i vari sottometodi in base alle scelte sulla maschera
|
//metodone globale che chiama, come un menu, i vari sottometodi in base alle scelte sulla maschera
|
||||||
void TInvioS::invio_sispac()
|
void TInvioS::invio_sispac()
|
||||||
{
|
{
|
||||||
//prende i parametri dal file di configurazione dell'applicazione
|
|
||||||
TFilename configname = "cg7300a.ini";
|
|
||||||
TConfig configfile(configname);
|
|
||||||
|
|
||||||
//prepara il file su cui scrivere, ovvero il _trasfile
|
|
||||||
TFilename filename = _msk->get(F_DESTINAZIONE);
|
|
||||||
filename.add(configfile.get("FILEMOVIM", "OPZIONI"));
|
|
||||||
if (fexist(filename))
|
|
||||||
remove(filename);
|
|
||||||
|
|
||||||
_trasfile = new TInvioS_file(filename);
|
|
||||||
_trasfile->open(filename,'w');
|
|
||||||
|
|
||||||
if (_msk->get_bool(F_CLIFOR))
|
if (_msk->get_bool(F_CLIFOR))
|
||||||
i_sispac_clifor();
|
{
|
||||||
|
i_sispac_clifor("C");
|
||||||
|
i_sispac_clifor("F");
|
||||||
|
}
|
||||||
if (_msk->get_bool(F_MOVCONT))
|
if (_msk->get_bool(F_MOVCONT))
|
||||||
{
|
{
|
||||||
|
TString80 filename = _configfile->get("FILEM", "OPZIONI");
|
||||||
|
_trasfile = apri_file(filename);
|
||||||
i_sispac_movcont();
|
i_sispac_movcont();
|
||||||
i_sispac_moviva();
|
i_sispac_moviva();
|
||||||
|
chiudi_file(_trasfile);
|
||||||
}
|
}
|
||||||
_trasfile->close();
|
|
||||||
delete _trasfile;
|
|
||||||
_trasfile = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TInvioS::create()
|
bool TInvioS::create()
|
||||||
{
|
{
|
||||||
_msk = new TInvioS_mask();
|
_msk = new TInvioS_mask();
|
||||||
_trasfile = NULL;
|
TFilename configname = "cg7300a.ini";
|
||||||
|
configname.custom_path();
|
||||||
|
_configfile = new TConfig(configname);
|
||||||
return TSkeleton_application::create();
|
return TSkeleton_application::create();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TInvioS::destroy()
|
bool TInvioS::destroy()
|
||||||
{
|
{
|
||||||
if (_trasfile)
|
delete _configfile;
|
||||||
delete _trasfile;
|
delete _msk;
|
||||||
delete _msk;
|
|
||||||
|
|
||||||
return TSkeleton_application::destroy();
|
return TSkeleton_application::destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TInvioS::main_loop()
|
void TInvioS::main_loop()
|
||||||
{
|
{
|
||||||
TFilename configname = "cg7300a.ini";
|
_msk->set(F_NUMEROINVIO, _configfile->get_int("NUMEROINVIO","OPZIONI")+1);
|
||||||
configname.custom_path();
|
_msk->set(F_DATAINI, _configfile->get("DATA","OPZIONI"));
|
||||||
TConfig configfile(configname);
|
_msk->set(F_DESTINAZIONE, _configfile->get("PERCORSO","OPZIONI"));
|
||||||
_msk->set(F_NUMEROINVIO, configfile.get_int("NUMEROINVIO","OPZIONI")+1);
|
|
||||||
_msk->set(F_DATAINI, configfile.get("DATA","OPZIONI"));
|
|
||||||
_msk->set(F_DESTINAZIONE, configfile.get("PERCORSO","OPZIONI"));
|
|
||||||
|
|
||||||
while (_msk->run() != K_QUIT)
|
while (_msk->run() != K_QUIT)
|
||||||
{
|
{
|
||||||
_totale = false;
|
_configfile->set("NUMEROINVIO", _msk->get(F_NUMEROINVIO),"OPZIONI");
|
||||||
_finemov = false;
|
_configfile->set("DATA", _msk->get_date(F_DATAFIN),"OPZIONI");
|
||||||
configfile.set("NUMEROINVIO", _msk->get(F_NUMEROINVIO),"OPZIONI");
|
_configfile->set("PERCORSO", _msk->get(F_DESTINAZIONE),"OPZIONI");
|
||||||
configfile.set("DATA", _msk->get_date(F_DATAFIN),"OPZIONI");
|
_configfile->set_paragraph("PAGAMENTI");
|
||||||
configfile.set("PERCORSO", _msk->get(F_DESTINAZIONE),"OPZIONI");
|
|
||||||
configfile.set_paragraph("CAUSALI");
|
|
||||||
_dataini = _msk->get_date(F_DATAINI);
|
_dataini = _msk->get_date(F_DATAINI);
|
||||||
_datafin = _msk->get_date(F_DATAFIN);
|
_datafin = _msk->get_date(F_DATAFIN);
|
||||||
const char tipoinvio = _msk->get(F_TIPOINVIO)[0];
|
const char tipoinvio = _msk->get(F_TIPOINVIO)[0];
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
[OPZIONI]
|
[OPZIONI]
|
||||||
DATA =
|
DATA =
|
||||||
FILECLIFO = clifo.txt
|
FILEC = cli.txt
|
||||||
FILEMOVIM = movim.txt
|
FILEF = for.txt
|
||||||
|
FILEM = mov.txt
|
||||||
NUMEROINVIO =
|
NUMEROINVIO =
|
||||||
PERCORSO = c:\temp\
|
PERCORSO = c:\temp\
|
||||||
|
|
||||||
|
@ -23,58 +23,46 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 76 6
|
GROUPBOX DLG_NULL 76 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 4 "Dati da inviare"
|
PROMPT 2 4 "Dati da inviare"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_CLIFOR
|
BOOLEAN F_CLIFOR
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 7 "Clienti/Fornitori"
|
PROMPT 3 5 "Clienti/Fornitori"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_MOVCONT
|
BOOLEAN F_MOVCONT
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 8 "Movimenti"
|
PROMPT 3 6 "Movimenti"
|
||||||
MESSAGE TRUE,ENABLE F_DATAFIN
|
MESSAGE TRUE,ENABLE F_DATAFIN
|
||||||
END
|
END
|
||||||
|
|
||||||
LISTBOX F_TIPOINVIO 20
|
LISTBOX F_TIPOINVIO 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 10 "Invio a "
|
PROMPT 2 8 "Invio a "
|
||||||
ITEM "S|Sispac/Cosmo"
|
ITEM "S|Sispac/Cosmo"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESTINAZIONE 20
|
STRING F_DESTINAZIONE 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Destinazione "
|
PROMPT 2 9 "Destinazione "
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_NUMEROINVIO 2
|
NUMBER F_NUMEROINVIO 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 12 "Numero invio "
|
PROMPT 2 10 "Numero invio "
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATAINI
|
DATE F_DATAINI
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 20 12 "Data iniz. "
|
PROMPT 20 10 "Data iniz. "
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATAFIN
|
DATE F_DATAFIN
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 12 "Data fin. "
|
PROMPT 44 10 "Data fin. "
|
||||||
END
|
|
||||||
|
|
||||||
BUTTON F_RIPRISTINA 20
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 14 "Annulla invio"
|
|
||||||
MESSAGE SHOW,F_DATARIPRISTINO|ENABLE,F_DATARIPRISTINO
|
|
||||||
END
|
|
||||||
|
|
||||||
DATE F_DATARIPRISTINO
|
|
||||||
BEGIN
|
|
||||||
PROMPT 25 14 "Annulla invio fino al "
|
|
||||||
FLAGS "HD"
|
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_OK 9 2
|
BUTTON DLG_OK 9 2
|
||||||
|
Loading…
x
Reference in New Issue
Block a user