Patch level :4.0 nopatch
Files correlati : Ricompilazione Demo : [ ] Commento :aggiunto il modulo TC nella 4.0 git-svn-id: svn://10.65.10.50/trunk@14826 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
9863972d96
commit
1cd8e24a94
23
tc/tc0.cpp
Executable file
23
tc/tc0.cpp
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#include <xvt.h>
|
||||||
|
|
||||||
|
#include "tc0.h"
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
const int op = argc < 2 ? 0 : argv[1][1]-'0';
|
||||||
|
switch (op)
|
||||||
|
{
|
||||||
|
// case 1: tc0200(argc,argv); break;
|
||||||
|
// case 2: tc0300(argc,argv); break;
|
||||||
|
// case 3: tc0400(argc,argv); break;
|
||||||
|
case 4: tc0500(argc,argv); break; //gestore tabelle multirel
|
||||||
|
default: tc0100(argc,argv); break; //parametri
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
21
tc/tc0.h
Executable file
21
tc/tc0.h
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#ifndef __TC0_H
|
||||||
|
#define __TC0_H
|
||||||
|
|
||||||
|
int tc0100(int argc, char** argv);
|
||||||
|
int tc0500(int argc, char** argv);
|
||||||
|
|
||||||
|
#endif // __TC0_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
6
tc/tc0100.cpp
Executable file
6
tc/tc0100.cpp
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#include "tc0.h"
|
||||||
|
|
||||||
|
int tc0100(int argc, char **argv)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
35
tc/tc0500.cpp
Executable file
35
tc/tc0500.cpp
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
#include <tabapp.h>
|
||||||
|
|
||||||
|
#include "tc0.h"
|
||||||
|
#include "tcts.h"
|
||||||
|
|
||||||
|
|
||||||
|
class TTeamSystem_multirel_app : public TMultirel_application
|
||||||
|
{
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void get_mask_name(TString& tabname) const;
|
||||||
|
//magico metodo per impedire la navigazione su tabelle diverse da quella corrente del cursore
|
||||||
|
virtual bool has_filtered_cursor() const { return true; }
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
TTeamSystem_multirel_app() {}
|
||||||
|
virtual ~TTeamSystem_multirel_app() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void TTeamSystem_multirel_app::get_mask_name(TString& tabname) const
|
||||||
|
{
|
||||||
|
TMultirel_application::get_mask_name(tabname);
|
||||||
|
tabname.overwrite("ts", 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int tc0500(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
TTeamSystem_multirel_app a;
|
||||||
|
a.run(argc, argv, TR("Tabella"));
|
||||||
|
return 0;
|
||||||
|
}
|
20
tc/tc1.cpp
Executable file
20
tc/tc1.cpp
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#include <xvt.h>
|
||||||
|
|
||||||
|
#include "tc1.h"
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
const int op = argc < 2 ? 0 : argv[1][1]-'0';
|
||||||
|
switch (op)
|
||||||
|
{
|
||||||
|
case 0: tc1100(argc,argv); break; //trasferimento zucchetti
|
||||||
|
default: tc1100(argc,argv); break;
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
20
tc/tc1.h
Executable file
20
tc/tc1.h
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#ifndef __TC1_H
|
||||||
|
#define __TC1_H
|
||||||
|
|
||||||
|
int tc1100(int argc, char** argv);
|
||||||
|
|
||||||
|
#endif // __TC1_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
618
tc/tc1100.cpp
Executable file
618
tc/tc1100.cpp
Executable file
@ -0,0 +1,618 @@
|
|||||||
|
#include <applicat.h>
|
||||||
|
#include <automask.h>
|
||||||
|
#include <filetext.h>
|
||||||
|
|
||||||
|
#include "tc1.h"
|
||||||
|
#include "tc1100a.h"
|
||||||
|
|
||||||
|
#include <clifo.h>
|
||||||
|
#include <mov.h>
|
||||||
|
#include <rmov.h>
|
||||||
|
#include <rmoviva.h>
|
||||||
|
|
||||||
|
#define ALIAS_REG 100
|
||||||
|
|
||||||
|
class TInvio_file: public TFile_text
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual void validate(TCursor& cur,TRecord_text &rec, TToken_string &val, TString& str);
|
||||||
|
|
||||||
|
public:
|
||||||
|
TInvio_file(const TString& file_name);
|
||||||
|
virtual ~TInvio_file() { }
|
||||||
|
};
|
||||||
|
|
||||||
|
TInvio_file::TInvio_file(const TString& file_name)
|
||||||
|
: TFile_text(file_name, "tc1100a.ini")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
class TInvio_mask : public TAutomask
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
|
public:
|
||||||
|
|
||||||
|
TInvio_mask();
|
||||||
|
|
||||||
|
virtual ~TInvio_mask(){};
|
||||||
|
};
|
||||||
|
|
||||||
|
TInvio_mask::TInvio_mask() :TAutomask ("tc1100a")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TInvio_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
|
{
|
||||||
|
switch (o.dlg())
|
||||||
|
{
|
||||||
|
case F_CODDITTA:
|
||||||
|
if (e==fe_init && o.empty())
|
||||||
|
{
|
||||||
|
set(F_CODDITTA, main_app().get_firm());
|
||||||
|
((TEdit_field&) o).check();
|
||||||
|
disable(F_CODDITTA);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
class TInvio : public TSkeleton_application
|
||||||
|
{
|
||||||
|
TCursor* _cur;
|
||||||
|
TInvio_mask* _msk;
|
||||||
|
TInvio_file* _trasfile;
|
||||||
|
long _nrecords, _nrecsfattvend, _nrecsfattacqu, _nrecsmocontab;
|
||||||
|
int _nfiles;
|
||||||
|
long _nrecsdettaglio;
|
||||||
|
TString16 _descrdettaglio;
|
||||||
|
TDate _dataini, _datafin;
|
||||||
|
bool _totale, _finemov;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool create(void);
|
||||||
|
virtual bool destroy(void);
|
||||||
|
virtual void main_loop() ;
|
||||||
|
void invio_zucchetti();
|
||||||
|
long i_zucchetti_causali(const bool invio = TRUE);
|
||||||
|
long i_zucchetti_clifor(const bool invio = TRUE);
|
||||||
|
long i_zucchetti_conti(const bool invio = TRUE);
|
||||||
|
long i_zucchetti_movcont(const bool invio = TRUE);
|
||||||
|
long i_zucchetti_moviva(const char acqven, const bool invio = TRUE);
|
||||||
|
void i_zucchetti_testa_dettaglio(const TString16& descr, const long nrecs);
|
||||||
|
void i_zucchetti_coda_dettaglio(const TString16& descr, const long nrecs);
|
||||||
|
void i_zucchetti_testa();
|
||||||
|
void i_zucchetti_coda();
|
||||||
|
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;};
|
||||||
|
TInvio() {} ;
|
||||||
|
virtual ~TInvio() {} ;
|
||||||
|
};
|
||||||
|
|
||||||
|
// restituisce un riferimento all' applicazione
|
||||||
|
inline TInvio& app() { return (TInvio&) main_app();}
|
||||||
|
|
||||||
|
// gestione dei messaggi estesi nei campi
|
||||||
|
void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TString& str)
|
||||||
|
{
|
||||||
|
const TString code(s.get(0));
|
||||||
|
TString valore;
|
||||||
|
if (code == "_FISSO")
|
||||||
|
{
|
||||||
|
// gestione dei campi fissi per i record delle riba
|
||||||
|
// sintassi: _FISSO,!<valore>
|
||||||
|
// dove: <valore> è la stringa fissa da emettere
|
||||||
|
TString in(s.get());
|
||||||
|
CHECK(in[0]=='!',"Macro _FISSO senza carattere '!'");
|
||||||
|
in.ltrim(1);
|
||||||
|
in.trim();
|
||||||
|
valore = in;
|
||||||
|
}
|
||||||
|
else if (code == "_ANNO")
|
||||||
|
{
|
||||||
|
TDate data(str);
|
||||||
|
int anno = data.year();
|
||||||
|
valore.format("%ld", anno);
|
||||||
|
}
|
||||||
|
else if (code == "_MESE")
|
||||||
|
{
|
||||||
|
TDate data(str);
|
||||||
|
int mese = data.month();
|
||||||
|
valore.format("%ld", mese);
|
||||||
|
}
|
||||||
|
else if (code == "_SEZIONE")
|
||||||
|
{
|
||||||
|
valore = str;
|
||||||
|
const char sezione = s.get()[0];
|
||||||
|
const char sezriga = cur.curr(LF_RMOV).get_char(RMV_SEZIONE);
|
||||||
|
if (sezione != sezriga)
|
||||||
|
valore = "";
|
||||||
|
}
|
||||||
|
else if (code == "_CAUSALE")
|
||||||
|
{
|
||||||
|
TFilename configname = "tc1100conf.ini";
|
||||||
|
TConfig configfile(configname);
|
||||||
|
TToken_string causali = configfile.get("STANDARD", "CAUSALI");
|
||||||
|
const char sezione = cur.curr(LF_RMOV).get_char(RMV_SEZIONE);
|
||||||
|
if (sezione == 'D')
|
||||||
|
valore = causali.get(0);
|
||||||
|
else
|
||||||
|
valore = causali.get(1);
|
||||||
|
}
|
||||||
|
else if (code == "_NUMFILES")
|
||||||
|
{
|
||||||
|
const int nfiles = app().get_nfiles();
|
||||||
|
valore.format("%ld", nfiles);
|
||||||
|
}
|
||||||
|
else if (code == "_NUMRECORDS")
|
||||||
|
{
|
||||||
|
const long nrecords = app().get_nrecords();
|
||||||
|
valore.format("%ld", nrecords);
|
||||||
|
}
|
||||||
|
else if (code == "_NUMRECORDSDETTAGLIO")
|
||||||
|
{
|
||||||
|
const long nrecords = app().get_nrecsdettaglio();
|
||||||
|
valore.format("%ld", nrecords);
|
||||||
|
}
|
||||||
|
else if (code == "_TIPOFILE")
|
||||||
|
{
|
||||||
|
valore = app().get_descrdettaglio();
|
||||||
|
}
|
||||||
|
else if (code == "_OPZIONI")
|
||||||
|
{
|
||||||
|
TString in(s.get());
|
||||||
|
TFilename configname = "tc1100conf.ini";
|
||||||
|
TConfig configfile(configname);
|
||||||
|
valore = configfile.get(in, "OPZIONI");
|
||||||
|
}
|
||||||
|
else if (code == "_OGGI")
|
||||||
|
{
|
||||||
|
TDate data(TODAY);
|
||||||
|
valore = data.string(full, '-', full, full, amg_date);
|
||||||
|
valore.strip("-");
|
||||||
|
}
|
||||||
|
else if (code == "_CODIFICA")
|
||||||
|
{
|
||||||
|
const char tipocf = str[0];
|
||||||
|
if (tipocf == 'C')
|
||||||
|
valore = "P";
|
||||||
|
else
|
||||||
|
valore = "R";
|
||||||
|
}
|
||||||
|
else if (code == "_NUMDOC")
|
||||||
|
{
|
||||||
|
if (cur.file("REG").get("I0") == 1)
|
||||||
|
valore = cur.curr().get(MOV_NUMDOC);
|
||||||
|
else
|
||||||
|
valore = cur.curr().get(MOV_PROTIVA);
|
||||||
|
}
|
||||||
|
else if (code == "_SEGNO")
|
||||||
|
{
|
||||||
|
TString archivio(s.get());
|
||||||
|
TString campo(s.get());
|
||||||
|
const real importo = cur.curr(archivio).get_real(campo);
|
||||||
|
valore = "+";
|
||||||
|
if (importo < 0)
|
||||||
|
valore = "-";
|
||||||
|
}
|
||||||
|
else if (code == "_IMPORTO")
|
||||||
|
{
|
||||||
|
real importo(str);
|
||||||
|
valore = importo.string(0,2);
|
||||||
|
valore.strip("-");
|
||||||
|
valore.strip("+");
|
||||||
|
valore.strip(".");
|
||||||
|
}
|
||||||
|
else if (code == "_TIPODOC")
|
||||||
|
{
|
||||||
|
const char tipodoc = str[0];
|
||||||
|
valore = (tipodoc == 'F') ? "1" : "2";
|
||||||
|
}
|
||||||
|
else if (code == "_DIVERSI")
|
||||||
|
{
|
||||||
|
valore = (app().finemov() ? "X" : " ");
|
||||||
|
}
|
||||||
|
else if (code == "_TOTALE")
|
||||||
|
{
|
||||||
|
real importo(ZERO);
|
||||||
|
if (app().totale())
|
||||||
|
{
|
||||||
|
importo = cur.curr(LF_MOV).get_real(MOV_TOTDOC);
|
||||||
|
importo+=cur.curr(LF_MOV).get_real(MOV_RITFIS);
|
||||||
|
}
|
||||||
|
valore = importo.string(11,2);
|
||||||
|
valore.strip("-");
|
||||||
|
valore.strip("+");
|
||||||
|
valore.strip(".");
|
||||||
|
}
|
||||||
|
else if (code == "_SEGNOTOTALE")
|
||||||
|
{
|
||||||
|
real importo(ZERO);
|
||||||
|
if (app().totale())
|
||||||
|
{
|
||||||
|
importo = cur.curr(LF_MOV).get_real(MOV_TOTDOC);
|
||||||
|
importo+=cur.curr(LF_MOV).get_real(MOV_RITFIS);
|
||||||
|
}
|
||||||
|
valore = importo.string(11,2);
|
||||||
|
valore.trim();
|
||||||
|
valore = valore.sub(0,1);
|
||||||
|
if (valore[0] != '-' && valore[0] != '+')
|
||||||
|
valore = "+";
|
||||||
|
}
|
||||||
|
else if (code == "_GIUFIS")
|
||||||
|
{
|
||||||
|
const char tipopers = cur.curr(LF_CLIFO).get_char(CLI_TIPOPERS);
|
||||||
|
valore = (tipopers == 'F') ? " " : "S";
|
||||||
|
}
|
||||||
|
else if (code == "_BLACKLIST")
|
||||||
|
{
|
||||||
|
const bool sospeso = cur.curr(LF_CLIFO).get_bool(CLI_SOSPESO);
|
||||||
|
valore = (sospeso == true) ? "S" : " ";
|
||||||
|
}
|
||||||
|
else NFCHECK("Macro non definita: %s", (const char *)code);
|
||||||
|
str = valore;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TInvio::i_zucchetti_testa()
|
||||||
|
{
|
||||||
|
// cursore fittizio
|
||||||
|
TRelation rel(LF_CAUSALI);
|
||||||
|
TCursor cur(&rel);
|
||||||
|
_nrecords = 0;
|
||||||
|
_nfiles = 0;
|
||||||
|
if (_msk->get_bool(F_CAUSALI))
|
||||||
|
{
|
||||||
|
_nrecords += i_zucchetti_causali(FALSE)+2;
|
||||||
|
_nfiles++;
|
||||||
|
}
|
||||||
|
if (_msk->get_bool(F_CLIFOR))
|
||||||
|
{
|
||||||
|
_nrecords += i_zucchetti_clifor(FALSE)+2;
|
||||||
|
_nfiles++;
|
||||||
|
}
|
||||||
|
if (_msk->get_bool(F_CONTI))
|
||||||
|
{
|
||||||
|
_nrecords += i_zucchetti_conti(FALSE)+2;
|
||||||
|
_nfiles++;
|
||||||
|
}
|
||||||
|
if (_msk->get_bool(F_MOVCONT))
|
||||||
|
{
|
||||||
|
_nrecsmocontab = i_zucchetti_movcont(FALSE);
|
||||||
|
if (_nrecsmocontab > 0)
|
||||||
|
{
|
||||||
|
_nrecords += _nrecsmocontab+2;
|
||||||
|
_nfiles++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (_msk->get_bool(F_MOVIVA))
|
||||||
|
{
|
||||||
|
_nrecsfattvend = i_zucchetti_moviva('V', FALSE);
|
||||||
|
if (_nrecsfattvend > 0)
|
||||||
|
{
|
||||||
|
_nrecords += _nrecsfattvend+2;
|
||||||
|
_nfiles++;
|
||||||
|
}
|
||||||
|
_nrecsfattacqu = i_zucchetti_moviva('A', FALSE);
|
||||||
|
if (_nrecsfattacqu > 0)
|
||||||
|
{
|
||||||
|
_nrecords += _nrecsfattacqu+2;
|
||||||
|
_nfiles++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
TRecord_text rec;
|
||||||
|
rec.set_type("I");
|
||||||
|
_trasfile->autoload(rec, cur);
|
||||||
|
_trasfile->write(rec);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TInvio::i_zucchetti_testa_dettaglio(const TString16& descr, const long nrecs)
|
||||||
|
{
|
||||||
|
// cursore fittizio
|
||||||
|
TRelation rel(LF_CAUSALI);
|
||||||
|
TCursor cur(&rel);
|
||||||
|
_nrecsdettaglio = nrecs;
|
||||||
|
_descrdettaglio = descr;
|
||||||
|
TRecord_text rec;
|
||||||
|
rec.set_type("F");
|
||||||
|
_trasfile->autoload(rec, cur);
|
||||||
|
_trasfile->write(rec);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TInvio::i_zucchetti_coda_dettaglio(const TString16& descr, const long nrecs)
|
||||||
|
{
|
||||||
|
// cursore fittizio
|
||||||
|
TRelation rel(LF_CAUSALI);
|
||||||
|
TCursor cur(&rel);
|
||||||
|
_nrecsdettaglio = nrecs;
|
||||||
|
_descrdettaglio = descr;
|
||||||
|
TRecord_text rec;
|
||||||
|
rec.set_type("E");
|
||||||
|
_trasfile->autoload(rec, cur);
|
||||||
|
_trasfile->write(rec);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TInvio::i_zucchetti_coda()
|
||||||
|
{
|
||||||
|
TRelation rel(LF_CAUSALI);
|
||||||
|
TCursor cur(&rel);
|
||||||
|
TRecord_text rec;
|
||||||
|
rec.set_type("C");
|
||||||
|
_trasfile->autoload(rec, cur);
|
||||||
|
_trasfile->write(rec);
|
||||||
|
}
|
||||||
|
|
||||||
|
long TInvio::i_zucchetti_causali(const bool invio)
|
||||||
|
{
|
||||||
|
TRelation rel(LF_CAUSALI);
|
||||||
|
TCursor cur(&rel);
|
||||||
|
const long cur_items = cur.items();
|
||||||
|
if (cur_items != 0 && invio)
|
||||||
|
{
|
||||||
|
i_zucchetti_testa_dettaglio("CAUSMOVM", cur_items);
|
||||||
|
cur.freeze();
|
||||||
|
TRectype& cur_rec = cur.curr();
|
||||||
|
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||||
|
{
|
||||||
|
TRecord_text rec;
|
||||||
|
rec.set_type("21");
|
||||||
|
_trasfile->autoload(rec, cur);
|
||||||
|
_trasfile->write(rec);
|
||||||
|
}
|
||||||
|
i_zucchetti_coda_dettaglio("CAUSMOVM", cur_items);
|
||||||
|
}
|
||||||
|
return cur_items;
|
||||||
|
}
|
||||||
|
|
||||||
|
long TInvio::i_zucchetti_conti(const bool invio)
|
||||||
|
{
|
||||||
|
TRelation rel(LF_PCON);
|
||||||
|
TCursor cur(&rel);
|
||||||
|
const long cur_items = cur.items();
|
||||||
|
if (cur_items != 0 && invio)
|
||||||
|
{
|
||||||
|
i_zucchetti_testa_dettaglio("DESCONTI", cur_items);
|
||||||
|
cur.freeze();
|
||||||
|
TRectype& cur_rec = cur.curr();
|
||||||
|
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||||
|
{
|
||||||
|
TRecord_text rec;
|
||||||
|
rec.set_type("20");
|
||||||
|
_trasfile->autoload(rec, cur);
|
||||||
|
_trasfile->write(rec);
|
||||||
|
}
|
||||||
|
i_zucchetti_coda_dettaglio("DESCONTI", cur_items);
|
||||||
|
}
|
||||||
|
return cur_items;
|
||||||
|
}
|
||||||
|
|
||||||
|
long TInvio::i_zucchetti_movcont(const bool invio)
|
||||||
|
{
|
||||||
|
TRectype da(LF_MOV);
|
||||||
|
TRectype a(LF_MOV);
|
||||||
|
da.put(MOV_DATAREG, _dataini);
|
||||||
|
a.put(MOV_DATAREG, _datafin);
|
||||||
|
TRelation rel(LF_MOV);
|
||||||
|
rel.add(LF_RMOV, "NUMREG==NUMREG", 1);
|
||||||
|
TCursor cur(&rel, "23->PROTIVA == \"\"", 2, &da, &a);
|
||||||
|
|
||||||
|
const long cur_items = cur.items();
|
||||||
|
long totrec = 0;
|
||||||
|
if (cur_items != 0)
|
||||||
|
{
|
||||||
|
if (invio)
|
||||||
|
i_zucchetti_testa_dettaglio("MOCONTAB", _nrecsmocontab);
|
||||||
|
cur.freeze();
|
||||||
|
TRectype& cur_rec = cur.curr();
|
||||||
|
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||||
|
{
|
||||||
|
const long numreg = cur.curr().get_long(MOV_NUMREG);
|
||||||
|
bool continua = TRUE;
|
||||||
|
while (continua)
|
||||||
|
{
|
||||||
|
const long numregrig = cur.curr(LF_RMOV).get_long(RMV_NUMREG);
|
||||||
|
if (numreg == numregrig)
|
||||||
|
{
|
||||||
|
if (invio)
|
||||||
|
{
|
||||||
|
TRectype& cur_rec_righe = cur.curr(LF_RMOV);
|
||||||
|
TRecord_text recrighe;
|
||||||
|
recrighe.set_type("50");
|
||||||
|
cur.save_status();
|
||||||
|
_finemov = !(cur.next_match(LF_RMOV, "NUMREG"));
|
||||||
|
cur.restore_status();
|
||||||
|
_trasfile->autoload(recrighe, cur);
|
||||||
|
_trasfile->write(recrighe);
|
||||||
|
}
|
||||||
|
totrec++;
|
||||||
|
}
|
||||||
|
continua = cur.next_match(LF_RMOV, "NUMREG");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (invio)
|
||||||
|
i_zucchetti_coda_dettaglio("MOCONTAB", _nrecsmocontab);
|
||||||
|
}
|
||||||
|
return totrec;
|
||||||
|
}
|
||||||
|
|
||||||
|
long TInvio::i_zucchetti_moviva(const char acqven, const bool invio)
|
||||||
|
{
|
||||||
|
TRectype da(LF_MOV);
|
||||||
|
TRectype a(LF_MOV);
|
||||||
|
da.put(MOV_DATAREG, _dataini);
|
||||||
|
a.put(MOV_DATAREG, _datafin);
|
||||||
|
TRelation rel(LF_MOV);
|
||||||
|
rel.add(LF_RMOVIVA, "NUMREG==NUMREG", 1);
|
||||||
|
rel.add("REG", "CODTAB[1,4]==ANNOIVA|CODTAB[5,7]==REG", 1);
|
||||||
|
TString filtro = "(23->PROTIVA != \"\") && ";
|
||||||
|
if (acqven == 'V')
|
||||||
|
filtro << "(REG->I0 == 1)";
|
||||||
|
else
|
||||||
|
filtro << "(REG->I0 == 2)";
|
||||||
|
TCursor cur(&rel, "", 2, &da, &a);
|
||||||
|
cur.setfilter(filtro, TRUE);
|
||||||
|
const long cur_items = cur.items();
|
||||||
|
long totrec = 0;
|
||||||
|
if (cur_items != 0)
|
||||||
|
{
|
||||||
|
if (invio)
|
||||||
|
i_zucchetti_testa_dettaglio(acqven == 'V' ? "FATTVEND" : "FATTACQU", acqven == 'V' ? _nrecsfattvend : _nrecsfattacqu);
|
||||||
|
cur.freeze();
|
||||||
|
TRectype& cur_rec = cur.curr();
|
||||||
|
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||||
|
{
|
||||||
|
if (invio)
|
||||||
|
{
|
||||||
|
TRecord_text rec;
|
||||||
|
rec.set_type("30");
|
||||||
|
_trasfile->autoload(rec, cur);
|
||||||
|
_trasfile->write(rec);
|
||||||
|
}
|
||||||
|
totrec++;
|
||||||
|
const long numreg = cur.curr().get_long(MOV_NUMREG);
|
||||||
|
bool continua = TRUE;
|
||||||
|
while (continua)
|
||||||
|
{
|
||||||
|
const long numregrig = cur.curr(LF_RMOVIVA).get_long(RMI_NUMREG);
|
||||||
|
if (numreg == numregrig)
|
||||||
|
{
|
||||||
|
if (invio)
|
||||||
|
{
|
||||||
|
TRectype& cur_rec_righe = cur.curr(LF_RMOVIVA);
|
||||||
|
TRecord_text recrighe;
|
||||||
|
recrighe.set_type("31");
|
||||||
|
cur.save_status();
|
||||||
|
_totale = !(cur.next_match(LF_RMOVIVA, "NUMREG"));
|
||||||
|
cur.restore_status();
|
||||||
|
_trasfile->autoload(recrighe, cur);
|
||||||
|
_trasfile->write(recrighe);
|
||||||
|
}
|
||||||
|
totrec++;
|
||||||
|
}
|
||||||
|
continua = cur.next_match(LF_RMOVIVA, "NUMREG");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (invio)
|
||||||
|
i_zucchetti_coda_dettaglio(acqven == 'V' ? "FATTVEND" : "FATTACQU", acqven == 'V' ? _nrecsfattvend : _nrecsfattacqu);
|
||||||
|
}
|
||||||
|
return totrec;
|
||||||
|
}
|
||||||
|
|
||||||
|
long TInvio::i_zucchetti_clifor(const bool invio)
|
||||||
|
{
|
||||||
|
TRelation rel(LF_CLIFO);
|
||||||
|
TCursor cur(&rel);
|
||||||
|
const long cur_items = cur.items();
|
||||||
|
if (cur_items != 0 && invio)
|
||||||
|
{
|
||||||
|
i_zucchetti_testa_dettaglio("CLIEFORN", cur_items*2);
|
||||||
|
cur.freeze();
|
||||||
|
TRectype& cur_rec = cur.curr();
|
||||||
|
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||||
|
{
|
||||||
|
TRecord_text rec;
|
||||||
|
|
||||||
|
rec.set_type("10");
|
||||||
|
_trasfile->autoload(rec, cur);
|
||||||
|
_trasfile->write(rec);
|
||||||
|
|
||||||
|
rec.set_type("11");
|
||||||
|
_trasfile->autoload(rec, cur);
|
||||||
|
_trasfile->write(rec);
|
||||||
|
}
|
||||||
|
i_zucchetti_coda_dettaglio("CLIEFORN", cur_items*2);
|
||||||
|
}
|
||||||
|
return cur_items+cur_items;
|
||||||
|
}
|
||||||
|
|
||||||
|
//metodone globale che chiama, come un menu, i vari sottometodi in base alle scelte sulla maschera
|
||||||
|
void TInvio::invio_zucchetti()
|
||||||
|
{
|
||||||
|
//prende i parametri dal file di configurazione dell'applicazione
|
||||||
|
TFilename configname = "tc1100a.ini";
|
||||||
|
TConfig configfile(configname);
|
||||||
|
//prepara il file su cui scrivere, ovvero il _trasfile
|
||||||
|
TFilename filename = _msk->get(F_DESTINAZIONE);
|
||||||
|
filename.add(configfile.get("NOMEFILE", "OPZIONI"));
|
||||||
|
if (filename.exist())
|
||||||
|
remove(filename);
|
||||||
|
|
||||||
|
_trasfile = new TInvio_file(filename);
|
||||||
|
_trasfile->open(filename,'w');
|
||||||
|
|
||||||
|
i_zucchetti_testa();
|
||||||
|
|
||||||
|
if (_msk->get_bool(F_CAUSALI))
|
||||||
|
i_zucchetti_causali();
|
||||||
|
if (_msk->get_bool(F_CLIFOR))
|
||||||
|
i_zucchetti_clifor();
|
||||||
|
if (_msk->get_bool(F_CONTI))
|
||||||
|
i_zucchetti_conti();
|
||||||
|
if (_msk->get_bool(F_MOVCONT))
|
||||||
|
i_zucchetti_movcont();
|
||||||
|
if (_msk->get_bool(F_MOVIVA))
|
||||||
|
{
|
||||||
|
i_zucchetti_moviva('V');
|
||||||
|
i_zucchetti_moviva('A');
|
||||||
|
}
|
||||||
|
i_zucchetti_coda();
|
||||||
|
_trasfile->close();
|
||||||
|
delete _trasfile;
|
||||||
|
_trasfile = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TInvio::create()
|
||||||
|
{
|
||||||
|
_msk = new TInvio_mask();
|
||||||
|
_trasfile = NULL;
|
||||||
|
return TSkeleton_application::create();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TInvio::destroy()
|
||||||
|
{
|
||||||
|
if (_trasfile)
|
||||||
|
delete _trasfile;
|
||||||
|
delete _msk;
|
||||||
|
|
||||||
|
return TSkeleton_application::destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TInvio::main_loop()
|
||||||
|
{
|
||||||
|
TFilename configname = "tc1100conf.ini";
|
||||||
|
configname.custom_path();
|
||||||
|
TConfig configfile(configname);
|
||||||
|
_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)
|
||||||
|
{
|
||||||
|
_totale = false;
|
||||||
|
_finemov = false;
|
||||||
|
configfile.set("NUMEROINVIO", _msk->get(F_NUMEROINVIO),"OPZIONI");
|
||||||
|
configfile.set("DATA", _msk->get_date(F_DATAFIN),"OPZIONI");
|
||||||
|
configfile.set("PERCORSO", _msk->get(F_DESTINAZIONE),"OPZIONI");
|
||||||
|
configfile.set_paragraph("CAUSALI");
|
||||||
|
_dataini = _msk->get_date(F_DATAINI);
|
||||||
|
_datafin = _msk->get_date(F_DATAFIN);
|
||||||
|
const char tipoinvio = _msk->get(F_TIPOINVIO)[0];
|
||||||
|
if (tipoinvio == 'Z')
|
||||||
|
invio_zucchetti();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int tc1100(int argc, char **argv)
|
||||||
|
{
|
||||||
|
TInvio a;
|
||||||
|
a.run(argc, argv, "Invio dati contabilità Zucchetti");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
18
tc/tc1100a.h
Executable file
18
tc/tc1100a.h
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
// invio dati ad altra procedura
|
||||||
|
|
||||||
|
#define F_CODDITTA 101
|
||||||
|
#define F_RAGSOC 102
|
||||||
|
#define F_CAUSALI 110
|
||||||
|
#define F_CONTI 111
|
||||||
|
#define F_CLIFOR 112
|
||||||
|
#define F_MOVCONT 113
|
||||||
|
#define F_MOVIVA 114
|
||||||
|
#define F_CORRISP 115
|
||||||
|
#define F_SALDACONTO 116
|
||||||
|
#define F_TIPOINVIO 120
|
||||||
|
#define F_DESTINAZIONE 121
|
||||||
|
#define F_NUMEROINVIO 122
|
||||||
|
#define F_DATAINI 123
|
||||||
|
#define F_DATAFIN 124
|
||||||
|
#define F_RIPRISTINA 125
|
||||||
|
#define F_DATARIPRISTINO 126
|
840
tc/tc1100a.ini
Executable file
840
tc/tc1100a.ini
Executable file
@ -0,0 +1,840 @@
|
|||||||
|
[MAIN]
|
||||||
|
DECSEP = ,
|
||||||
|
FIELDSEP =
|
||||||
|
RECORDSEP =
|
||||||
|
RECORDSIZE = 200
|
||||||
|
SKIPLINES = 0
|
||||||
|
TYPEFIELD = 0
|
||||||
|
TYPELEN = 0
|
||||||
|
TYPEPOS = -1
|
||||||
|
|
||||||
|
[TYPE STRINGA]
|
||||||
|
ALIGN = L
|
||||||
|
DATA = S
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = ' '
|
||||||
|
LENGTH = 0
|
||||||
|
PICTURE =
|
||||||
|
|
||||||
|
[TYPE NUMERO]
|
||||||
|
ALIGN = R
|
||||||
|
DATA = N
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = '0'
|
||||||
|
LENGTH = 0
|
||||||
|
PICTURE =
|
||||||
|
|
||||||
|
[TYPE DATA]
|
||||||
|
ALIGN =
|
||||||
|
DATA = D
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = '0'
|
||||||
|
LENGTH = 8
|
||||||
|
PICTURE = 3444
|
||||||
|
|
||||||
|
[TYPE IMPORTO]
|
||||||
|
ALIGN = R
|
||||||
|
DATA = S
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = '0'
|
||||||
|
LENGTH = 0
|
||||||
|
|
||||||
|
//record di testata
|
||||||
|
[RECORD I]
|
||||||
|
|
||||||
|
NAME(0) = TIPO RECORD TESTATA GENERALE
|
||||||
|
TYPE(0) = STRINGA
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 1
|
||||||
|
MESSAGE(0)=_FISSO,!T
|
||||||
|
|
||||||
|
NAME(1) = NUMERO FILE TRASFERITI
|
||||||
|
TYPE(1) = NUMERO
|
||||||
|
POSITION(1) = 1
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_NUMFILES
|
||||||
|
|
||||||
|
NAME(2) = NUMERO RECORD TRASFERITI
|
||||||
|
TYPE(2) = NUMERO
|
||||||
|
POSITION(2) = 4
|
||||||
|
LENGTH(2) = 13
|
||||||
|
MESSAGE(2)=_NUMRECORDS
|
||||||
|
|
||||||
|
NAME(3) = CODICE DITTA
|
||||||
|
TYPE(3) = NUMERO
|
||||||
|
POSITION(3) = 17
|
||||||
|
LENGTH(3) = 6
|
||||||
|
MESSAGE(3)=_OPZIONI,CODICEDITTA
|
||||||
|
|
||||||
|
NAME(4) = NUMERO SPEDIZIONE
|
||||||
|
TYPE(4) = NUMERO
|
||||||
|
POSITION(4) = 23
|
||||||
|
LENGTH(4) = 2
|
||||||
|
MESSAGE(4)=_OPZIONI,NUMEROINVIO
|
||||||
|
|
||||||
|
NAME(5) = DATA SPEDIZIONE
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
POSITION(5) = 25
|
||||||
|
LENGTH(5) = 8
|
||||||
|
MESSAGE(5)=_OGGI
|
||||||
|
|
||||||
|
NAME(6) = TIPO SPEDIZIONE
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 33
|
||||||
|
LENGTH(6) = 1
|
||||||
|
MESSAGE(6)=_FISSO,!V
|
||||||
|
|
||||||
|
//record di coda
|
||||||
|
[RECORD C]
|
||||||
|
|
||||||
|
NAME(0) = TIPO RECORD CODA GENERALE
|
||||||
|
TYPE(0) = STRINGA
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 1
|
||||||
|
MESSAGE(0)=_FISSO,!T
|
||||||
|
|
||||||
|
NAME(1) = NUMERO FILE TRASFERITI
|
||||||
|
TYPE(1) = NUMERO
|
||||||
|
POSITION(1) = 1
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_NUMFILES
|
||||||
|
|
||||||
|
NAME(2) = NUMERO RECORD TRASFERITI
|
||||||
|
TYPE(2) = NUMERO
|
||||||
|
POSITION(2) = 4
|
||||||
|
LENGTH(2) = 13
|
||||||
|
MESSAGE(2)=_NUMRECORDS
|
||||||
|
|
||||||
|
NAME(3) = CODICE DITTA
|
||||||
|
TYPE(3) = NUMERO
|
||||||
|
POSITION(3) = 17
|
||||||
|
LENGTH(3) = 6
|
||||||
|
MESSAGE(3)=_OPZIONI,CODICEDITTA
|
||||||
|
|
||||||
|
NAME(4) = NUMERO SPEDIZIONE
|
||||||
|
TYPE(4) = NUMERO
|
||||||
|
POSITION(4) = 23
|
||||||
|
LENGTH(4) = 2
|
||||||
|
MESSAGE(4)=_OPZIONI,NUMEROINVIO
|
||||||
|
|
||||||
|
NAME(5) = DATA SPEDIZIONE
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
POSITION(5) = 25
|
||||||
|
LENGTH(5) = 8
|
||||||
|
MESSAGE(5)=_OGGI
|
||||||
|
|
||||||
|
NAME(6) = TIPO SPEDIZIONE
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 33
|
||||||
|
LENGTH(6) = 1
|
||||||
|
MESSAGE(6)=_FISSO,!V
|
||||||
|
|
||||||
|
//record inizio dettagli
|
||||||
|
[RECORD F]
|
||||||
|
|
||||||
|
NAME(0) = TIPO RECORD TESTATA GRUPPO
|
||||||
|
TYPE(0) = STRINGA
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 1
|
||||||
|
MESSAGE(0)=_FISSO,!F
|
||||||
|
|
||||||
|
NAME(1) = TIPO FILE
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 1
|
||||||
|
LENGTH(1) = 8
|
||||||
|
MESSAGE(1)=_TIPOFILE
|
||||||
|
|
||||||
|
//record fine dettagli
|
||||||
|
[RECORD E]
|
||||||
|
|
||||||
|
NAME(0) = TIPO RECORD CODA GRUPPO
|
||||||
|
TYPE(0) = STRINGA
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 1
|
||||||
|
MESSAGE(0)=_FISSO,!E
|
||||||
|
|
||||||
|
NAME(1) = TIPO FILE
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 1
|
||||||
|
LENGTH(1) = 8
|
||||||
|
MESSAGE(1)=_TIPOFILE
|
||||||
|
|
||||||
|
NAME(2) = NUMERO RECORD TRASFERITI
|
||||||
|
TYPE(2) = NUMERO
|
||||||
|
POSITION(2) = 9
|
||||||
|
LENGTH(2) = 8
|
||||||
|
MESSAGE(2)=_NUMRECORDSDETTAGLIO
|
||||||
|
|
||||||
|
//clienti e fornitori prima parte
|
||||||
|
[RECORD 10]
|
||||||
|
|
||||||
|
NAME(1) = TIPO DETTAGLIO CLIFOR 1
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 0
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_FISSO,!D10
|
||||||
|
|
||||||
|
NAME(2) = FLAG CLIFO
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 1
|
||||||
|
FIELD(2) = 20->TIPOCF
|
||||||
|
|
||||||
|
NAME(3) = CODICE CLIFO
|
||||||
|
TYPE(3) = NUMERO
|
||||||
|
POSITION(3) = 4
|
||||||
|
LENGTH(3) = 6
|
||||||
|
FIELD(3) = 20->CODCF
|
||||||
|
|
||||||
|
NAME(4) = CODICE SOGGETTO
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 10
|
||||||
|
LENGTH(4) = 8
|
||||||
|
|
||||||
|
NAME(5) = COGNOME SOGGETTO
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
POSITION(5) = 18
|
||||||
|
LENGTH(5) = 25
|
||||||
|
FIELD(5) = 20->RAGSOC[1,25]
|
||||||
|
|
||||||
|
NAME(6) = NOME SOGGETTO
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 43
|
||||||
|
LENGTH(6) = 25
|
||||||
|
FIELD(6) = 20->RAGSOC[26,25]
|
||||||
|
|
||||||
|
NAME(7) = CODICE FISCALE
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
POSITION(7) = 68
|
||||||
|
LENGTH(7) = 16
|
||||||
|
FIELD(7) = 20->PAIV
|
||||||
|
|
||||||
|
NAME(8) = CODICE FISCALE ERRATO
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
POSITION(8) = 84
|
||||||
|
LENGTH(8) = 1
|
||||||
|
|
||||||
|
NAME(9) = SOGGETTO INTRACOMUNITARIO
|
||||||
|
TYPE(9) = STRINGA
|
||||||
|
POSITION(9) = 85
|
||||||
|
LENGTH(9) = 1
|
||||||
|
|
||||||
|
NAME(10) = FLAG COMPILATA DENOMINAZIONE
|
||||||
|
TYPE(10) = STRINGA
|
||||||
|
POSITION(10) = 86
|
||||||
|
LENGHT(10) = 1
|
||||||
|
MESSAGE(10)=_GIUFIS
|
||||||
|
|
||||||
|
NAME(11) = FILLER
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
POSITION(11) = 87
|
||||||
|
LENGTH(11) = 113
|
||||||
|
|
||||||
|
//clienti e fornitori seconda parte
|
||||||
|
[RECORD 11]
|
||||||
|
|
||||||
|
NAME(1) = TIPO DETTAGLIO CLIFOR 2
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 0
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_FISSO,!D11
|
||||||
|
|
||||||
|
NAME(2) = VIA DI RESIDENZA
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 32
|
||||||
|
FIELD(2)=20->INDCF
|
||||||
|
|
||||||
|
NAME(3) = NUMERO CIVICO
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 35
|
||||||
|
LENGTH(3) = 5
|
||||||
|
FIELD(3)=20->CIVCF
|
||||||
|
|
||||||
|
NAME(4) = CODICE COMUNE
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 40
|
||||||
|
LENGTH(4) = 4
|
||||||
|
FIELD(4)=20->COMCF
|
||||||
|
|
||||||
|
NAME(5) = CAP DI RESIDENZA
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
POSITION(5) = 44
|
||||||
|
LENGTH(5) = 5
|
||||||
|
FIELD(5)=20->CAPCF
|
||||||
|
|
||||||
|
NAME(6) = COMUNE DI RESIDENZA
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 49
|
||||||
|
LENGTH(6) = 23
|
||||||
|
|
||||||
|
NAME(7) = PROVINCIA DI RESIDENZA
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
POSITION(7) = 72
|
||||||
|
LENGTH(7) = 2
|
||||||
|
|
||||||
|
NAME(8) = PARTITA IVA
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
POSITION(8) = 74
|
||||||
|
LENGTH(8) = 11
|
||||||
|
FIELD(8)=20->PAIV
|
||||||
|
|
||||||
|
NAME(9) = PARTITA IVA ERRATA
|
||||||
|
TYPE(9) = STRINGA
|
||||||
|
POSITION(9) = 85
|
||||||
|
LENGTH(9) = 1
|
||||||
|
|
||||||
|
NAME(10) = TIPO SOGGETTO
|
||||||
|
TYPE(10) = STRINGA
|
||||||
|
POSITION(10) = 86
|
||||||
|
LENGTH(10) = 1
|
||||||
|
FIELD(10) = 20->TIPOPERS
|
||||||
|
|
||||||
|
NAME(11) = FLAG SAN MARINO
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
POSITION(11) = 87
|
||||||
|
LENGTH(11) = 1
|
||||||
|
|
||||||
|
NAME(12) = BOLLA DOGANALE
|
||||||
|
TYPE(12) = STRINGA
|
||||||
|
POSITION(12) = 88
|
||||||
|
LENGTH(12) = 1
|
||||||
|
|
||||||
|
NAME(13) = CODMOV DR770
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
POSITION(13) = 89
|
||||||
|
LENGTH(13) = 1
|
||||||
|
|
||||||
|
NAME(14) = BLACK LIST
|
||||||
|
TYPE(14) = STRINGA
|
||||||
|
POSITION(14) = 90
|
||||||
|
LENGTH(14) = 1
|
||||||
|
MESSAGE(14)=_BLACKLIST
|
||||||
|
|
||||||
|
NAME(15) = FILLER
|
||||||
|
TYPE(15) = STRINGA
|
||||||
|
POSITION(15) = 91
|
||||||
|
LENGTH(15) = 109
|
||||||
|
|
||||||
|
//sottoconti del piano dei conti
|
||||||
|
[RECORD 20]
|
||||||
|
|
||||||
|
NAME(1) = TIPO DETTAGLIO SOTTOCONTI
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 0
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_FISSO,!D20
|
||||||
|
|
||||||
|
NAME(2) = SOTTOCONTO
|
||||||
|
TYPE(2) = NUMERO
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 6
|
||||||
|
FIELD(2)=19->SOTTOCONTO
|
||||||
|
|
||||||
|
NAME(3) = DESCRIZIONE
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 9
|
||||||
|
LENGTH(3) = 30
|
||||||
|
FIELD(3)=19->DESCR
|
||||||
|
|
||||||
|
NAME(4) = DESCRIZIONE ABBREVIATA
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 39
|
||||||
|
LENGTH(4) = 10
|
||||||
|
FIELD(4)=19->DESCR[1,10]
|
||||||
|
|
||||||
|
NAME(5) = TIPO CONTO
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
POSITION(5) = 49
|
||||||
|
LENGTH(5) = 1
|
||||||
|
|
||||||
|
NAME(6) = ACQUISTI PER VENTILAZIONE
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 50
|
||||||
|
LENGTH(6) = 1
|
||||||
|
|
||||||
|
NAME(7) = ACQUISTI DESTINATI RIV
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
POSITION(7) = 51
|
||||||
|
LENGTH(7) = 1
|
||||||
|
|
||||||
|
NAME(8) = PERCENTUALE INDETRAIBILITA
|
||||||
|
TYPE(8) = NUMERO
|
||||||
|
POSITION(8) = 52
|
||||||
|
LENGTH(8) = 5
|
||||||
|
|
||||||
|
NAME(9) = FILLER
|
||||||
|
TYPE(9) = STRINGA
|
||||||
|
POSITION(9) = 57
|
||||||
|
LENGTH(9) = 143
|
||||||
|
|
||||||
|
//causali movimenti contabili
|
||||||
|
[RECORD 21]
|
||||||
|
|
||||||
|
NAME(1) = TIPO DETTAGLIO CAUSALI
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 0
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_FISSO,!D21
|
||||||
|
|
||||||
|
NAME(2) = CAUSALE
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 3
|
||||||
|
FIELD(2) = 26->CODCAUS
|
||||||
|
|
||||||
|
NAME(3) = DESCRIZIONE
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 6
|
||||||
|
LENGTH(3) = 29
|
||||||
|
FIELD(3) = 26->DESCR[1,29]
|
||||||
|
|
||||||
|
NAME(4) = LIMITE INFERIORE DARE
|
||||||
|
TYPE(4) = NUMERO
|
||||||
|
POSITION(4) = 35
|
||||||
|
LENGTH(4) = 6
|
||||||
|
|
||||||
|
NAME(5) = LIMITE SUPERIORE DARE
|
||||||
|
TYPE(5) = NUMERO
|
||||||
|
POSITION(5) = 41
|
||||||
|
LENGTH(5) = 6
|
||||||
|
|
||||||
|
NAME(6) = LIMITE INFERIORE AVERE
|
||||||
|
TYPE(6) = NUMERO
|
||||||
|
POSITION(6) = 47
|
||||||
|
LENGTH(6) = 6
|
||||||
|
|
||||||
|
NAME(7) = LIMITE SUPERIORE AVERE
|
||||||
|
TYPE(7) = NUMERO
|
||||||
|
POSITION(7) = 53
|
||||||
|
LENGTH(7) = 6
|
||||||
|
|
||||||
|
NAME(8) = FILLER
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
POSITION(8) = 59
|
||||||
|
LENGTH(8) = 141
|
||||||
|
|
||||||
|
//fatture: testate x fatture vendita, acquisti ,corrispettivi normali,corrispettivi ventilati
|
||||||
|
[RECORD 30]
|
||||||
|
|
||||||
|
NAME(1) = TIPO DETTAGLIO MOV IVA (FATTURE)
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 0
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_FISSO,!D30
|
||||||
|
|
||||||
|
NAME(2) = ATTIVITA IVA
|
||||||
|
TYPE(2) = NUMERO
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 2
|
||||||
|
|
||||||
|
NAME(3) = ANNO REGISTRAZIONE
|
||||||
|
TYPE(3) = NUMERO
|
||||||
|
POSITION(3) = 5
|
||||||
|
LENGTH(3) = 4
|
||||||
|
MESSAGE(3) = _ANNO
|
||||||
|
FIELD(3) = 23->DATAREG
|
||||||
|
|
||||||
|
NAME(4) = MESE REGISTRAZIONE
|
||||||
|
TYPE(4) = NUMERO
|
||||||
|
POSITION(4) = 9
|
||||||
|
LENGTH(4) = 2
|
||||||
|
MESSAGE(4) = _MESE
|
||||||
|
FIELD(4) = 23->DATAREG
|
||||||
|
|
||||||
|
NAME(5) = ANNO COMPETENZA
|
||||||
|
TYPE(5) = NUMERO
|
||||||
|
POSITION(5) = 11
|
||||||
|
LENGTH(5) = 4
|
||||||
|
MESSAGE(5) = _ANNO
|
||||||
|
FIELD(5) = 23->DATACOMP
|
||||||
|
|
||||||
|
NAME(6) = MESE COMPETENZA
|
||||||
|
TYPE(6) = NUMERO
|
||||||
|
POSITION(6) = 15
|
||||||
|
LENGTH(6) = 2
|
||||||
|
MESSAGE(6) = _MESE
|
||||||
|
FIELD(6) = 23->DATACOMP
|
||||||
|
|
||||||
|
NAME(7) = SEZIONE
|
||||||
|
TYPE(7) = NUMERO
|
||||||
|
POSITION(7) = 17
|
||||||
|
LENGTH(7) = 2
|
||||||
|
|
||||||
|
NAME(8) = TIPO DOCUMENTO
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
POSITION(8) = 19
|
||||||
|
LENGTH(8) = 1
|
||||||
|
FIELD(8) = 23->TIPODOC[1,1]
|
||||||
|
MESSAGE(8) = _TIPODOC
|
||||||
|
|
||||||
|
NAME(9) = TIPO FATTURA
|
||||||
|
TYPE(9) = STRINGA
|
||||||
|
POSITION(9) = 20
|
||||||
|
LENGTH(9) = 2
|
||||||
|
|
||||||
|
NAME(10) = NUMERO DOCUMENTO
|
||||||
|
TYPE(10) = NUMERO
|
||||||
|
POSITION(10) = 22
|
||||||
|
LENGTH(10) = 7
|
||||||
|
FIELD(10) = 23->NUMDOC
|
||||||
|
MESSAGE(10) = _NUMDOC
|
||||||
|
|
||||||
|
NAME(11) = NUMERO BIS
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
POSITION(11) = 29
|
||||||
|
LENGTH(11) = 1
|
||||||
|
|
||||||
|
NAME(12) = NUMERO FATTURA FORNITORE
|
||||||
|
TYPE(12) = STRINGA
|
||||||
|
POSITION(12) = 30
|
||||||
|
LENGTH(12) = 10
|
||||||
|
FIELD(12) = 23->NUMDOC
|
||||||
|
|
||||||
|
NAME(13) = DATA REGISTRAZIONE
|
||||||
|
TYPE(13) = DATA
|
||||||
|
POSITION(13) = 40
|
||||||
|
LENGTH(13) = 8
|
||||||
|
FIELD(13) = 23->DATAREG
|
||||||
|
|
||||||
|
NAME(14) = DATA FATTURA
|
||||||
|
TYPE(14) = DATA
|
||||||
|
POSITION(14) = 48
|
||||||
|
LENGTH(14) = 8
|
||||||
|
FIELD(14) = 23->DATADOC
|
||||||
|
|
||||||
|
NAME(15) = DATA SCADENZA
|
||||||
|
TYPE(15) = DATA
|
||||||
|
POSITION(15) = 56
|
||||||
|
LENGTH(15) = 8
|
||||||
|
|
||||||
|
NAME(16) = DATA RISCONTO
|
||||||
|
TYPE(16) = DATA
|
||||||
|
POSITION(16) = 64
|
||||||
|
LENGTH(16) = 8
|
||||||
|
|
||||||
|
NAME(17) = DATA RATEO
|
||||||
|
TYPE(17) = DATA
|
||||||
|
POSITION(17) = 72
|
||||||
|
LENGTH(17) = 8
|
||||||
|
|
||||||
|
NAME(18) = CODICE PAGAMENTO
|
||||||
|
TYPE(18) = NUMERO
|
||||||
|
POSITION(18) = 80
|
||||||
|
LENGTH(18) = 3
|
||||||
|
|
||||||
|
NAME(19) = TIPO PAGAMENTO
|
||||||
|
TYPE(19) = STRINGA
|
||||||
|
POSITION(19) = 83
|
||||||
|
LENGTH(19) = 1
|
||||||
|
|
||||||
|
NAME(20) = CENTRO DI COSTO CLIFOR
|
||||||
|
TYPE(20) = NUMERO
|
||||||
|
POSITION(20) = 84
|
||||||
|
LENGTH(20) = 4
|
||||||
|
|
||||||
|
NAME(21) = CODICE CLIFOR
|
||||||
|
TYPE(21) = NUMERO
|
||||||
|
POSITION(21) = 88
|
||||||
|
LENGTH(21) = 6
|
||||||
|
FIELD(21) = 23->CODCF
|
||||||
|
|
||||||
|
NAME(22) = TIPO CODIFICA
|
||||||
|
TYPE(22) = STRINGA
|
||||||
|
POSITION(22) = 94
|
||||||
|
LENGTH(22) = 1
|
||||||
|
FIELD(22) = 23->TIPO
|
||||||
|
MESSAGE(22) = _CODIFICA
|
||||||
|
|
||||||
|
NAME(23) = CODICE CODIFICA PARTITA IVA
|
||||||
|
TYPE(23) = STRINGA
|
||||||
|
POSITION(23) = 95
|
||||||
|
LENGTH(23) = 16
|
||||||
|
|
||||||
|
NAME(24) = DESCRIZIONE ALTERNATIVA
|
||||||
|
TYPE(24) = STRINGA
|
||||||
|
POSITION(24) = 111
|
||||||
|
LENGTH(24) = 29
|
||||||
|
|
||||||
|
NAME(25) = TIPO DESCRIZIONE AGGIUNTIVA
|
||||||
|
TYPE(25) = STRINGA
|
||||||
|
POSITION(25) = 140
|
||||||
|
LENGTH(25) = 1
|
||||||
|
|
||||||
|
NAME(26) = FLAG PARTITA
|
||||||
|
TYPE(26) = STRINGA
|
||||||
|
POSITION(26) = 141
|
||||||
|
LENGTH(26) = 1
|
||||||
|
|
||||||
|
NAME(27) = MESE STAMPA
|
||||||
|
TYPE(27) = NUMERO
|
||||||
|
POSITION(27) = 142
|
||||||
|
LENGTH(27) = 2
|
||||||
|
|
||||||
|
NAME(28) = IMPORTO ALTRE RITENUTE
|
||||||
|
TYPE(28) = IMPORTO
|
||||||
|
POSITION(28) = 144
|
||||||
|
LENGTH(28) = 11
|
||||||
|
|
||||||
|
NAME(29) = SEGNO
|
||||||
|
TYPE(29) = STRINGA
|
||||||
|
POSITION(29) = 155
|
||||||
|
LENGTH(29) = 1
|
||||||
|
MESSAGE(29) = _SEGNO
|
||||||
|
|
||||||
|
NAME(30) = RITENUTA ACCONTO
|
||||||
|
TYPE(30) = IMPORTO
|
||||||
|
POSITION(30) = 156
|
||||||
|
LENGTH(30) = 11
|
||||||
|
FIELD(30) = 23->RITFIS
|
||||||
|
MESSAGE(30) = _IMPORTO
|
||||||
|
|
||||||
|
NAME(31) = SEGNO
|
||||||
|
TYPE(31) = STRINGA
|
||||||
|
POSITION(31) = 167
|
||||||
|
LENGTH(31) = 1
|
||||||
|
MESSAGE(31) = _SEGNO,23,RITFIS
|
||||||
|
|
||||||
|
NAME(32) = FLAG CONTABILIZZAZIONE
|
||||||
|
TYPE(32) = STRINGA
|
||||||
|
POSITION(32) = 168
|
||||||
|
LENGTH(32) = 1
|
||||||
|
|
||||||
|
NAME(33) = MITTENTE
|
||||||
|
TYPE(33) = STRINGA
|
||||||
|
POSITION(33) = 169
|
||||||
|
LENGTH(33) = 5
|
||||||
|
|
||||||
|
NAME(34) = CHIAVE FATTURA MITTENTE
|
||||||
|
TYPE(34) = STRINGA
|
||||||
|
POSITION(34) = 174
|
||||||
|
LENGTH(34) = 10
|
||||||
|
|
||||||
|
NAME(35) = FILLER
|
||||||
|
TYPE(35) = STRINGA
|
||||||
|
POSITION(35) = 184
|
||||||
|
LENGTH(35) = 16
|
||||||
|
|
||||||
|
//righe fatture: righe x fatture vendita, acquisti ,corrispettivi normali,corrispettivi ventilati
|
||||||
|
[RECORD 31]
|
||||||
|
|
||||||
|
NAME(1) = TIPO DETTAGLIO RIGHE MOVIVA (RIGHE FATTURA)
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 0
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_FISSO,!D31
|
||||||
|
|
||||||
|
NAME(2) = CODICE IVA
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 2
|
||||||
|
FIELD(2)= 25->CODIVA[1,2]
|
||||||
|
FILLER(2) = '0'
|
||||||
|
|
||||||
|
NAME(3) = IMPORTO IMPONIBILE EURO
|
||||||
|
TYPE(3) = IMPORTO
|
||||||
|
POSITION(3) = 5
|
||||||
|
LENGTH(3) = 11
|
||||||
|
FIELD(3)= 25->IMPONIBILE
|
||||||
|
MESSAGE(3) = _IMPORTO
|
||||||
|
|
||||||
|
NAME(4) = SEGNO IMPONIBILE
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 16
|
||||||
|
LENGTH(4) = 1
|
||||||
|
MESSAGE(4) = _SEGNO,25,IMPONIBILE
|
||||||
|
|
||||||
|
NAME(5) = IMPORTO IMPOSTA EURO
|
||||||
|
TYPE(5) = IMPORTO
|
||||||
|
POSITION(5) = 17
|
||||||
|
LENGTH(5) = 11
|
||||||
|
FIELD(5)= 25->IMPOSTA
|
||||||
|
MESSAGE(5) = _IMPORTO
|
||||||
|
|
||||||
|
NAME(6) = SEGNO IMPOSTA
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 28
|
||||||
|
LENGTH(6) = 1
|
||||||
|
MESSAGE(6) = _SEGNO,25,IMPOSTA
|
||||||
|
|
||||||
|
NAME(7) = CODICE NORMA
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
POSITION(7) = 29
|
||||||
|
LENGTH(7) = 2
|
||||||
|
FIELD(7) = 25->CODIVA[3,4]
|
||||||
|
FILLER(7) = '0'
|
||||||
|
|
||||||
|
NAME(8) = CENTRO DI COSTO
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
POSITION(8) = 31
|
||||||
|
LENGTH(8) = 4
|
||||||
|
|
||||||
|
NAME(9) = CONTROPARTITA
|
||||||
|
TYPE(9) = NUMERO
|
||||||
|
POSITION(9) = 35
|
||||||
|
LENGTH(9) = 6
|
||||||
|
FIELD(9) = 25->SOTTOCONTO
|
||||||
|
|
||||||
|
NAME(10) = IMPORTO TOTALE EURO
|
||||||
|
TYPE(10) = IMPORTO
|
||||||
|
POSITION(10) = 41
|
||||||
|
LENGTH(10) = 11
|
||||||
|
MESSAGE(10)= _TOTALE
|
||||||
|
|
||||||
|
NAME(11) = SEGNO TOTALE
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
POSITION(11) = 52
|
||||||
|
LENGTH(11) = 1
|
||||||
|
MESSAGE(11)= _SEGNOTOTALE
|
||||||
|
|
||||||
|
NAME(12) = IMPORTO VALUTA
|
||||||
|
TYPE(12) = IMPORTO
|
||||||
|
POSITION(12) = 53
|
||||||
|
LENGTH(12) = 13
|
||||||
|
|
||||||
|
NAME(13) = SEGNO VALUTA
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
POSITION(13) = 66
|
||||||
|
LENGTH(13) = 1
|
||||||
|
MESSAGE(13) = _FISSO,!+
|
||||||
|
|
||||||
|
NAME(14) = TIPO VALUTA
|
||||||
|
TYPE(14) = STRINGA
|
||||||
|
POSITION(14) = 67
|
||||||
|
LENGTH(14) = 3
|
||||||
|
|
||||||
|
NAME(15) = CODICE CEE
|
||||||
|
TYPE(15) = STRINGA
|
||||||
|
POSITION(15) = 70
|
||||||
|
LENGTH(15) = 2
|
||||||
|
|
||||||
|
NAME(16) = FILLER
|
||||||
|
TYPE(16) = STRINGA
|
||||||
|
POSITION(16) = 72
|
||||||
|
LENGTH(16) = 128
|
||||||
|
|
||||||
|
//movimento contabile di prima nota
|
||||||
|
[RECORD 50]
|
||||||
|
|
||||||
|
NAME(1) = TIPO DETTAGLIO MOV CONT
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 0
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_FISSO,!D50
|
||||||
|
|
||||||
|
NAME(2) = DATA REGISTRAZIONE
|
||||||
|
TYPE(2) = DATA
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 8
|
||||||
|
FIELD(2) = 23->DATAREG
|
||||||
|
|
||||||
|
NAME(3) = CODICE CAUSALE
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 11
|
||||||
|
LENGTH(3) = 3
|
||||||
|
FIELD(3) = 23->CODCAUS
|
||||||
|
MESSAGE(3) = _CAUSALE
|
||||||
|
|
||||||
|
NAME(4) = DESCRIZIONE
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 14
|
||||||
|
LENGTH(4) = 29
|
||||||
|
FIELD(4) = 23->DESCR
|
||||||
|
|
||||||
|
NAME(5) = IMPORTO EURO
|
||||||
|
TYPE(5) = IMPORTO
|
||||||
|
POSITION(5) = 43
|
||||||
|
LENGTH(5) = 13
|
||||||
|
FIELD(5) = 24->IMPORTO
|
||||||
|
MESSAGE(5) = _IMPORTO
|
||||||
|
|
||||||
|
NAME(6) = SEGNO IMPORTO
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 56
|
||||||
|
LENGTH(6) = 1
|
||||||
|
MESSAGE(6) = _SEGNO,23,TOTDOC
|
||||||
|
|
||||||
|
NAME(7) = CENTRO DI COSTO DARE
|
||||||
|
TYPE(7) = NUMERO
|
||||||
|
POSITION(7) = 57
|
||||||
|
LENGTH(7) = 4
|
||||||
|
|
||||||
|
NAME(8) = SOTTOCONTO DARE
|
||||||
|
TYPE(8) = NUMERO
|
||||||
|
POSITION(8) = 61
|
||||||
|
LENGTH(8) = 6
|
||||||
|
FIELD(8) = 24->SOTTOCONTO
|
||||||
|
MESSAGE(8) = _SEZIONE,D
|
||||||
|
|
||||||
|
NAME(9) = CENTRO DI COSTO AVERE
|
||||||
|
TYPE(9) = NUMERO
|
||||||
|
POSITION(9) = 67
|
||||||
|
LENGTH(9) = 4
|
||||||
|
|
||||||
|
NAME(10) = SOTTOCONTO AVERE
|
||||||
|
TYPE(10) = NUMERO
|
||||||
|
POSITION(10) = 71
|
||||||
|
LENGTH(10) = 6
|
||||||
|
FIELD(10) = 24->SOTTOCONTO
|
||||||
|
MESSAGE(10)= _SEZIONE,A
|
||||||
|
|
||||||
|
NAME(11) = TIPO CODIFICA DARE
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
POSITION(11) = 77
|
||||||
|
LENGTH(11) = 1
|
||||||
|
|
||||||
|
NAME(12) = PARTITA IVA DARE
|
||||||
|
TYPE(12) = NUMERO
|
||||||
|
POSITION(12) = 78
|
||||||
|
LENGTH(12) = 16
|
||||||
|
|
||||||
|
NAME(13) = TIPO CODIFICA AVERE
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
POSITION(13) = 94
|
||||||
|
LENGTH(13) = 1
|
||||||
|
|
||||||
|
NAME(14) = PARTITA IVA AVERE
|
||||||
|
TYPE(14) = NUMERO
|
||||||
|
POSITION(14) = 95
|
||||||
|
LENGTH(14) = 16
|
||||||
|
|
||||||
|
NAME(15) = FLAG DIVERSI
|
||||||
|
TYPE(15) = STRINGA
|
||||||
|
POSITION(15) = 111
|
||||||
|
LENGTH(15) = 1
|
||||||
|
MESSAGE(15) = _DIVERSI
|
||||||
|
|
||||||
|
NAME(16) = FLAG CONTABILIZZAZIONE
|
||||||
|
TYPE(16) = STRINGA
|
||||||
|
POSITION(16) = 112
|
||||||
|
LENGTH(16) = 1
|
||||||
|
|
||||||
|
NAME(17) = FILLER
|
||||||
|
TYPE(17) = STRINGA
|
||||||
|
POSITION(17) = 113
|
||||||
|
LENGTH(17) = 87
|
||||||
|
|
||||||
|
//riga movimento contabile di prima nota
|
||||||
|
[RECORD 51]
|
||||||
|
|
||||||
|
NAME(1) = TIPO DETTAGLIO DESCRIZIONI AGGIUNTIVE MOV CONT
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 0
|
||||||
|
LENGTH(1) = 3
|
||||||
|
MESSAGE(1)=_FISSO,!D51
|
||||||
|
|
||||||
|
NAME(2) = DESCRIZIONE
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
POSITION(2) = 3
|
||||||
|
LENGTH(2) = 29
|
||||||
|
FIELD(2) = 24->DESCR
|
||||||
|
|
||||||
|
NAME(3) = FLAG FINE DESCRIZIONI
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 32
|
||||||
|
LENGTH(3) = 1
|
||||||
|
|
||||||
|
NAME(4) = FILLER
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 33
|
||||||
|
LENGTH(4) = 167
|
121
tc/tc1100a.uml
Executable file
121
tc/tc1100a.uml
Executable file
@ -0,0 +1,121 @@
|
|||||||
|
#include "cg7100a.h"
|
||||||
|
|
||||||
|
PAGE "Invio dati contabilita'" -1 -1 78 20
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 76 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "@bDitta corrente"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CODDITTA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 2 "Codice "
|
||||||
|
FLAGS "FD"
|
||||||
|
USE LF_NDITTE
|
||||||
|
INPUT CODDITTA F_CODDITTA
|
||||||
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOC 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 2 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 76 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Dati da inviare"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_CAUSALI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 5 "Causali"
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_CONTI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 6 "Conti"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_CLIFOR
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 7 "Clienti/Fornitori"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_MOVCONT
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 8 "Movimenti contabili"
|
||||||
|
MESSAGE TRUE,ENABLE F_DATAFIN
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_MOVIVA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 5 "Movimenti IVA"
|
||||||
|
MESSAGE TRUE,ENABLE F_DATAFIN
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_CORRISP
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 6 "Corrispettivi"
|
||||||
|
MESSAGE TRUE,ENABLE F_DATAFIN
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_SALDACONTO
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 7 "Saldaconto"
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_TIPOINVIO 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Invio a "
|
||||||
|
ITEM "Z|Zucchetti"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESTINAZIONE 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 11 "Destinazione "
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NUMEROINVIO 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 12 "Numero invio "
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAINI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 20 12 "Data iniz. "
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAFIN
|
||||||
|
BEGIN
|
||||||
|
PROMPT 44 12 "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
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
10
tc/tc1100conf.ini
Executable file
10
tc/tc1100conf.ini
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
[OPZIONI]
|
||||||
|
CODICEDITTA =
|
||||||
|
DATA =
|
||||||
|
NOMEFILE =
|
||||||
|
NUMEROINVIO =
|
||||||
|
PERCORSO =
|
||||||
|
|
||||||
|
[CAUSALI]
|
||||||
|
STANDARD=
|
||||||
|
|
21
tc/tc9.cpp
Executable file
21
tc/tc9.cpp
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#include <xvt.h>
|
||||||
|
|
||||||
|
#include "tc9.h"
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
const int op = argc < 2 ? 0 : argv[1][1]-'0';
|
||||||
|
switch (op)
|
||||||
|
{
|
||||||
|
case 0: tc9100(argc,argv); break; // Invio a Proforma
|
||||||
|
case 1: tc9200(argc,argv); break; // Invio a Sispac/Cosmo
|
||||||
|
default: tc9100(argc,argv); break;
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
21
tc/tc9.h
Executable file
21
tc/tc9.h
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#ifndef __TC9_H
|
||||||
|
#define __TC9_H
|
||||||
|
|
||||||
|
int tc9100(int argc, char** argv);
|
||||||
|
int tc9200(int argc, char** argv);
|
||||||
|
|
||||||
|
#endif // __TC9_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
1524
tc/tc9100.cpp
Executable file
1524
tc/tc9100.cpp
Executable file
File diff suppressed because it is too large
Load Diff
23
tc/tc9100a.h
Executable file
23
tc/tc9100a.h
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
// invio dati ad altra procedura (Proforma)
|
||||||
|
|
||||||
|
#define F_CODDITTA 301
|
||||||
|
#define F_RAGSOC 302
|
||||||
|
#define F_MOVIMENTI 303
|
||||||
|
#define F_CLIENTI 304
|
||||||
|
#define F_FORNITORI 305
|
||||||
|
#define F_CONTI 306
|
||||||
|
#define F_PAGAMENTI 307
|
||||||
|
#define F_TIPOINVIO 308
|
||||||
|
#define F_DESTINAZIONE 309
|
||||||
|
#define F_DATAINI 310
|
||||||
|
#define F_DATAFIN 311
|
||||||
|
#define F_RIPRISTINA 312
|
||||||
|
#define F_DATARIPRISTINO 313
|
||||||
|
|
||||||
|
#define F_PDCC 315
|
||||||
|
|
||||||
|
#define S_TIPO 101
|
||||||
|
#define S_GRUPPO 102
|
||||||
|
#define S_CONTO 103
|
||||||
|
#define S_SOTTOCONTO 104
|
||||||
|
#define S_DESCRIZIONE 105
|
432
tc/tc9100a.ini
Executable file
432
tc/tc9100a.ini
Executable file
@ -0,0 +1,432 @@
|
|||||||
|
[MAIN]
|
||||||
|
DECSEP = ,
|
||||||
|
FIELDSEP =
|
||||||
|
RECORDSEP =
|
||||||
|
RECORDSIZE =
|
||||||
|
SKIPLINES = 0
|
||||||
|
TYPEFIELD = -1
|
||||||
|
TYPELEN = -1
|
||||||
|
TYPEPOS = -1
|
||||||
|
|
||||||
|
[TYPE STRINGA]
|
||||||
|
ALIGN = L
|
||||||
|
DATA = S
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = ' '
|
||||||
|
LENGTH = 0
|
||||||
|
PICTURE =
|
||||||
|
|
||||||
|
[TYPE NUMERO]
|
||||||
|
ALIGN = R
|
||||||
|
DATA = N
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = '0'
|
||||||
|
PICTURE =
|
||||||
|
|
||||||
|
[TYPE DATA]
|
||||||
|
ALIGN =
|
||||||
|
DATA = D
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = '0'
|
||||||
|
LENGTH = 8
|
||||||
|
PICTURE = 1444
|
||||||
|
|
||||||
|
[TYPE IMPORTO]
|
||||||
|
ALIGN = R
|
||||||
|
DATA = N
|
||||||
|
DECIMAL = 2
|
||||||
|
FILLER = '0'
|
||||||
|
LENGTH = 14
|
||||||
|
PICTURE = @@@@@@@@@,@@
|
||||||
|
|
||||||
|
[RECORD T]
|
||||||
|
|
||||||
|
NAME(0) = ID REGISTRAZIONE
|
||||||
|
TYPE(0) = NUMERO
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 10
|
||||||
|
FIELD(0) = NUMREG
|
||||||
|
|
||||||
|
NAME(1) = DATA REGISTRAZIONE
|
||||||
|
TYPE(1) = DATA
|
||||||
|
POSITION(1) = 10
|
||||||
|
LENGTH(1) = 8
|
||||||
|
FIELD(1) = DATAREG
|
||||||
|
|
||||||
|
NAME(2) = CODICE CAUSALE
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
POSITION(2) = 18
|
||||||
|
LENGTH(2) = 3
|
||||||
|
FIELD(2) = CODCAUS
|
||||||
|
|
||||||
|
NAME(3) = DESCRIZIONE CAUSALE
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 21
|
||||||
|
LENGTH(3) = 40
|
||||||
|
FIELD(3) = 26->DESCR[1,40]
|
||||||
|
|
||||||
|
NAME(4) = DESCRIZIONE TESTATA
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 61
|
||||||
|
LENGTH(4) = 240
|
||||||
|
FIELD(4) = DESCR[1,40]
|
||||||
|
|
||||||
|
NAME(5) = DATA DOCUMENTO
|
||||||
|
TYPE(5) = DATA
|
||||||
|
POSITION(5) = 301
|
||||||
|
LENGTH(5) = 8
|
||||||
|
FIELD(5) = DATADOC
|
||||||
|
|
||||||
|
NAME(6) = NUMERO DOCUMENTO
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 309
|
||||||
|
LENGTH(6) = 6
|
||||||
|
FIELD(6) = NUMDOC
|
||||||
|
|
||||||
|
NAME(7) = TIPO DOCUMENTO
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
POSITION(7) = 315
|
||||||
|
LENGTH(7) = 30
|
||||||
|
|
||||||
|
NAME(8) = CODICE CLIFOR
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
POSITION(8) = 345
|
||||||
|
LENGTH(8) = 10
|
||||||
|
FIELD(8) = CODCF
|
||||||
|
|
||||||
|
NAME(9) = TOTALE IMPONIBILE
|
||||||
|
TYPE(9) = IMPORTO
|
||||||
|
POSITION(9) = 355
|
||||||
|
|
||||||
|
NAME(10) = TOTALE IVA
|
||||||
|
TYPE(10) = IMPORTO
|
||||||
|
POSITION(10) = 369
|
||||||
|
|
||||||
|
NAME(11) = TOTALE DOCUMENTO
|
||||||
|
TYPE(11) = IMPORTO
|
||||||
|
POSITION(11) = 383
|
||||||
|
FIELD(11) = TOTDOC
|
||||||
|
|
||||||
|
NAME(12) = DATA PAGAMENTO
|
||||||
|
TYPE(12) = DATA
|
||||||
|
POSITION(12) = 397
|
||||||
|
LENGTH(12) = 8
|
||||||
|
|
||||||
|
NAME(13) = TIPO PAGAMENTO
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
POSITION(13) = 405
|
||||||
|
LENGTH(13) = 20
|
||||||
|
FIELD(13) = CODPAG
|
||||||
|
|
||||||
|
NAME(14) = DATA COMPETENZA
|
||||||
|
TYPE(14) = DATA
|
||||||
|
POSITION(14) = 425
|
||||||
|
LENGTH(14) = 8
|
||||||
|
FIELD(14) = DATACOMP
|
||||||
|
|
||||||
|
NAME(15) = NUMERO PROTOCOLLO
|
||||||
|
TYPE(15) = STRINGA
|
||||||
|
POSITION(15) = 433
|
||||||
|
LENGTH(15) = 10
|
||||||
|
FIELD(15) = PROTIVA
|
||||||
|
|
||||||
|
NAME(16) = VALUTA
|
||||||
|
TYPE(16) = STRINGA
|
||||||
|
POSITION(16) = 443
|
||||||
|
LENGTH(16) = 1
|
||||||
|
MESSAGE(16)=_FISSO,!1
|
||||||
|
|
||||||
|
[RECORD R]
|
||||||
|
|
||||||
|
NAME(0) = ID REGISTRAZIONE
|
||||||
|
TYPE(0) = NUMERO
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 10
|
||||||
|
FIELD(0) = 23->NUMREG
|
||||||
|
|
||||||
|
NAME(1) = FLAG RIGA IVA
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 10
|
||||||
|
LENGTH(1) = 1
|
||||||
|
MESSAGE(1) = _FISSO,!N
|
||||||
|
|
||||||
|
NAME(2) = FLAG DARE/AVERE
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
POSITION(2) = 11
|
||||||
|
LENGTH(2) = 1
|
||||||
|
FIELD(2) = SEZIONE
|
||||||
|
|
||||||
|
NAME(3) = CODICE MASTRO
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 12
|
||||||
|
LENGTH(3) = 5
|
||||||
|
|
||||||
|
NAME(4) = CODICE CONTO
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 17
|
||||||
|
LENGTH(4) = 5
|
||||||
|
|
||||||
|
NAME(5) = CODICE SOTTOCONTO
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
POSITION(5) = 22
|
||||||
|
LENGTH(5) = 5
|
||||||
|
|
||||||
|
NAME(6) = FLAG CLIFOR
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 27
|
||||||
|
LENGTH(6) = 1
|
||||||
|
|
||||||
|
NAME(7) = CODICE CLIFOR
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
POSITION(7) = 28
|
||||||
|
LENGTH(7) = 10
|
||||||
|
|
||||||
|
NAME(8) = DESCRIZIONE RIGA
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
POSITION(8) = 38
|
||||||
|
LENGTH(8) = 40
|
||||||
|
FIELD(8) = DESCR[1,40]
|
||||||
|
|
||||||
|
NAME(9) = IMPORTO SOTTOCONTO
|
||||||
|
TYPE(9) = IMPORTO
|
||||||
|
POSITION(9) = 78
|
||||||
|
FIELD(9) = IMPORTO
|
||||||
|
|
||||||
|
NAME(10) = IMPONIBILE
|
||||||
|
TYPE(10) = IMPORTO
|
||||||
|
POSITION(10) = 92
|
||||||
|
|
||||||
|
NAME(11) = CODICE IVA
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
POSITION(11) = 106
|
||||||
|
LENGTH(11) = 4
|
||||||
|
|
||||||
|
NAME(12) = CP INDED
|
||||||
|
TYPE(12) = STRINGA
|
||||||
|
POSITION(12) = 110
|
||||||
|
LENGTH(12) = 15
|
||||||
|
|
||||||
|
NAME(13) = COMMESSA
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
POSITION(13) = 125
|
||||||
|
LENGTH(13) = 20
|
||||||
|
FIELD(13) = CODCMS
|
||||||
|
|
||||||
|
NAME(14) = SOTTOPROGETTO
|
||||||
|
TYPE(14) = STRINGA
|
||||||
|
POSITION(14) = 145
|
||||||
|
LENGTH(14) = 20
|
||||||
|
|
||||||
|
NAME(15) = EDIZIONE
|
||||||
|
TYPE(15) = STRINGA
|
||||||
|
POSITION(15) = 165
|
||||||
|
LENGTH(15) = 20
|
||||||
|
|
||||||
|
NAME(16) = VOCE DI SPESA
|
||||||
|
TYPE(16) = STRINGA
|
||||||
|
POSITION(16) = 185
|
||||||
|
LENGTH(16) = 10
|
||||||
|
|
||||||
|
[RECORD I]
|
||||||
|
|
||||||
|
NAME(0) = ID REGISTRAZIONE
|
||||||
|
TYPE(0) = NUMERO
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 10
|
||||||
|
FIELD(0) = NUMREG
|
||||||
|
|
||||||
|
NAME(1) = FLAG RIGA IVA
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 10
|
||||||
|
LENGTH(1) = 1
|
||||||
|
MESSAGE(1) = _FISSO,!S
|
||||||
|
|
||||||
|
NAME(3) = CODICE MASTRO
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 12
|
||||||
|
LENGTH(3) = 5
|
||||||
|
FIELD(3) = GRUPPO
|
||||||
|
|
||||||
|
NAME(4) = CODICE CONTO
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 17
|
||||||
|
LENGTH(4) = 5
|
||||||
|
FIELD(4) = CONTO
|
||||||
|
|
||||||
|
NAME(5) = CODICE SOTTOCONTO
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
POSITION(5) = 22
|
||||||
|
LENGTH(5) = 5
|
||||||
|
FIELD(5) = SOTTOCONTO
|
||||||
|
|
||||||
|
NAME(6) = FLAG CLIFOR
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 27
|
||||||
|
LENGTH(6) = 1
|
||||||
|
FIELD(6) = TIPOC
|
||||||
|
|
||||||
|
NAME(7) = CODICE CLIFOR
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
POSITION(7) = 28
|
||||||
|
LENGTH(7) = 10
|
||||||
|
|
||||||
|
NAME(8) = DESCRIZIONE RIGA
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
POSITION(8) = 38
|
||||||
|
LENGTH(8) = 40
|
||||||
|
|
||||||
|
NAME(9) = IMPORTO SOTTOCONTO
|
||||||
|
TYPE(9) = IMPORTO
|
||||||
|
POSITION(9) = 78
|
||||||
|
|
||||||
|
NAME(10) = IMPONIBILE
|
||||||
|
TYPE(10) = IMPORTO
|
||||||
|
POSITION(10) = 92
|
||||||
|
FIELD(10) = IMPONIBILE
|
||||||
|
|
||||||
|
NAME(11) = CODICE IVA
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
POSITION(11) = 106
|
||||||
|
LENGTH(11) = 4
|
||||||
|
FIELD(11) = CODIVA
|
||||||
|
|
||||||
|
NAME(12) = CP INDED
|
||||||
|
TYPE(12) = STRINGA
|
||||||
|
POSITION(12) = 110
|
||||||
|
LENGTH(12) = 15
|
||||||
|
|
||||||
|
NAME(13) = COMMESSA
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
POSITION(13) = 125
|
||||||
|
LENGTH(13) = 20
|
||||||
|
|
||||||
|
NAME(14) = SOTTOPROGETTO
|
||||||
|
TYPE(14) = STRINGA
|
||||||
|
POSITION(14) = 145
|
||||||
|
LENGTH(14) = 20
|
||||||
|
|
||||||
|
NAME(15) = EDIZIONE
|
||||||
|
TYPE(15) = STRINGA
|
||||||
|
POSITION(15) = 165
|
||||||
|
LENGTH(15) = 20
|
||||||
|
|
||||||
|
NAME(16) = VOCE DI SPESA
|
||||||
|
TYPE(16) = STRINGA
|
||||||
|
POSITION(16) = 185
|
||||||
|
LENGTH(16) = 10
|
||||||
|
|
||||||
|
|
||||||
|
[RECORD C]
|
||||||
|
|
||||||
|
NAME(0) = CODICE
|
||||||
|
TYPE(0) = STRINGA
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 10
|
||||||
|
FIELD(0) = 20->CODCF
|
||||||
|
|
||||||
|
NAME(1) = RAGIONE SOCIALE
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 11
|
||||||
|
LENGTH(1) = 40
|
||||||
|
MESSAGE(1) = _RAGSOC
|
||||||
|
FIELD(1) = 20->RAGSOC
|
||||||
|
|
||||||
|
NAME(2) = PARTITA IVA
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
POSITION(2) = 50
|
||||||
|
LENGTH(2) = 12
|
||||||
|
FIELD(2)=20->PAIV
|
||||||
|
|
||||||
|
NAME(3) = CODICE FISCALE
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 62
|
||||||
|
LENGTH(3) = 16
|
||||||
|
FIELD(3) = 20->COFI
|
||||||
|
|
||||||
|
NAME(4) = INDIRIZZO
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 78
|
||||||
|
LENGTH(4) = 40
|
||||||
|
FIELD(4) = 20->INDCF
|
||||||
|
|
||||||
|
NAME(5) = CAP DI RESIDENZA
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
POSITION(5) = 118
|
||||||
|
LENGTH(5) = 5
|
||||||
|
FIELD(5)=20->CAPCF
|
||||||
|
|
||||||
|
NAME(6) = COMUNE DI RESIDENZA
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
POSITION(6) = 123
|
||||||
|
LENGTH(6) = 23
|
||||||
|
FIELD(6) = 13->DENCOM[1,40]
|
||||||
|
|
||||||
|
NAME(7) = PROVINCIA DI RESIDENZA
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
POSITION(7) = 163
|
||||||
|
LENGTH(7) = 2
|
||||||
|
FIELD(7) = 13->PROVCOM
|
||||||
|
|
||||||
|
NAME(8) = TELEFONO
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
POSITION(8) = 165
|
||||||
|
LENGTH(8) = 20
|
||||||
|
FIELD(8) = 20->TEL
|
||||||
|
MESSAGE(8) = _TELEFONO
|
||||||
|
|
||||||
|
[RECORD P]
|
||||||
|
|
||||||
|
NAME(0) = CODICE MASTRO
|
||||||
|
TYPE(0) = STRINGA
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 5
|
||||||
|
FIELD(0)=19->GRUPPO
|
||||||
|
|
||||||
|
NAME(1) = CODICE CONTO
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
POSITION(1) = 5
|
||||||
|
B LENGTH(1) = 5
|
||||||
|
FIELD(1)=19->CONTO
|
||||||
|
|
||||||
|
NAME(2) = CODICE SOTTOCONTO
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
POSITION(2) = 10
|
||||||
|
LENGTH(2) = 5
|
||||||
|
FIELD(2)=19->SOTTOCONTO
|
||||||
|
|
||||||
|
NAME(3) = DESCRIZIONE
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 15
|
||||||
|
LENGTH(3) = 80
|
||||||
|
FIELD(3)=19->DESCR
|
||||||
|
|
||||||
|
[RECORD G]
|
||||||
|
|
||||||
|
NAME(0) = ID REGISTRAZIONE PAGAMENTO
|
||||||
|
TYPE(0) = NUMERO
|
||||||
|
POSITION(0) = 0
|
||||||
|
LENGTH(0) = 10
|
||||||
|
MESSAGE(0) = _NREGPAG
|
||||||
|
|
||||||
|
NAME(1) = ID REGISTRAZIONE COSTO
|
||||||
|
TYPE(1) = NUMERO
|
||||||
|
POSITION(1) = 10
|
||||||
|
LENGTH(1) = 10
|
||||||
|
MESSAGE(1) = _NREGCOSTO
|
||||||
|
|
||||||
|
NAME(2) = IMPORTO
|
||||||
|
TYPE(2) = IMPORTO
|
||||||
|
POSITION(2) = 20
|
||||||
|
MESSAGE(2) = _IMPORTO
|
||||||
|
|
||||||
|
NAME(3) = FLAG ACCONTO/SALDO
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
POSITION(3) = 34
|
||||||
|
LENGTH(3) = 1
|
||||||
|
MESSAGE(3) = _FLAG
|
||||||
|
|
||||||
|
NAME(4) = VALUTA
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
POSITION(4) = 35
|
||||||
|
LENGTH(4) = 1
|
||||||
|
MESSAGE(4)=_FISSO,!1
|
234
tc/tc9100a.uml
Executable file
234
tc/tc9100a.uml
Executable file
@ -0,0 +1,234 @@
|
|||||||
|
#include "cg7200a.h"
|
||||||
|
|
||||||
|
TOOLBAR "" 0 -2 0 2
|
||||||
|
|
||||||
|
BUTTON DLG_OK 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -11 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -11 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "Invio dati contabilita'" -1 -1 78 20
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 76 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "@bDitta corrente"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CODDITTA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 2 "Codice "
|
||||||
|
FLAGS "FD"
|
||||||
|
USE LF_NDITTE
|
||||||
|
INPUT CODDITTA F_CODDITTA
|
||||||
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOC 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 2 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 76 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Dati da inviare"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_MOVIMENTI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 5 "Movimenti contabili"
|
||||||
|
MESSAGE FALSE CLEAR,F_PAGAMENTI|DISABLE,F_DATAFIN
|
||||||
|
MESSAGE TRUE ENABLE,F_PAGAMENTI|ENABLE,F_DATAFIN
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_CLIENTI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 6 "Clienti"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_FORNITORI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 7 "Fornitori"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_CONTI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 8 "Piano dei conti"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_PAGAMENTI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 5 "Pagamenti"
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_TIPOINVIO 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Invio a "
|
||||||
|
ITEM "P|Proforma"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESTINAZIONE 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 11 "Destinazione "
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAINI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 12 "Data iniziale "
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAFIN
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 12 "Data finale "
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON F_RIPRISTINA 20 2
|
||||||
|
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
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "Conti" -1 -1 78 20
|
||||||
|
|
||||||
|
TEXT -1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "@bPiano dei conti contabile"
|
||||||
|
END
|
||||||
|
|
||||||
|
SPREADSHEET F_PDCC 78 -6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 2 "Pdcc"
|
||||||
|
ITEM "Tipo"
|
||||||
|
ITEM "Gruppo"
|
||||||
|
ITEM "Conto"
|
||||||
|
ITEM "Sottoconto"
|
||||||
|
ITEM "Descrizione@50"
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT -1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 17 "Inserire conti di tipo F per ritenute Fiscali"
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT -1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 18 "S per ritenute Sociali, C per Costi, P per Pagamenti"
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_SAVEREC 12 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -11 19 ""
|
||||||
|
PICTURE BMP_SAVEREC
|
||||||
|
PICTURE BMP_SAVERECDN
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
// Riga dello sheet dei conti
|
||||||
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
PAGE "Riga Piano dei conti contabile" -1 -1 78 8
|
||||||
|
|
||||||
|
LIST S_TIPO 1 18
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Tipo "
|
||||||
|
ITEM "C|Costi"
|
||||||
|
ITEM "P|Pagamenti"
|
||||||
|
ITEM "F|Ritenute fiscali"
|
||||||
|
ITEM "S|Ritenute sociali"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER S_GRUPPO 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 2 "Gruppo "
|
||||||
|
USE LF_PCON KEY 1 SELECT CONTO=""
|
||||||
|
INPUT GRUPPO S_GRUPPO
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
OUTPUT S_GRUPPO GRUPPO
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER S_CONTO 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 3 "Conto "
|
||||||
|
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO=""))
|
||||||
|
COPY INPUT S_GRUPPO
|
||||||
|
INPUT CONTO S_CONTO
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Conto" CONTO
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
OUTPUT S_GRUPPO GRUPPO
|
||||||
|
OUTPUT S_CONTO CONTO
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
VALIDATE REQIF_FUNC 1 S_SOTTOCONTO
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER S_SOTTOCONTO 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "Sottoconto "
|
||||||
|
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
|
||||||
|
COPY INPUT S_CONTO
|
||||||
|
INPUT SOTTOCONTO S_SOTTOCONTO
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Conto" CONTO
|
||||||
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
OUTPUT S_SOTTOCONTO SOTTOCONTO
|
||||||
|
OUTPUT S_CONTO CONTO
|
||||||
|
OUTPUT S_GRUPPO GRUPPO
|
||||||
|
OUTPUT S_DESCRIZIONE DESCR
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING S_DESCRIZIONE 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 5 "Descrizione "
|
||||||
|
KEY 2
|
||||||
|
USE LF_PCON KEY 2
|
||||||
|
INPUT DESCR S_DESCRIZIONE
|
||||||
|
DISPLAY "Descrizione@50" DESCR
|
||||||
|
DISPLAY "Gruppo" GRUPPO
|
||||||
|
DISPLAY "Conto" CONTO
|
||||||
|
DISPLAY "Sottoconto" SOTTOCONTO
|
||||||
|
COPY OUTPUT S_SOTTOCONTO
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -13 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_DELREC 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -23 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_CANCEL 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -33 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
5
tc/tc9100conf.ini
Executable file
5
tc/tc9100conf.ini
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
[OPZIONI]
|
||||||
|
CONFSTRINGA =
|
||||||
|
DATA =
|
||||||
|
PERCORSO =
|
||||||
|
|
385
tc/tc9200.cpp
Executable file
385
tc/tc9200.cpp
Executable file
@ -0,0 +1,385 @@
|
|||||||
|
#include <applicat.h>
|
||||||
|
#include <automask.h>
|
||||||
|
#include <filetext.h>
|
||||||
|
|
||||||
|
#include "tc0.h"
|
||||||
|
#include "tc9200a.h"
|
||||||
|
|
||||||
|
#include <clifo.h>
|
||||||
|
#include <mov.h>
|
||||||
|
#include <rmov.h>
|
||||||
|
#include <rmoviva.h>
|
||||||
|
|
||||||
|
#define ALIAS_REG 100
|
||||||
|
|
||||||
|
class TInvioS_file: public TFile_text
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual void validate(TCursor& cur,TRecord_text &rec, TToken_string &val, TString& str);
|
||||||
|
|
||||||
|
public:
|
||||||
|
TInvioS_file(const TString& file_name);
|
||||||
|
virtual ~TInvioS_file() { }
|
||||||
|
};
|
||||||
|
|
||||||
|
TInvioS_file::TInvioS_file(const TString& file_name)
|
||||||
|
: TFile_text(file_name, "tc9200a.ini")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
class TInvioS_mask : public TAutomask
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
|
public:
|
||||||
|
|
||||||
|
TInvioS_mask();
|
||||||
|
|
||||||
|
virtual ~TInvioS_mask(){};
|
||||||
|
};
|
||||||
|
|
||||||
|
TInvioS_mask::TInvioS_mask() :TAutomask ("tc9200a")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TInvioS_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
|
{
|
||||||
|
switch (o.dlg())
|
||||||
|
{
|
||||||
|
case F_CODDITTA:
|
||||||
|
if (e==fe_init && o.empty())
|
||||||
|
{
|
||||||
|
set(F_CODDITTA, main_app().get_firm());
|
||||||
|
((TEdit_field&) o).check();
|
||||||
|
disable(F_CODDITTA);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
class TInvioS : public TSkeleton_application
|
||||||
|
{
|
||||||
|
TCursor* _cur;
|
||||||
|
TInvioS_mask* _msk;
|
||||||
|
TInvioS_file* _trasfile;
|
||||||
|
TConfig* _configfile;
|
||||||
|
TDate _dataini, _datafin;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool create(void);
|
||||||
|
virtual bool destroy(void);
|
||||||
|
virtual void main_loop() ;
|
||||||
|
void invio_sispac();
|
||||||
|
long i_sispac_clifor(const char* tipocf, const bool invio = TRUE);
|
||||||
|
long i_sispac_movcont(const bool invio = TRUE);
|
||||||
|
long i_sispac_moviva(const bool invio = TRUE);
|
||||||
|
|
||||||
|
public:
|
||||||
|
TInvioS_file* apri_file(const char* nome);
|
||||||
|
void chiudi_file(TInvioS_file* trasfile);
|
||||||
|
TConfig& config() {return *_configfile;};
|
||||||
|
TInvioS() {} ;
|
||||||
|
virtual ~TInvioS() {} ;
|
||||||
|
};
|
||||||
|
|
||||||
|
// restituisce un riferimento all' applicazione
|
||||||
|
inline TInvioS& app() { return (TInvioS&) main_app();}
|
||||||
|
|
||||||
|
// gestione dei messaggi estesi nei campi
|
||||||
|
void TInvioS_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TString& str)
|
||||||
|
{
|
||||||
|
const TString code(s.get(0));
|
||||||
|
TString valore;
|
||||||
|
if (code == "_FISSO")
|
||||||
|
{
|
||||||
|
// gestione dei campi fissi per i record delle riba
|
||||||
|
// sintassi: _FISSO,!<valore>
|
||||||
|
// dove: <valore> è la stringa fissa da emettere
|
||||||
|
TString in(s.get());
|
||||||
|
CHECK(in[0]=='!',"Macro _FISSO senza carattere '!'");
|
||||||
|
in.ltrim(1);
|
||||||
|
in.trim();
|
||||||
|
valore = in;
|
||||||
|
}
|
||||||
|
else if (code == "_TIPORIGA")
|
||||||
|
{
|
||||||
|
valore = str.empty() ? " " : "S";
|
||||||
|
}
|
||||||
|
else if (code == "_CODPAG")
|
||||||
|
{
|
||||||
|
valore = app().config().get(str, "PAGAMENTI");
|
||||||
|
}
|
||||||
|
else if (code == "_OPZIONI")
|
||||||
|
{
|
||||||
|
TString in(s.get());
|
||||||
|
valore = app().config().get(in, "OPZIONI");
|
||||||
|
}
|
||||||
|
else if (code == "_IMPORTO")
|
||||||
|
{
|
||||||
|
real importo(str);
|
||||||
|
valore = importo.string(0,2);
|
||||||
|
valore.strip("-");
|
||||||
|
valore.strip("+");
|
||||||
|
valore.strip(".");
|
||||||
|
}
|
||||||
|
else if (code == "_IMPORTORIGAIVA")
|
||||||
|
{
|
||||||
|
real imponibile = cur.curr(LF_RMOVIVA).get_real(RMI_IMPONIBILE);;
|
||||||
|
real imposta = cur.curr(LF_RMOVIVA).get_real(RMI_IMPOSTA);;
|
||||||
|
imponibile += imposta;
|
||||||
|
valore = imposta.string(0,2);
|
||||||
|
valore.strip("-");
|
||||||
|
valore.strip("+");
|
||||||
|
valore.strip(".");
|
||||||
|
}
|
||||||
|
else if (code == "_INDIR")
|
||||||
|
{
|
||||||
|
valore = cur.curr(LF_CLIFO).get(CLI_INDCF);
|
||||||
|
valore << ' ' << cur.curr(LF_CLIFO).get(CLI_CIVCF);
|
||||||
|
valore.cut(40);
|
||||||
|
}
|
||||||
|
else if (code == "_GIUFIS")
|
||||||
|
{
|
||||||
|
const char c = str[0];
|
||||||
|
valore = (c == 'F') ? "S" : "N";
|
||||||
|
}
|
||||||
|
else if (code == "_TITOLARE")
|
||||||
|
{
|
||||||
|
valore = (str.empty() ? "N" : "S");
|
||||||
|
}
|
||||||
|
else if (code == "_TIPODET")
|
||||||
|
{
|
||||||
|
valore = (str.empty() ? " " : "100");
|
||||||
|
}
|
||||||
|
else if (code == "_CONTO")
|
||||||
|
{
|
||||||
|
int gruppo = cur.curr(LF_CLIFO).get_int(CLI_GRUPPO);
|
||||||
|
if (gruppo == 10)
|
||||||
|
gruppo = 0;
|
||||||
|
int conto = cur.curr(LF_CLIFO).get_int(CLI_CONTO);
|
||||||
|
long codice = cur.curr(LF_CLIFO).get_int(CLI_CODCF);
|
||||||
|
valore.format("%03d%03d%06ld", gruppo, conto, codice);
|
||||||
|
}
|
||||||
|
else if (code == "_CONTOMOV")
|
||||||
|
{
|
||||||
|
int gruppo = cur.curr(LF_RMOV).get_int(RMV_GRUPPO);
|
||||||
|
if (gruppo == 10)
|
||||||
|
gruppo = 0;
|
||||||
|
int conto = cur.curr(LF_RMOV).get_int(RMV_CONTO);
|
||||||
|
long codice = cur.curr(LF_RMOV).get_int(RMV_SOTTOCONTO);
|
||||||
|
valore.format("%03d%03d%06ld", gruppo, conto, codice);
|
||||||
|
}
|
||||||
|
else if (code == "_CONTOMOVIVA")
|
||||||
|
{
|
||||||
|
int gruppo = cur.curr(LF_RMOVIVA).get_int(RMI_GRUPPO);
|
||||||
|
if (gruppo == 10)
|
||||||
|
gruppo = 0;
|
||||||
|
int conto = cur.curr(LF_RMOVIVA).get_int(RMI_CONTO);
|
||||||
|
long codice = cur.curr(LF_RMOVIVA).get_int(RMI_SOTTOCONTO);
|
||||||
|
valore.format("%03d%03d%06ld", gruppo, conto, codice);
|
||||||
|
}
|
||||||
|
else NFCHECK("Macro non definita: %s", (const char *)code);
|
||||||
|
str = valore;
|
||||||
|
}
|
||||||
|
|
||||||
|
TInvioS_file* TInvioS::apri_file(const char* nome)
|
||||||
|
{
|
||||||
|
TFilename filename = _msk->get(F_DESTINAZIONE);
|
||||||
|
filename.add(nome);
|
||||||
|
filename.ext("txt");
|
||||||
|
if (filename.exist())
|
||||||
|
remove(filename);
|
||||||
|
TInvioS_file* trasfile = new TInvioS_file(filename);
|
||||||
|
trasfile->open(filename,'w');
|
||||||
|
trasfile->force_record_separator();
|
||||||
|
return trasfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TInvioS::chiudi_file(TInvioS_file* trasfile)
|
||||||
|
{
|
||||||
|
trasfile->close();
|
||||||
|
delete trasfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
long TInvioS::i_sispac_movcont(const bool invio)
|
||||||
|
{
|
||||||
|
TRectype da(LF_MOV);
|
||||||
|
TRectype a(LF_MOV);
|
||||||
|
TDate dataini = _msk->get_date(F_DATAINI);
|
||||||
|
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);
|
||||||
|
rel.add(LF_RMOV, "NUMREG==NUMREG", 1);
|
||||||
|
rel.add(LF_CLIFO, "TIPOCF==TIPO|CODCF==CODCF", 1);
|
||||||
|
TCursor cur(&rel, "", 2, &da, &a);
|
||||||
|
const long cur_items = cur.items();
|
||||||
|
if (cur_items != 0)
|
||||||
|
{
|
||||||
|
cur.freeze();
|
||||||
|
TRectype& cur_rec = cur.curr();
|
||||||
|
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||||
|
{
|
||||||
|
const long numreg = cur.curr().get_long(MOV_NUMREG);
|
||||||
|
bool continua = TRUE;
|
||||||
|
while (continua)
|
||||||
|
{
|
||||||
|
const long numregrig = cur.curr(LF_RMOV).get_long(RMV_NUMREG);
|
||||||
|
if (numreg == numregrig)
|
||||||
|
{
|
||||||
|
if (invio)
|
||||||
|
{
|
||||||
|
TRectype& cur_rec_righe = cur.curr(LF_RMOV);
|
||||||
|
TRecord_text recrighe;
|
||||||
|
recrighe.set_type("R");
|
||||||
|
_trasfile->autoload(recrighe, cur);
|
||||||
|
_trasfile->write(recrighe);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
continua = cur.next_match(LF_RMOV, "NUMREG");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
long TInvioS::i_sispac_moviva(const bool invio)
|
||||||
|
{
|
||||||
|
TRectype da(LF_MOV);
|
||||||
|
TRectype a(LF_MOV);
|
||||||
|
da.put(MOV_DATAREG, _dataini);
|
||||||
|
a.put(MOV_DATAREG, _datafin);
|
||||||
|
TRelation rel(LF_MOV);
|
||||||
|
rel.add(LF_RMOVIVA, "NUMREG==NUMREG", 1);
|
||||||
|
rel.add("REG", "CODTAB[1,4]==ANNOIVA|CODTAB[5,7]==REG", 1);
|
||||||
|
rel.add(LF_CLIFO, "TIPOCF==TIPO|CODCF==CODCF", 1);
|
||||||
|
TCursor cur(&rel, "", 2, &da, &a);
|
||||||
|
const long cur_items = cur.items();
|
||||||
|
if (cur_items != 0)
|
||||||
|
|
||||||
|
{
|
||||||
|
cur.freeze();
|
||||||
|
TRectype& cur_rec = cur.curr();
|
||||||
|
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||||
|
{
|
||||||
|
const long numreg = cur.curr().get_long(MOV_NUMREG);
|
||||||
|
bool continua = TRUE;
|
||||||
|
while (continua)
|
||||||
|
{
|
||||||
|
const long numregrig = cur.curr(LF_RMOVIVA).get_long(RMI_NUMREG);
|
||||||
|
if (numreg == numregrig)
|
||||||
|
{
|
||||||
|
if (invio)
|
||||||
|
{
|
||||||
|
TRectype& cur_rec_righe = cur.curr(LF_RMOVIVA);
|
||||||
|
TRecord_text recrighe;
|
||||||
|
recrighe.set_type("I");
|
||||||
|
_trasfile->autoload(recrighe, cur);
|
||||||
|
_trasfile->write(recrighe);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
continua = cur.next_match(LF_RMOVIVA, "NUMREG");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
long TInvioS::i_sispac_clifor(const char* tipocf, const bool invio)
|
||||||
|
{
|
||||||
|
TString80 nomefile = "FILE";
|
||||||
|
nomefile << tipocf;
|
||||||
|
TInvioS_file* trasfilecf = apri_file(_configfile->get(nomefile, "OPZIONI"));
|
||||||
|
TRelation rel(LF_CLIFO);
|
||||||
|
rel.add(LF_COMUNI, "STATO==STATOCF|COM==COMCF", 1);
|
||||||
|
rel.add(LF_ANAGFIS,"CODANAGR==CODANAGPER", 1);
|
||||||
|
rel.add(LF_ANAG,"TIPOA==TIPOPERS|CODANAGR==CODANAGPER", 1);
|
||||||
|
TString80 filtro;
|
||||||
|
filtro = "20->TIPOCF == \"";
|
||||||
|
filtro << tipocf;
|
||||||
|
filtro << "\"";
|
||||||
|
TCursor cur(&rel);
|
||||||
|
cur.setfilter(filtro, TRUE);
|
||||||
|
const long cur_items = cur.items();
|
||||||
|
if (cur_items != 0 && invio)
|
||||||
|
{
|
||||||
|
cur.freeze();
|
||||||
|
TRectype& cur_rec = cur.curr();
|
||||||
|
for (cur = 0; cur.pos() < cur_items; ++(cur))
|
||||||
|
{
|
||||||
|
TRecord_text rec;
|
||||||
|
rec.set_type(tipocf);
|
||||||
|
trasfilecf->autoload(rec, cur);
|
||||||
|
trasfilecf->write(rec);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
chiudi_file(trasfilecf);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//metodone globale che chiama, come un menu, i vari sottometodi in base alle scelte sulla maschera
|
||||||
|
void TInvioS::invio_sispac()
|
||||||
|
{
|
||||||
|
if (_msk->get_bool(F_CLIFOR))
|
||||||
|
{
|
||||||
|
i_sispac_clifor("C");
|
||||||
|
i_sispac_clifor("F");
|
||||||
|
}
|
||||||
|
if (_msk->get_bool(F_MOVCONT))
|
||||||
|
{
|
||||||
|
TString80 filename = _configfile->get("FILEM", "OPZIONI");
|
||||||
|
_trasfile = apri_file(filename);
|
||||||
|
i_sispac_movcont();
|
||||||
|
i_sispac_moviva();
|
||||||
|
chiudi_file(_trasfile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TInvioS::create()
|
||||||
|
{
|
||||||
|
_msk = new TInvioS_mask();
|
||||||
|
TFilename configname = "tc9200conf.ini";
|
||||||
|
configname.custom_path();
|
||||||
|
_configfile = new TConfig(configname);
|
||||||
|
return TSkeleton_application::create();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TInvioS::destroy()
|
||||||
|
{
|
||||||
|
delete _configfile;
|
||||||
|
delete _msk;
|
||||||
|
return TSkeleton_application::destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TInvioS::main_loop()
|
||||||
|
{
|
||||||
|
_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)
|
||||||
|
{
|
||||||
|
_configfile->set("NUMEROINVIO", _msk->get(F_NUMEROINVIO),"OPZIONI");
|
||||||
|
_configfile->set("DATA", _msk->get_date(F_DATAFIN),"OPZIONI");
|
||||||
|
_configfile->set("PERCORSO", _msk->get(F_DESTINAZIONE),"OPZIONI");
|
||||||
|
_configfile->set_paragraph("PAGAMENTI");
|
||||||
|
_dataini = _msk->get_date(F_DATAINI);
|
||||||
|
_datafin = _msk->get_date(F_DATAFIN);
|
||||||
|
const char tipoinvio = _msk->get(F_TIPOINVIO)[0];
|
||||||
|
if (tipoinvio == 'S')
|
||||||
|
invio_sispac();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int tc9200(int argc, char **argv)
|
||||||
|
{
|
||||||
|
TInvioS a;
|
||||||
|
a.run(argc, argv, "Invio dati contabilità Sispac/Cosmo");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
13
tc/tc9200a.h
Executable file
13
tc/tc9200a.h
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
// invio dati ad altra procedura
|
||||||
|
|
||||||
|
#define F_CODDITTA 101
|
||||||
|
#define F_RAGSOC 102
|
||||||
|
#define F_CLIFOR 112
|
||||||
|
#define F_MOVCONT 113
|
||||||
|
#define F_TIPOINVIO 120
|
||||||
|
#define F_DESTINAZIONE 121
|
||||||
|
#define F_NUMEROINVIO 122
|
||||||
|
#define F_DATAINI 123
|
||||||
|
#define F_DATAFIN 124
|
||||||
|
#define F_RIPRISTINA 125
|
||||||
|
#define F_DATARIPRISTINO 126
|
791
tc/tc9200a.ini
Executable file
791
tc/tc9200a.ini
Executable file
@ -0,0 +1,791 @@
|
|||||||
|
[MAIN]
|
||||||
|
DECSEP = ,
|
||||||
|
FIELDSEP =
|
||||||
|
RECORDSEP =
|
||||||
|
RECORDSIZE =
|
||||||
|
SKIPLINES = 0
|
||||||
|
TYPEFIELD = -1
|
||||||
|
TYPELEN = -1
|
||||||
|
TYPEPOS = -1
|
||||||
|
|
||||||
|
[TYPE STRINGA]
|
||||||
|
ALIGN = L
|
||||||
|
DATA = S
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = ' '
|
||||||
|
LENGTH = 0
|
||||||
|
PICTURE =
|
||||||
|
|
||||||
|
[TYPE NUMERO]
|
||||||
|
ALIGN = R
|
||||||
|
DATA = N
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = '0'
|
||||||
|
PICTURE =
|
||||||
|
|
||||||
|
[TYPE DATA]
|
||||||
|
ALIGN =
|
||||||
|
DATA = D
|
||||||
|
DECIMAL = 0
|
||||||
|
FILLER = '0'
|
||||||
|
LENGTH = 10
|
||||||
|
PICTURE = 1444
|
||||||
|
|
||||||
|
[TYPE IMPORTO]
|
||||||
|
ALIGN = R
|
||||||
|
DATA = N
|
||||||
|
DECIMAL = 2
|
||||||
|
FILLER = '0'
|
||||||
|
LENGTH = 14
|
||||||
|
PICTURE = @@@@@@@@@,@@
|
||||||
|
|
||||||
|
[RECORD R]
|
||||||
|
|
||||||
|
NAME(0) = ID MOVIMENTO
|
||||||
|
TYPE(0) = NUMERO
|
||||||
|
LENGTH(0) = 10
|
||||||
|
FIELD(0) = 23->NUMREG
|
||||||
|
|
||||||
|
NAME(1) = DATA REGISTRAZIONE
|
||||||
|
TYPE(1) = DATA
|
||||||
|
LENGTH(1) = 10
|
||||||
|
FIELD(1) = 23->DATAREG
|
||||||
|
|
||||||
|
NAME(2) = DATA COMPETENZA BILANCIO
|
||||||
|
TYPE(2) = DATA
|
||||||
|
LENGTH(2) = 10
|
||||||
|
FIELD(2) = 23->DATACOMP
|
||||||
|
|
||||||
|
NAME(3) = DATA COMPETENZA LIQUIDAZIONE IVA
|
||||||
|
TYPE(3) = DATA
|
||||||
|
LENGTH(3) = 10
|
||||||
|
|
||||||
|
NAME(4) = DATA DOCUMENTO
|
||||||
|
TYPE(4) = DATA
|
||||||
|
LENGTH(4) = 10
|
||||||
|
FIELD(4) = 23->DATADOC
|
||||||
|
|
||||||
|
NAME(5) = NUMERO DOC
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
LENGTH(5) = 10
|
||||||
|
FIELD(5) = 23->NUMDOC
|
||||||
|
|
||||||
|
NAME(6) = CAUSALE
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
LENGTH(6) = 4
|
||||||
|
FIELD(6) = 23->CODCAUS
|
||||||
|
|
||||||
|
NAME(7) = DESCRIZIONE
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
LENGTH(7) = 40
|
||||||
|
FIELD(7) = 23->DESCR[1,40]
|
||||||
|
|
||||||
|
NAME(8) = PROVVISORIO
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
LENGTH(8) = 1
|
||||||
|
FIELD(8) = 23->PROVVIS
|
||||||
|
|
||||||
|
NAME(9) = REGISTRO IVA
|
||||||
|
TYPE(9) = STRINGA
|
||||||
|
LENGTH(9) = 2
|
||||||
|
FIELD(9) = 23->REG
|
||||||
|
|
||||||
|
NAME(10) = PROTOCOLLO IVA
|
||||||
|
TYPE(10) = STRINGA
|
||||||
|
LENGTH(10) = 10
|
||||||
|
FIELD(10) = 23->PROTIVA
|
||||||
|
|
||||||
|
NAME(11) = CONTO
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
LENGTH(11) = 12
|
||||||
|
MESSAGE(11) = _CONTOMOV
|
||||||
|
|
||||||
|
NAME(12) = CONTO COMPETENZA
|
||||||
|
TYPE(12) = STRINGA
|
||||||
|
LENGTH(12) = 12
|
||||||
|
|
||||||
|
NAME(13) = CODICE CLI/FOR
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
LENGTH(13) = 6
|
||||||
|
FIELD(13) = CODCF
|
||||||
|
|
||||||
|
NAME(14) = DESCRIZIONE RIGA
|
||||||
|
TYPE(14) = STRINGA
|
||||||
|
LENGTH(14) = 40
|
||||||
|
FIELD(14) = DESCR[1,40]
|
||||||
|
|
||||||
|
NAME(15) = IMPORTO RIGA
|
||||||
|
TYPE(15) = IMPORTO
|
||||||
|
FIELD(15) = 24->IMPORTO
|
||||||
|
MESSAGE(15) = _IMPORTO
|
||||||
|
|
||||||
|
NAME(16) = IMPONIBILE
|
||||||
|
TYPE(16) = IMPORTO
|
||||||
|
|
||||||
|
NAME(17) = CODICE IVA
|
||||||
|
TYPE(17) = STRINGA
|
||||||
|
LENGTH(17) = 3
|
||||||
|
|
||||||
|
NAME(18) = IMPORTO IVA
|
||||||
|
TYPE(18) = IMPORTO
|
||||||
|
|
||||||
|
NAME(19) = INDETRAIBILITA
|
||||||
|
TYPE(19) = NUMERO
|
||||||
|
|
||||||
|
NAME(20) = IMPORTO DIVISA
|
||||||
|
TYPE(20) = IMPORTO
|
||||||
|
|
||||||
|
NAME(21) = DIVISA
|
||||||
|
TYPE(21) = STRINGA
|
||||||
|
LENGTH(21) = 3
|
||||||
|
FIELD(21) = 23->CODVAL
|
||||||
|
|
||||||
|
NAME(22) = CAMBIO
|
||||||
|
TYPE(22) = IMPORTO
|
||||||
|
FIELD(22) = 23->CAMBIO
|
||||||
|
|
||||||
|
NAME(23) = CODICE PARTITA
|
||||||
|
TYPE(23) = STRINGA
|
||||||
|
LENGTH(23) = 10
|
||||||
|
|
||||||
|
NAME(24) = ANNO PARTITA
|
||||||
|
TYPE(24) = NUMERO
|
||||||
|
LENGTH(24) = 4
|
||||||
|
|
||||||
|
NAME(25) = DATA INIZIO COMP
|
||||||
|
TYPE(25) = DATA
|
||||||
|
|
||||||
|
NAME(26) = DATA FINE COMP
|
||||||
|
TYPE(26) = DATA
|
||||||
|
|
||||||
|
NAME(27) = CODICE ALIQUOTE FORFETARIE
|
||||||
|
TYPE(27) = STRINGA
|
||||||
|
LENGTH(27) = 1
|
||||||
|
|
||||||
|
NAME(28) = TIPO RIGA
|
||||||
|
TYPE(28) = STRINGA
|
||||||
|
LENGTH(28) = 1
|
||||||
|
FIELD(28) = 24->TIPOC
|
||||||
|
MESSAGE(28) = _TIPORIGA
|
||||||
|
|
||||||
|
NAME(29) = CAUSALE RIGA CONTABILE
|
||||||
|
TYPE(29) = STRINGA
|
||||||
|
LENGTH(29) = 2
|
||||||
|
|
||||||
|
NAME(30) = REGISTRO IVA VENDITE
|
||||||
|
TYPE(30) = STRINGA
|
||||||
|
LENGTH(30) = 2
|
||||||
|
FIELD(30) = 23->CODCAUS
|
||||||
|
|
||||||
|
NAME(31) = PROTOCOLLO IVA VENDITE
|
||||||
|
TYPE(31) = STRINGA
|
||||||
|
LENGTH(31) = 10
|
||||||
|
FIELD(31) = 23->PROTIVA
|
||||||
|
|
||||||
|
NAME(32) = CODICE SCADENZA DI RIFERIMENTO
|
||||||
|
TYPE(32) = NUMERO
|
||||||
|
|
||||||
|
NAME(33) = TITOLARE PIVA
|
||||||
|
TYPE(33) = STRINGA
|
||||||
|
LENGTH(33) = 1
|
||||||
|
FIELD(33) = 20->PAIV
|
||||||
|
MESSAGE(33) = _TITOLARE
|
||||||
|
|
||||||
|
[RECORD I]
|
||||||
|
|
||||||
|
NAME(0) = ID MOVIMENTO
|
||||||
|
TYPE(0) = NUMERO
|
||||||
|
LENGTH(0) = 10
|
||||||
|
FIELD(0) = 23->NUMREG
|
||||||
|
|
||||||
|
NAME(1) = DATA REGISTRAZIONE
|
||||||
|
TYPE(1) = DATA
|
||||||
|
LENGTH(1) = 10
|
||||||
|
FIELD(1) = 23->DATAREG
|
||||||
|
|
||||||
|
NAME(2) = DATA COMPETENZA BILANCIO
|
||||||
|
TYPE(2) = DATA
|
||||||
|
LENGTH(2) = 10
|
||||||
|
FIELD(2) = 23->DATACOMP
|
||||||
|
|
||||||
|
NAME(3) = DATA COMPETENZA LIQUIDAZIONE IVA
|
||||||
|
TYPE(3) = DATA
|
||||||
|
LENGTH(3) = 10
|
||||||
|
|
||||||
|
NAME(4) = DATA DOCUMENTO
|
||||||
|
TYPE(4) = DATA
|
||||||
|
LENGTH(4) = 10
|
||||||
|
FIELD(4) = 23->DATADOC
|
||||||
|
|
||||||
|
NAME(5) = NUMERO DOC
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
LENGTH(5) = 10
|
||||||
|
FIELD(5) = 23->NUMDOC
|
||||||
|
|
||||||
|
NAME(6) = CAUSALE
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
LENGTH(6) = 4
|
||||||
|
FIELD(6) = 23->CODCAUS
|
||||||
|
|
||||||
|
NAME(7) = DESCRIZIONE
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
LENGTH(7) = 40
|
||||||
|
FIELD(7) = 23->DESCR[1,40]
|
||||||
|
|
||||||
|
NAME(8) = PROVVISORIO
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
LENGTH(8) = 1
|
||||||
|
FIELD(8) = 23->PROVVIS
|
||||||
|
|
||||||
|
NAME(9) = REGISTRO IVA
|
||||||
|
TYPE(9) = STRINGA
|
||||||
|
LENGTH(9) = 2
|
||||||
|
FIELD(9) = 23->REG
|
||||||
|
|
||||||
|
NAME(10) = PROTOCOLLO IVA
|
||||||
|
TYPE(10) = STRINGA
|
||||||
|
LENGTH(10) = 10
|
||||||
|
FIELD(10) = 23->PROTIVA
|
||||||
|
|
||||||
|
NAME(11) = CONTO
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
LENGTH(11) = 12
|
||||||
|
MESSAGE(11) = _CONTOMOVIVA
|
||||||
|
|
||||||
|
NAME(12) = CONTO COMPETENZA
|
||||||
|
TYPE(12) = STRINGA
|
||||||
|
LENGTH(12) = 12
|
||||||
|
|
||||||
|
NAME(13) = CODICE CLI/FOR
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
LENGTH(13) = 6
|
||||||
|
FIELD(13) = CODCF
|
||||||
|
|
||||||
|
NAME(14) = DESCRIZIONE RIGA
|
||||||
|
TYPE(14) = STRINGA
|
||||||
|
LENGTH(14) = 40
|
||||||
|
FIELD(14) = DESCR[1,40]
|
||||||
|
|
||||||
|
NAME(15) = IMPORTO RIGA
|
||||||
|
TYPE(15) = IMPORTO
|
||||||
|
MESSAGE(15) = _IMPORTORIGAIVA
|
||||||
|
|
||||||
|
NAME(16) = IMPONIBILE
|
||||||
|
TYPE(16) = IMPORTO
|
||||||
|
FIELD(16) = 25->IMPONIBILE
|
||||||
|
MESSAGE(16) = _IMPORTO
|
||||||
|
|
||||||
|
NAME(17) = CODICE IVA
|
||||||
|
TYPE(17) = STRINGA
|
||||||
|
LENGTH(17) = 3
|
||||||
|
FIELD(17) = 25->CODIVA
|
||||||
|
|
||||||
|
NAME(18) = IMPORTO IVA
|
||||||
|
TYPE(18) = IMPORTO
|
||||||
|
FIELD(18) = 25->IMPOSTA
|
||||||
|
MESSAGE(18) = _IMPORTO
|
||||||
|
|
||||||
|
NAME(19) = INDETRAIBILITA
|
||||||
|
TYPE(19) = NUMERO
|
||||||
|
FIELD(19) = 25->TIPODET
|
||||||
|
MESSAGE(19) = _TIPODET
|
||||||
|
|
||||||
|
NAME(20) = IMPORTO DIVISA
|
||||||
|
TYPE(20) = IMPORTO
|
||||||
|
|
||||||
|
NAME(21) = DIVISA
|
||||||
|
TYPE(21) = STRINGA
|
||||||
|
LENGTH(21) = 3
|
||||||
|
FIELD(21) = 23->CODVAL
|
||||||
|
|
||||||
|
NAME(22) = CAMBIO
|
||||||
|
TYPE(22) = IMPORTO
|
||||||
|
FIELD(22) = 23->CAMBIO
|
||||||
|
|
||||||
|
NAME(23) = CODICE PARTITA
|
||||||
|
TYPE(23) = STRINGA
|
||||||
|
LENGTH(23) = 10
|
||||||
|
|
||||||
|
NAME(24) = ANNO PARTITA
|
||||||
|
TYPE(24) = NUMERO
|
||||||
|
LENGTH(24) = 4
|
||||||
|
|
||||||
|
NAME(25) = DATA INIZIO COMP
|
||||||
|
TYPE(25) = DATA
|
||||||
|
|
||||||
|
NAME(26) = DATA FINE COMP
|
||||||
|
TYPE(26) = DATA
|
||||||
|
|
||||||
|
NAME(27) = CODICE ALIQUOTE FORFETARIE
|
||||||
|
TYPE(27) = STRINGA
|
||||||
|
LENGTH(27) = 1
|
||||||
|
|
||||||
|
NAME(28) = TIPO RIGA
|
||||||
|
TYPE(28) = STRINGA
|
||||||
|
LENGTH(28) = 1
|
||||||
|
MESSAGE(28) = _FISSO,!I
|
||||||
|
|
||||||
|
NAME(29) = CAUSALE RIGA CONTABILE
|
||||||
|
TYPE(29) = STRINGA
|
||||||
|
LENGTH(29) = 2
|
||||||
|
|
||||||
|
NAME(30) = REGISTRO IVA VENDITE
|
||||||
|
TYPE(30) = STRINGA
|
||||||
|
LENGTH(30) = 2
|
||||||
|
FIELD(30) = 23->CODCAUS
|
||||||
|
|
||||||
|
NAME(31) = PROTOCOLLO IVA VENDITE
|
||||||
|
TYPE(31) = STRINGA
|
||||||
|
LENGTH(31) = 10
|
||||||
|
FIELD(31) = 23->PROTIVA
|
||||||
|
|
||||||
|
NAME(32) = CODICE SCADENZA DI RIFERIMENTO
|
||||||
|
TYPE(32) = NUMERO
|
||||||
|
|
||||||
|
NAME(33) = TITOLARE PIVA
|
||||||
|
TYPE(33) = STRINGA
|
||||||
|
LENGTH(33) = 1
|
||||||
|
FIELD(33) = 20->PAIV
|
||||||
|
MESSAGE(33) = _TITOLARE
|
||||||
|
|
||||||
|
[RECORD C]
|
||||||
|
|
||||||
|
NAME(0) = CODICE UNIVOCO CLIENTE
|
||||||
|
TYPE(0) = STRINGA
|
||||||
|
LENGTH(0) = 6
|
||||||
|
FIELD(0) = 20->CODCF
|
||||||
|
|
||||||
|
NAME(1) = RAGIONE SOCIALE
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
LENGTH(1) = 40
|
||||||
|
FIELD(1) = 20->RAGSOC[1,40]
|
||||||
|
|
||||||
|
NAME(2) = RAGIONE SOCIALE 2
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
LENGTH(2) = 40
|
||||||
|
FIELD(2) = 20->RAGSOC[41,10]
|
||||||
|
|
||||||
|
NAME(3) = INDIRIZZO
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
LENGTH(3) = 40
|
||||||
|
MESSAGE(3) = _INDIR
|
||||||
|
|
||||||
|
NAME(4) = CITTA
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
LENGTH(4) = 30
|
||||||
|
FIELD(4) = 13->DENCOM[1,30]
|
||||||
|
|
||||||
|
NAME(5) = CAP
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
LENGTH(5) = 9
|
||||||
|
FIELD(5) = 20->CAPCF
|
||||||
|
|
||||||
|
NAME(6) = PROVINCIA
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
LENGTH(6) = 2
|
||||||
|
FIELD(6) = 13->PROVCOM
|
||||||
|
|
||||||
|
NAME(7) = REGIONE
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
LENGTH(7) = 3
|
||||||
|
FIELD(7) = 13->CODREG
|
||||||
|
|
||||||
|
NAME(8) = NAZIONE
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
LENGTH(8) = 3
|
||||||
|
FIELD(8) = 13->STATO
|
||||||
|
|
||||||
|
NAME(9) = INDIRIZZO E-MAIL
|
||||||
|
TYPE(9) = STRINGA
|
||||||
|
LENGTH(9) = 40
|
||||||
|
FIELD(9) = 20->MAIL
|
||||||
|
|
||||||
|
NAME(10) = PREFISSO INTERNAZIONALE TELEFONO 1
|
||||||
|
TYPE(10) = STRINGA
|
||||||
|
LENGTH(10) = 5
|
||||||
|
|
||||||
|
NAME(11) = PREFISSO NAZIONALE TELEFONO 1
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
LENGTH(11) = 5
|
||||||
|
FIELD(11) = 20->PTEL
|
||||||
|
|
||||||
|
NAME(12) = NUMERO TELEFONO 1
|
||||||
|
TYPE(12) = STRINGA
|
||||||
|
LENGTH(12) = 10
|
||||||
|
FIELD(12) = 20->TEL
|
||||||
|
|
||||||
|
NAME(13) = PREFISSO INTERNAZIONALE TELEFONO 2
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
LENGTH(13) = 5
|
||||||
|
|
||||||
|
NAME(14) = PREFISSO NAZIONALE TELEFONO 2
|
||||||
|
TYPE(14) = STRINGA
|
||||||
|
LENGTH(14) = 5
|
||||||
|
FIELD(14) = 20->PTEL2
|
||||||
|
|
||||||
|
NAME(15) = NUMERO TELEFONO 2
|
||||||
|
TYPE(15) = STRINGA
|
||||||
|
LENGTH(15) = 10
|
||||||
|
FIELD(15) = 20->TEL2
|
||||||
|
|
||||||
|
NAME(16) = PREFISSO INTERNAZIONALE FAX
|
||||||
|
TYPE(16) = STRINGA
|
||||||
|
LENGTH(16) = 5
|
||||||
|
|
||||||
|
NAME(17) = PREFISSO NAZIONALE TELEFONO FAX
|
||||||
|
TYPE(17) = STRINGA
|
||||||
|
LENGTH(17) = 5
|
||||||
|
FIELD(17) = 20->PFAX
|
||||||
|
|
||||||
|
NAME(18) = NUMERO TELEFONO FAX
|
||||||
|
TYPE(18) = STRINGA
|
||||||
|
LENGTH(18) = 10
|
||||||
|
FIELD(18) = 20->FAX
|
||||||
|
|
||||||
|
NAME(19) = PERSONA DA CONTATTARE
|
||||||
|
TYPE(19) = STRINGA
|
||||||
|
LENGTH(19) = 30
|
||||||
|
FIELD(19) = 20->REFERENTE[1,30]
|
||||||
|
|
||||||
|
NAME(20) = CHIAVE DI RICERCA
|
||||||
|
TYPE(20) = STRINGA
|
||||||
|
LENGTH(20) = 40
|
||||||
|
FIELD(20) = 20->RICALT
|
||||||
|
|
||||||
|
NAME(21) = NOTE
|
||||||
|
TYPE(21) = STRINGA
|
||||||
|
LENGTH(21) = 80
|
||||||
|
|
||||||
|
NAME(22) = PERSONA FISICA S/N
|
||||||
|
TYPE(22) = STRINGA
|
||||||
|
LENGTH(22) = 1
|
||||||
|
FIELD(22) = 20->TIPOPERS
|
||||||
|
MESSAGE(22) = _GIUFIS
|
||||||
|
|
||||||
|
NAME(23) = SESSO M/F
|
||||||
|
TYPE(23) = STRINGA
|
||||||
|
LENGTH(23) = 1
|
||||||
|
FIELD(23) = 8->SESSO
|
||||||
|
|
||||||
|
NAME(24) = DATA DI NASCITA
|
||||||
|
TYPE(24) = DATA
|
||||||
|
LENGTH(24) = 10
|
||||||
|
FIELD(24)= 8->DATANASC
|
||||||
|
|
||||||
|
NAME(25) = CITTA DI NASCITA
|
||||||
|
TYPE(25) = STRINGA
|
||||||
|
LENGTH(25) = 30
|
||||||
|
FIELD(25) = 8->COMNASC
|
||||||
|
|
||||||
|
NAME(26) = DENOMINAZIONE (COGNOME)
|
||||||
|
TYPE(26) = STRINGA
|
||||||
|
LENGTH(26) = 25
|
||||||
|
FIELD(26) = 6->RAGSOC[1,25]
|
||||||
|
|
||||||
|
NAME(27) = NOME
|
||||||
|
TYPE(27) = STRINGA
|
||||||
|
LENGTH(27) = 25
|
||||||
|
FIELD(27) = 6->RAGSOC[26,25]
|
||||||
|
|
||||||
|
NAME(28) = INDIRIZZO SEDE LEGALE
|
||||||
|
TYPE(28) = STRINGA
|
||||||
|
LENGTH(28) = 40
|
||||||
|
FIELD(28) = 20->INDCF
|
||||||
|
|
||||||
|
NAME(29) = CITTA SEDE LEGALE
|
||||||
|
TYPE(29) = STRINGA
|
||||||
|
LENGTH(29) = 30
|
||||||
|
FIELD(29) = 13->DENCOM[1,40]
|
||||||
|
|
||||||
|
NAME(30) = CAP SEDE LEGALE
|
||||||
|
TYPE(30) = STRINGA
|
||||||
|
LENGTH(30) = 9
|
||||||
|
FIELD(30) = 20->CAPCF
|
||||||
|
|
||||||
|
NAME(31) = PROVINCIA SEDE LEGALE
|
||||||
|
TYPE(31) = STRINGA
|
||||||
|
LENGTH(31) = 2
|
||||||
|
FIELD(31) = 13->PROVCOM
|
||||||
|
|
||||||
|
NAME(32) = REGIONE SEDE LEGALE
|
||||||
|
TYPE(32) = STRINGA
|
||||||
|
LENGTH(32) = 3
|
||||||
|
FIELD(32) = 13->CODREG
|
||||||
|
|
||||||
|
NAME(33) = CODICE ISO PIVA
|
||||||
|
TYPE(33) = STRINGA
|
||||||
|
LENGTH(33) = 2
|
||||||
|
FIELD(33) = 20->STATOPAIV
|
||||||
|
|
||||||
|
NAME(34) = PARTITA IVA
|
||||||
|
TYPE(34) = STRINGA
|
||||||
|
LENGTH(34) = 12
|
||||||
|
FIELD(34) = 20->PAIV
|
||||||
|
|
||||||
|
NAME(35) = CODICE FISCALE
|
||||||
|
TYPE(35) = STRINGA
|
||||||
|
LENGTH(35) = 16
|
||||||
|
FIELD(35) = 20->COFI
|
||||||
|
|
||||||
|
NAME(36) = CODICE FISCALE ESTERO
|
||||||
|
TYPE(36) = STRINGA
|
||||||
|
LENGTH(36) = 16
|
||||||
|
|
||||||
|
NAME(37) = CONTO
|
||||||
|
TYPE(37) = STRINGA
|
||||||
|
LENGTH(37) = 12
|
||||||
|
MESSAGE(37) = _CONTO
|
||||||
|
|
||||||
|
NAME(38) = CONTO CONTROPARTITA PER FATTURA
|
||||||
|
TYPE(38) = STRINGA
|
||||||
|
LENGTH(38) = 12
|
||||||
|
|
||||||
|
NAME(39) = CONTO CONTROPARTITA PER PAGAMENTI
|
||||||
|
TYPE(39) = STRINGA
|
||||||
|
LENGTH(39) = 12
|
||||||
|
|
||||||
|
NAME(40) = CODICE IVA CONTROPARTITA
|
||||||
|
TYPE(40) = STRINGA
|
||||||
|
LENGTH(40) = 3
|
||||||
|
|
||||||
|
NAME(41) = CODICE DIVISA CONTROPARTITA
|
||||||
|
TYPE(41) = STRINGA
|
||||||
|
LENGTH(41) = 3
|
||||||
|
|
||||||
|
NAME(42) = BLOCCATO
|
||||||
|
TYPE(42) = STRINGA
|
||||||
|
LENGTH(42) = 1
|
||||||
|
|
||||||
|
NAME(43) = DATA INIZIO RAPPORTO
|
||||||
|
TYPE(43) = DATA
|
||||||
|
LENGTH(43) = 10
|
||||||
|
|
||||||
|
NAME(44) = TIPO PAGAMENTO
|
||||||
|
TYPE(44) = STRINGA
|
||||||
|
LENGTH(44) = 1
|
||||||
|
FIELD(44)= 20->CODPAG
|
||||||
|
MESSAGE(44) = _CODPAG
|
||||||
|
|
||||||
|
NAME(45) = TITOLARE PIVA S/N
|
||||||
|
TYPE(45) = STRINGA
|
||||||
|
LENGTH(45) = 1
|
||||||
|
FIELD(45) = 20->PAIV
|
||||||
|
MESSAGE(45) = _TITOLARE
|
||||||
|
|
||||||
|
[RECORD F]
|
||||||
|
|
||||||
|
NAME(0) = CODICE UNIVOCO FORNITORE
|
||||||
|
TYPE(0) = STRINGA
|
||||||
|
LENGTH(0) = 6
|
||||||
|
FIELD(0) = 20->CODCF
|
||||||
|
|
||||||
|
NAME(1) = RAGIONE SOCIALE
|
||||||
|
TYPE(1) = STRINGA
|
||||||
|
LENGTH(1) = 40
|
||||||
|
FIELD(1) = 20->RAGSOC[1,40]
|
||||||
|
|
||||||
|
NAME(2) = RAGIONE SOCIALE 2
|
||||||
|
TYPE(2) = STRINGA
|
||||||
|
LENGTH(2) = 40
|
||||||
|
FIELD(2) = 20->RAGSOC[41,10]
|
||||||
|
|
||||||
|
NAME(3) = INDIRIZZO
|
||||||
|
TYPE(3) = STRINGA
|
||||||
|
LENGTH(3) = 40
|
||||||
|
MESSAGE(3) = _INDIR
|
||||||
|
|
||||||
|
NAME(4) = CITTA
|
||||||
|
TYPE(4) = STRINGA
|
||||||
|
LENGTH(4) = 30
|
||||||
|
FIELD(4) = 13->DENCOM[1,40]
|
||||||
|
|
||||||
|
NAME(5) = CAP
|
||||||
|
TYPE(5) = STRINGA
|
||||||
|
LENGTH(5) = 9
|
||||||
|
FIELD(5)=20->CAPCF
|
||||||
|
|
||||||
|
NAME(6) = PROVINCIA
|
||||||
|
TYPE(6) = STRINGA
|
||||||
|
LENGTH(6) = 2
|
||||||
|
FIELD(6) = 13->PROVCOM
|
||||||
|
|
||||||
|
NAME(7) = REGIONE
|
||||||
|
TYPE(7) = STRINGA
|
||||||
|
LENGTH(7) = 3
|
||||||
|
FIELD(7) = 13->CODREG
|
||||||
|
|
||||||
|
NAME(8) = NAZIONE
|
||||||
|
TYPE(8) = STRINGA
|
||||||
|
LENGTH(8) = 3
|
||||||
|
FIELD(8) = 13->STATO
|
||||||
|
|
||||||
|
NAME(9) = INDIRIZZO E-MAIL
|
||||||
|
TYPE(9) = STRINGA
|
||||||
|
LENGTH(9) = 40
|
||||||
|
FIELD(9) = 20->MAIL
|
||||||
|
|
||||||
|
NAME(10) = PREFISSO INTERNAZIONALE TELEFONO 1
|
||||||
|
TYPE(10) = STRINGA
|
||||||
|
LENGTH(10) = 5
|
||||||
|
|
||||||
|
NAME(11) = PREFISSO NAZIONALE TELEFONO 1
|
||||||
|
TYPE(11) = STRINGA
|
||||||
|
LENGTH(11) = 5
|
||||||
|
FIELD(11) = 20->PTEL
|
||||||
|
|
||||||
|
NAME(12) = NUMERO TELEFONO 1
|
||||||
|
TYPE(12) = STRINGA
|
||||||
|
LENGTH(12) = 10
|
||||||
|
FIELD(12) = 20->TEL
|
||||||
|
|
||||||
|
NAME(13) = PREFISSO INTERNAZIONALE TELEFONO 2
|
||||||
|
TYPE(13) = STRINGA
|
||||||
|
LENGTH(13) = 5
|
||||||
|
|
||||||
|
NAME(14) = PREFISSO NAZIONALE TELEFONO 2
|
||||||
|
TYPE(14) = STRINGA
|
||||||
|
LENGTH(14) = 5
|
||||||
|
FIELD(14) = 20->PTEL2
|
||||||
|
|
||||||
|
NAME(15) = NUMERO TELEFONO 2
|
||||||
|
TYPE(15) = STRINGA
|
||||||
|
LENGTH(15) = 10
|
||||||
|
FIELD(15) = 20->TEL2
|
||||||
|
|
||||||
|
NAME(16) = PREFISSO INTERNAZIONALE FAX
|
||||||
|
TYPE(16) = STRINGA
|
||||||
|
LENGTH(16) = 5
|
||||||
|
|
||||||
|
NAME(17) = PREFISSO NAZIONALE TELEFONO FAX
|
||||||
|
TYPE(17) = STRINGA
|
||||||
|
LENGTH(17) = 5
|
||||||
|
FIELD(17) = 20->PFAX
|
||||||
|
|
||||||
|
NAME(18) = NUMERO TELEFONO FAX
|
||||||
|
TYPE(18) = STRINGA
|
||||||
|
LENGTH(18) = 10
|
||||||
|
FIELD(18) = 20->FAX
|
||||||
|
|
||||||
|
NAME(19) = PERSONA DA CONTATTARE
|
||||||
|
TYPE(19) = STRINGA
|
||||||
|
LENGTH(19) = 30
|
||||||
|
FIELD(19) = 20->REFERENTE[1,30]
|
||||||
|
|
||||||
|
NAME(20) = CHIAVE DI RICERCA
|
||||||
|
TYPE(20) = STRINGA
|
||||||
|
LENGTH(20) = 40
|
||||||
|
|
||||||
|
NAME(21) = NOTE
|
||||||
|
TYPE(21) = STRINGA
|
||||||
|
LENGTH(21) = 80
|
||||||
|
|
||||||
|
NAME(22) = PERSONA FISICA S/N
|
||||||
|
TYPE(22) = STRINGA
|
||||||
|
LENGTH(22) = 1
|
||||||
|
FIELD(22) = 20->TIPOPERS
|
||||||
|
MESSAGE(22) = _GIUFIS
|
||||||
|
|
||||||
|
NAME(23) = SESSO M/F
|
||||||
|
TYPE(23) = STRINGA
|
||||||
|
LENGTH(23) = 1
|
||||||
|
FIELD(23) = 8->SESSO
|
||||||
|
|
||||||
|
NAME(24) = DATA DI NASCITA
|
||||||
|
TYPE(24) = DATA
|
||||||
|
LENGTH(24) = 10
|
||||||
|
FIELD(24)= 8->DATANASC
|
||||||
|
|
||||||
|
NAME(25) = CITTA DI NASCITA
|
||||||
|
TYPE(25) = STRINGA
|
||||||
|
LENGTH(25) = 30
|
||||||
|
FIELD(25) = 8->COMNASC
|
||||||
|
|
||||||
|
NAME(26) = DENOMINAZIONE (COGNOME)
|
||||||
|
TYPE(26) = STRINGA
|
||||||
|
LENGTH(26) = 25
|
||||||
|
FIELD(26) = 6->RAGSOC[1,25]
|
||||||
|
|
||||||
|
NAME(27) = NOME
|
||||||
|
TYPE(27) = STRINGA
|
||||||
|
LENGTH(27) = 25
|
||||||
|
FIELD(27) = 6->RAGSOC[26,25]
|
||||||
|
|
||||||
|
NAME(28) = INDIRIZZO SEDE LEGALE
|
||||||
|
TYPE(28) = STRINGA
|
||||||
|
LENGTH(28) = 40
|
||||||
|
FIELD(28) = 20->INDCF
|
||||||
|
|
||||||
|
NAME(29) = CITTA SEDE LEGALE
|
||||||
|
TYPE(29) = STRINGA
|
||||||
|
LENGTH(29) = 30
|
||||||
|
FIELD(29) = 13->DENCOM[1,40]
|
||||||
|
|
||||||
|
NAME(30) = CAP SEDE LEGALE
|
||||||
|
TYPE(30) = STRINGA
|
||||||
|
LENGTH(30) = 9
|
||||||
|
FIELD(30) = 20->CAPCF
|
||||||
|
|
||||||
|
NAME(31) = PROVINCIA SEDE LEGALE
|
||||||
|
TYPE(31) = STRINGA
|
||||||
|
LENGTH(31) = 2
|
||||||
|
FIELD(31) = 13->PROVCOM
|
||||||
|
|
||||||
|
NAME(32) = REGIONE SEDE LEGALE
|
||||||
|
TYPE(32) = STRINGA
|
||||||
|
LENGTH(32) = 3
|
||||||
|
FIELD(32) = 13->CODREG
|
||||||
|
|
||||||
|
NAME(33) = CODICE ISO PIVA
|
||||||
|
TYPE(33) = STRINGA
|
||||||
|
LENGTH(33) = 2
|
||||||
|
|
||||||
|
NAME(34) = PARTITA IVA
|
||||||
|
TYPE(34) = STRINGA
|
||||||
|
LENGTH(34) = 12
|
||||||
|
FIELD(34)=20->PAIV
|
||||||
|
|
||||||
|
NAME(35) = CODICE FISCALE
|
||||||
|
TYPE(35) = STRINGA
|
||||||
|
LENGTH(35) = 16
|
||||||
|
FIELD(35) = 20->COFI
|
||||||
|
|
||||||
|
NAME(36) = CODICE FISCALE ESTERO
|
||||||
|
TYPE(36) = STRINGA
|
||||||
|
LENGTH(36) = 16
|
||||||
|
|
||||||
|
NAME(37) = CONTO
|
||||||
|
TYPE(37) = STRINGA
|
||||||
|
LENGTH(37) = 12
|
||||||
|
|
||||||
|
NAME(38) = CONTO CONTROPARTITA PER PAGAMENTI
|
||||||
|
TYPE(38) = STRINGA
|
||||||
|
LENGTH(38) = 12
|
||||||
|
|
||||||
|
NAME(39) = CONTO CONTROPARTITA PER FATTURA
|
||||||
|
TYPE(39) = STRINGA
|
||||||
|
LENGTH(39) = 12
|
||||||
|
|
||||||
|
NAME(40) = CODICE IVA CONTROPARTITA
|
||||||
|
TYPE(40) = STRINGA
|
||||||
|
LENGTH(40) = 3
|
||||||
|
|
||||||
|
NAME(41) = CODICE DIVISA CONTROPARTITA
|
||||||
|
TYPE(41) = STRINGA
|
||||||
|
LENGTH(41) = 3
|
||||||
|
|
||||||
|
NAME(42) = GESTIONE ENASARCO
|
||||||
|
TYPE(42) = STRINGA
|
||||||
|
LENGTH(42) = 1
|
||||||
|
|
||||||
|
NAME(43) = DATA INIZIO RAPPORTO
|
||||||
|
TYPE(43) = DATA
|
||||||
|
LENGTH(43) = 10
|
||||||
|
|
||||||
|
NAME(44) = BLOCCATO
|
||||||
|
TYPE(44) = STRINGA
|
||||||
|
LENGTH(44) = 1
|
||||||
|
|
||||||
|
NAME(45) = TIPO PAGAMENTO
|
||||||
|
TYPE(45) = STRINGA
|
||||||
|
LENGTH(45) = 1
|
||||||
|
|
80
tc/tc9200a.uml
Executable file
80
tc/tc9200a.uml
Executable file
@ -0,0 +1,80 @@
|
|||||||
|
#include "cg7100a.h"
|
||||||
|
|
||||||
|
PAGE "Invio dati contabilita'" -1 -1 78 20
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 76 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "@bDitta corrente"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CODDITTA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 2 "Codice "
|
||||||
|
FLAGS "FD"
|
||||||
|
USE LF_NDITTE
|
||||||
|
INPUT CODDITTA F_CODDITTA
|
||||||
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOC 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 2 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 76 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Dati da inviare"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_CLIFOR
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 5 "Clienti/Fornitori"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_MOVCONT
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 6 "Movimenti"
|
||||||
|
MESSAGE TRUE,ENABLE F_DATAFIN
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTBOX F_TIPOINVIO 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 8 "Invio a "
|
||||||
|
ITEM "S|Sispac/Cosmo"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESTINAZIONE 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 9 "Destinazione "
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NUMEROINVIO 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Numero invio "
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAINI
|
||||||
|
BEGIN
|
||||||
|
PROMPT 20 10 "Data iniz. "
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAFIN
|
||||||
|
BEGIN
|
||||||
|
PROMPT 44 10 "Data fin. "
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
11
tc/tc9200conf.ini
Executable file
11
tc/tc9200conf.ini
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
[OPZIONI]
|
||||||
|
DATA =
|
||||||
|
FILEC =
|
||||||
|
FILEF =
|
||||||
|
FILEM =
|
||||||
|
NUMEROINVIO =
|
||||||
|
PERCORSO =
|
||||||
|
|
||||||
|
[PAGAMENTO]
|
||||||
|
0001=
|
||||||
|
0013=
|
7
tc/tc9300.cpp
Executable file
7
tc/tc9300.cpp
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
//NON riportare nulla!!!! Esiste dalla 4.0; qui e' solo un segnaposto
|
||||||
|
#include "tc9.h"
|
||||||
|
|
||||||
|
int tc9300(int argc, char **argv)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
@ -1,2 +1,3 @@
|
|||||||
#define F_CODTAB 101
|
#define F_COD 101
|
||||||
#define F_DESC 102
|
#define F_CODTAB 102
|
||||||
|
#define F_DESC 103
|
||||||
|
@ -6,37 +6,49 @@ TOOLBAR "" 0 -3 0 3
|
|||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "@bCausali" -1 -1 78 15
|
PAGE "Causali" -1 -1 78 15
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Causale"
|
PROMPT 1 1 "Causale"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LIST F_COD 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 ""
|
||||||
|
ITEM "CAU|CAU"
|
||||||
|
FIELD COD
|
||||||
|
FLAGS "H"
|
||||||
|
KEY 1
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER F_CODTAB 3
|
NUMBER F_CODTAB 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 ""
|
PROMPT 2 2 ""
|
||||||
FIELD CODTAB
|
USE LF_MULTIREL
|
||||||
USE NAZ
|
INPUT COD F_COD SELECT
|
||||||
INPUT CODTAB F_CODTAB
|
INPUT FIRST F_CODTAB
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" FIRST
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
OUTPUT F_CODTAB CODTAB
|
OUTPUT F_CODTAB FIRST
|
||||||
OUTPUT F_DESC S0
|
OUTPUT F_DESC DATA
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
|
FIELD FIRST
|
||||||
|
FLAGS "Z"
|
||||||
KEY 1
|
KEY 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESC 50
|
STRING F_DESC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 10 2 "Descrizione "
|
PROMPT 10 2 "Descrizione "
|
||||||
FIELD S0
|
USE LF_MULTIREL KEY 2
|
||||||
USE NAZ KEY 2
|
INPUT COD F_COD SELECT
|
||||||
INPUT S0 F_DESC
|
INPUT DATA F_DESC
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" FIRST
|
||||||
COPY OUTPUT F_CODTAB
|
COPY OUTPUT F_CODTAB
|
||||||
KEY 2
|
FIELD DATA
|
||||||
|
KEY 3
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -6,37 +6,49 @@ TOOLBAR "" 0 -3 0 3
|
|||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "@bCondizioni di pagamento" -1 -1 78 15
|
PAGE "Condizioni di pagamento" -1 -1 78 15
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Condizione di pagamento"
|
PROMPT 1 1 "Condizione di pagamento"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LIST F_COD 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 ""
|
||||||
|
ITEM "CDP|CDP"
|
||||||
|
FIELD COD
|
||||||
|
FLAGS "H"
|
||||||
|
KEY 1
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER F_CODTAB 4
|
NUMBER F_CODTAB 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 ""
|
PROMPT 2 2 ""
|
||||||
FIELD CODTAB
|
USE LF_MULTIREL
|
||||||
USE NAZ
|
INPUT COD F_COD SELECT
|
||||||
INPUT CODTAB F_CODTAB
|
INPUT FIRST F_CODTAB
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" FIRST
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
OUTPUT F_CODTAB CODTAB
|
OUTPUT F_CODTAB FIRST
|
||||||
OUTPUT F_DESC S0
|
OUTPUT F_DESC DATA
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
|
FIELD FIRST
|
||||||
|
FLAGS "Z"
|
||||||
KEY 1
|
KEY 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESC 50
|
STRING F_DESC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 10 2 "Descrizione "
|
PROMPT 10 2 "Descrizione "
|
||||||
FIELD S0
|
USE LF_MULTIREL KEY 2
|
||||||
USE NAZ KEY 2
|
INPUT COD F_COD SELECT
|
||||||
INPUT S0 F_DESC
|
INPUT DATA F_DESC
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" FIRST
|
||||||
COPY OUTPUT F_CODTAB
|
COPY OUTPUT F_CODTAB
|
||||||
KEY 2
|
FIELD DATA
|
||||||
|
KEY 3
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -6,37 +6,49 @@ TOOLBAR "" 0 -3 0 3
|
|||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "@bConti" -1 -1 78 15
|
PAGE "Conti" -1 -1 78 15
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Conto"
|
PROMPT 1 1 "Conto"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LIST F_COD 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 ""
|
||||||
|
ITEM "CON|CON"
|
||||||
|
FIELD COD
|
||||||
|
FLAGS "H"
|
||||||
|
KEY 1
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER F_CODTAB 7
|
NUMBER F_CODTAB 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 ""
|
PROMPT 2 2 ""
|
||||||
FIELD CODTAB
|
USE LF_MULTIREL
|
||||||
USE NAZ
|
INPUT COD F_COD SELECT
|
||||||
INPUT CODTAB F_CODTAB
|
INPUT FIRST F_CODTAB
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice@8" FIRST
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
OUTPUT F_CODTAB CODTAB
|
OUTPUT F_CODTAB FIRST
|
||||||
OUTPUT F_DESC S0
|
OUTPUT F_DESC DATA
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
|
FIELD FIRST
|
||||||
|
FLAGS "Z"
|
||||||
KEY 1
|
KEY 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESC 50
|
STRING F_DESC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 12 2 "Descrizione "
|
PROMPT 12 2 "Descrizione "
|
||||||
FIELD S0
|
USE LF_MULTIREL KEY 2
|
||||||
USE NAZ KEY 2
|
INPUT COD F_COD SELECT
|
||||||
INPUT S0 F_DESC
|
INPUT DATA F_DESC
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice@8" FIRST
|
||||||
COPY OUTPUT F_CODTAB
|
COPY OUTPUT F_CODTAB
|
||||||
KEY 2
|
FIELD DATA
|
||||||
|
KEY 3
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -6,37 +6,49 @@ TOOLBAR "" 0 -3 0 3
|
|||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "@bNazioni" -1 -1 78 15
|
PAGE "Nazioni" -1 -1 78 15
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Nazione"
|
PROMPT 1 1 "Nazione"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LIST F_COD 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 ""
|
||||||
|
ITEM "NAZ|NAZ"
|
||||||
|
FIELD COD
|
||||||
|
FLAGS "H"
|
||||||
|
KEY 1
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER F_CODTAB 4
|
NUMBER F_CODTAB 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 ""
|
PROMPT 2 2 ""
|
||||||
FIELD CODTAB
|
USE LF_MULTIREL
|
||||||
USE NAZ
|
INPUT COD F_COD SELECT
|
||||||
INPUT CODTAB F_CODTAB
|
INPUT FIRST F_CODTAB
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" FIRST
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
OUTPUT F_CODTAB CODTAB
|
OUTPUT F_CODTAB FIRST
|
||||||
OUTPUT F_DESC S0
|
OUTPUT F_DESC DATA
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
|
FIELD FIRST
|
||||||
|
FLAGS "Z"
|
||||||
KEY 1
|
KEY 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESC 50
|
STRING F_DESC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 10 2 "Descrizione "
|
PROMPT 10 2 "Descrizione "
|
||||||
FIELD S0
|
USE LF_MULTIREL KEY 2
|
||||||
USE NAZ KEY 2
|
INPUT COD F_COD SELECT
|
||||||
INPUT S0 F_DESC
|
INPUT DATA F_DESC
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" FIRST
|
||||||
COPY OUTPUT F_CODTAB
|
COPY OUTPUT F_CODTAB
|
||||||
KEY 2
|
FIELD DATA
|
||||||
|
KEY 3
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -6,37 +6,49 @@ TOOLBAR "" 0 -3 0 3
|
|||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "@bRegistri" -1 -1 78 15
|
PAGE "Registri" -1 -1 78 15
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Registro"
|
PROMPT 1 1 "Registro"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LIST F_COD 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 ""
|
||||||
|
ITEM "REG|REG"
|
||||||
|
FIELD COD
|
||||||
|
FLAGS "H"
|
||||||
|
KEY 1
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER F_CODTAB 3
|
NUMBER F_CODTAB 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 ""
|
PROMPT 2 2 ""
|
||||||
FIELD CODTAB
|
USE LF_MULTIREL
|
||||||
USE NAZ
|
INPUT COD F_COD SELECT
|
||||||
INPUT CODTAB F_CODTAB
|
INPUT FIRST F_CODTAB
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" FIRST
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
OUTPUT F_CODTAB CODTAB
|
OUTPUT F_CODTAB FIRST
|
||||||
OUTPUT F_DESC S0
|
OUTPUT F_DESC DATA
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
|
FIELD FIRST
|
||||||
|
FLAGS "Z"
|
||||||
KEY 1
|
KEY 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESC 50
|
STRING F_DESC 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 10 2 "Descrizione "
|
PROMPT 10 2 "Descrizione "
|
||||||
FIELD S0
|
USE LF_MULTIREL KEY 2
|
||||||
USE NAZ KEY 2
|
INPUT COD F_COD SELECT
|
||||||
INPUT S0 F_DESC
|
INPUT DATA F_DESC
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@60" DATA
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" FIRST
|
||||||
COPY OUTPUT F_CODTAB
|
COPY OUTPUT F_CODTAB
|
||||||
KEY 2
|
FIELD DATA
|
||||||
|
KEY 3
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user