Patch level :2.2 nopatch
Files correlati :ve7 & co. Ricompilazione Demo : [ ] Commento :aggiunti files di ve7 dalla 2.1 git-svn-id: svn://10.65.10.50/trunk@12429 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
dfde1877ae
commit
10dc5fdc6e
40
cg/cg7.cpp
Executable file
40
cg/cg7.cpp
Executable file
@ -0,0 +1,40 @@
|
||||
#include <xvt.h>
|
||||
|
||||
#include "cg7.h"
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int rt = -1;
|
||||
const int r = (argc > 1) ? argv[1][1]-'0' : -1;
|
||||
|
||||
switch (r)
|
||||
{
|
||||
case 1:
|
||||
default:
|
||||
cg7100(argc, argv); break; // invio ad altra procedura
|
||||
}
|
||||
exit(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
20
cg/cg7.h
Executable file
20
cg/cg7.h
Executable file
@ -0,0 +1,20 @@
|
||||
#ifndef __CG7_H
|
||||
#define __CG7_H
|
||||
|
||||
int cg7100(int argc, char** argv);
|
||||
|
||||
#endif // __CG7_H
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
609
cg/cg7100.cpp
Executable file
609
cg/cg7100.cpp
Executable file
@ -0,0 +1,609 @@
|
||||
#include <applicat.h>
|
||||
#include <assoc.h>
|
||||
#include <automask.h>
|
||||
#include <currency.h>
|
||||
#include <filetext.h>
|
||||
#include <msksheet.h>
|
||||
#include <printer.h>
|
||||
#include <recarray.h>
|
||||
#include <relation.h>
|
||||
#include <sort.h>
|
||||
#include <utility.h>
|
||||
|
||||
#include "cg7.h"
|
||||
#include "cg7100a.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, const TString& config_name);
|
||||
virtual ~TInvio_file() { }
|
||||
};
|
||||
|
||||
TInvio_file::TInvio_file(const TString& file_name, const TString& config_name)
|
||||
: TFile_text(file_name, config_name)
|
||||
{
|
||||
}
|
||||
|
||||
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 ("cg7100a")
|
||||
{
|
||||
}
|
||||
|
||||
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 = "zucchett.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 = "zucchett.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 NFCHECK("Macro non definita: %s", (const char *)code);
|
||||
str = valore;
|
||||
}
|
||||
|
||||
bool TInvio::create()
|
||||
{
|
||||
open_files(LF_CAUSALI, LF_CLIFO, LF_PCON, LF_MOV, LF_RMOV, LF_RMOVIVA, 0);
|
||||
_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 = "zucchett.ini";
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
void TInvio::invio_zucchetti()
|
||||
{
|
||||
TFilename configname = "zucchett.ini";
|
||||
TConfig configfile(configname);
|
||||
TFilename filename = _msk->get(F_DESTINAZIONE);
|
||||
filename.add(configfile.get("NOMEFILE", "OPZIONI"));
|
||||
if (fexist(filename))
|
||||
remove(filename);
|
||||
_trasfile = new TInvio_file(filename, configname);
|
||||
_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;
|
||||
}
|
||||
|
||||
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("T");
|
||||
_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;
|
||||
}
|
||||
|
||||
int cg7100(int argc, char **argv)
|
||||
{
|
||||
TInvio a;
|
||||
a.run(argc, argv, "Invio dati contabilità");
|
||||
return 0;
|
||||
}
|
||||
|
18
cg/cg7100a.h
Executable file
18
cg/cg7100a.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
|
128
cg/cg7100a.uml
Executable file
128
cg/cg7100a.uml
Executable file
@ -0,0 +1,128 @@
|
||||
#include "cg7100a.h"
|
||||
|
||||
PAGE "Invio dati contabilita'" -1 -1 78 20
|
||||
|
||||
//STRING 30 70 50
|
||||
// BEGIN
|
||||
// FLAGS "G"
|
||||
// PROMPT 10 -5 "Profilo "
|
||||
// PSELECT
|
||||
//END
|
||||
|
||||
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
|
759
cg/zucchett.ini
Executable file
759
cg/zucchett.ini
Executable file
@ -0,0 +1,759 @@
|
||||
[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 T]
|
||||
|
||||
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 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 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
|
||||
|
||||
NAME(2) = NUMERO RECORD TRASFERITI
|
||||
TYPE(2) = NUMERO
|
||||
POSITION(2) = 9
|
||||
LENGTH(2) = 8
|
||||
MESSAGE(2)=_NUMRECORDSDETTAGLIO
|
||||
|
||||
[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
|
||||
|
||||
[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) = 5
|
||||
|
||||
NAME(5) = LIMITE SUPERIORE DARE
|
||||
TYPE(5) = NUMERO
|
||||
POSITION(5) = 40
|
||||
LENGTH(5) = 5
|
||||
|
||||
NAME(6) = LIMITE INFERIORE AVERE
|
||||
TYPE(6) = NUMERO
|
||||
POSITION(6) = 45
|
||||
LENGTH(6) = 5
|
||||
|
||||
NAME(7) = LIMITE SUPERIORE AVERE
|
||||
TYPE(7) = NUMERO
|
||||
POSITION(7) = 50
|
||||
LENGTH(7) = 5
|
||||
|
||||
NAME(8) = FILLER
|
||||
TYPE(8) = STRINGA
|
||||
POSITION(8) = 55
|
||||
LENGTH(8) = 145
|
||||
|
||||
[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) = 5
|
||||
FIELD(3) = 20->CODCF
|
||||
|
||||
NAME(4) = TIPO CODIFICA CLIFO
|
||||
TYPE(4) = STRINGA
|
||||
POSITION(4) = 9
|
||||
LENGTH(4) = 1
|
||||
|
||||
NAME(5) = CHIAVE SGG00F
|
||||
TYPE(5) = STRINGA
|
||||
POSITION(5) = 10
|
||||
LENGTH(5) = 11
|
||||
|
||||
NAME(6) = COGNOME SOGGETTO
|
||||
TYPE(6) = STRINGA
|
||||
POSITION(6) = 21
|
||||
LENGTH(6) = 25
|
||||
FIELD(6) = 20->RAGSOC[1,25]
|
||||
|
||||
NAME(7) = NOME SOGGETTO
|
||||
TYPE(7) = STRINGA
|
||||
POSITION(7) = 46
|
||||
LENGTH(7) = 25
|
||||
FIELD(7) = 20->RAGSOC[26,25]
|
||||
|
||||
NAME(8) = CODICE FISCALE
|
||||
TYPE(8) = STRINGA
|
||||
POSITION(8) = 71
|
||||
LENGTH(8) = 16
|
||||
FIELD(8) = 20->PAIV
|
||||
|
||||
NAME(9) = CODICE FISCALE ERRATO
|
||||
TYPE(9) = STRINGA
|
||||
POSITION(9) = 87
|
||||
LENGTH(9) = 1
|
||||
|
||||
NAME(10) = SOGGETTO INTRACOMUNITARIO
|
||||
TYPE(10) = STRINGA
|
||||
POSITION(10) = 88
|
||||
LENGTH(10) = 1
|
||||
|
||||
NAME(11) = FILLER
|
||||
TYPE(11) = STRINGA
|
||||
POSITION(11) = 89
|
||||
LENGTH(11) = 111
|
||||
|
||||
[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) = CAP DI RESIDENZA
|
||||
TYPE(4) = STRINGA
|
||||
POSITION(4) = 40
|
||||
LENGTH(4) = 5
|
||||
FIELD(4)=20->CAPCF
|
||||
|
||||
NAME(5) = COMUNE DI RESIDENZA
|
||||
TYPE(5) = STRINGA
|
||||
POSITION(5) = 45
|
||||
LENGTH(5) = 23
|
||||
|
||||
NAME(6) = PROVINCIA DI RESIDENZA
|
||||
TYPE(6) = STRINGA
|
||||
POSITION(6) = 68
|
||||
LENGTH(6) = 2
|
||||
|
||||
NAME(7) = PARTITA IVA
|
||||
TYPE(7) = STRINGA
|
||||
POSITION(7) = 70
|
||||
LENGTH(7) = 11
|
||||
FIELD(7)=20->PAIV
|
||||
|
||||
NAME(8) = PARTITA IVA ERRATA
|
||||
TYPE(8) = STRINGA
|
||||
POSITION(8) = 81
|
||||
LENGTH(8) = 1
|
||||
|
||||
NAME(9) = TIPO SOGGETTO
|
||||
TYPE(9) = STRINGA
|
||||
POSITION(9) = 82
|
||||
LENGTH(9) = 1
|
||||
FIELD(9) = 20->TIPOPERS
|
||||
|
||||
NAME(10) = ALLEGATO CLIFOR
|
||||
TYPE(10) = STRINGA
|
||||
POSITION(10) = 83
|
||||
LENGTH(10) = 1
|
||||
|
||||
NAME(11) = BOLLA DOGANALE
|
||||
TYPE(11) = STRINGA
|
||||
POSITION(11) = 84
|
||||
LENGTH(11) = 1
|
||||
|
||||
NAME(12) = FILLER
|
||||
TYPE(12) = STRINGA
|
||||
POSITION(12) = 85
|
||||
LENGTH(12) = 115
|
||||
|
||||
[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) = 7
|
||||
FIELD(2)=19->SOTTOCONTO
|
||||
|
||||
NAME(3) = DESCRIZIONE
|
||||
TYPE(3) = STRINGA
|
||||
POSITION(3) = 10
|
||||
LENGTH(3) = 30
|
||||
FIELD(3)=19->DESCR
|
||||
|
||||
NAME(4) = TIPO CONTO
|
||||
TYPE(4) = STRINGA
|
||||
POSITION(4) = 40
|
||||
LENGTH(4) = 30
|
||||
|
||||
NAME(5) = FILLER
|
||||
TYPE(5) = STRINGA
|
||||
POSITION(5) = 41
|
||||
LENGTH(5) = 159
|
||||
|
||||
[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) = 2
|
||||
|
||||
NAME(8) = SOTTOCONTO DARE
|
||||
TYPE(8) = NUMERO
|
||||
POSITION(8) = 59
|
||||
LENGTH(8) = 5
|
||||
FIELD(8) = 24->SOTTOCONTO
|
||||
MESSAGE(8) = _SEZIONE,D
|
||||
|
||||
NAME(9) = CENTRO DI COSTO AVERE
|
||||
TYPE(9) = NUMERO
|
||||
POSITION(9) = 64
|
||||
LENGTH(9) = 2
|
||||
|
||||
NAME(10) = SOTTOCONTO AVERE
|
||||
TYPE(10) = NUMERO
|
||||
POSITION(10) = 66
|
||||
LENGTH(10) = 5
|
||||
FIELD(10) = 24->SOTTOCONTO
|
||||
MESSAGE(10)= _SEZIONE,A
|
||||
|
||||
NAME(11) = TIPO CODIFICA DARE
|
||||
TYPE(11) = STRINGA
|
||||
POSITION(11) = 71
|
||||
LENGTH(11) = 1
|
||||
|
||||
NAME(12) = PARTITA IVA DARE
|
||||
TYPE(12) = NUMERO
|
||||
POSITION(12) = 72
|
||||
LENGTH(12) = 11
|
||||
|
||||
NAME(13) = TIPO CODIFICA AVERE
|
||||
TYPE(13) = STRINGA
|
||||
POSITION(13) = 83
|
||||
LENGTH(13) = 1
|
||||
|
||||
NAME(14) = PARTITA IVA AVERE
|
||||
TYPE(14) = NUMERO
|
||||
POSITION(14) = 84
|
||||
LENGTH(14) = 11
|
||||
|
||||
NAME(15) = FLAG DIVERSI
|
||||
TYPE(15) = STRINGA
|
||||
POSITION(15) = 95
|
||||
LENGTH(15) = 1
|
||||
MESSAGE(15) = _DIVERSI
|
||||
|
||||
NAME(16) = FLAG LIRE EURO
|
||||
TYPE(16) = STRINGA
|
||||
POSITION(16) = 96
|
||||
LENGTH(16) = 1
|
||||
MESSAGE(16) = _FISSO,!E
|
||||
|
||||
NAME(17) = FILLER
|
||||
TYPE(17) = STRINGA
|
||||
POSITION(17) = 97
|
||||
LENGTH(17) = 103
|
||||
|
||||
[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
|
||||
|
||||
[RECORD 30]
|
||||
NAME(1) = TIPO DETTAGLIO MOV IVA (FATTURE)
|
||||
TYPE(1) = STRINGA
|
||||
POSITION(1) = 0
|
||||
LENGTH(1) = 3
|
||||
MESSAGE(1)=_FISSO,!D30
|
||||
|
||||
NAME(2) = ANNO REGISTRAZIONE
|
||||
TYPE(2) = NUMERO
|
||||
POSITION(2) = 3
|
||||
LENGTH(2) = 4
|
||||
MESSAGE(2) = _ANNO
|
||||
FIELD(2) = 23->DATAREG
|
||||
|
||||
NAME(3) = MESE REGISTRAZIONE
|
||||
TYPE(3) = NUMERO
|
||||
POSITION(3) = 7
|
||||
LENGTH(3) = 2
|
||||
MESSAGE(3) = _MESE
|
||||
FIELD(3) = 23->DATAREG
|
||||
|
||||
NAME(4) = ANNO COMPETENZA
|
||||
TYPE(4) = NUMERO
|
||||
POSITION(4) = 9
|
||||
LENGTH(4) = 4
|
||||
MESSAGE(4) = _ANNO
|
||||
FIELD(4) = 23->DATACOMP
|
||||
|
||||
NAME(5) = MESE COMPETENZA
|
||||
TYPE(5) = NUMERO
|
||||
POSITION(5) = 13
|
||||
LENGTH(5) = 2
|
||||
MESSAGE(5) = _MESE
|
||||
FIELD(5) = 23->DATACOMP
|
||||
|
||||
NAME(6) = SEZIONE
|
||||
TYPE(6) = NUMERO
|
||||
POSITION(6) = 15
|
||||
LENGTH(6) = 2
|
||||
|
||||
NAME(7) = TIPO DOCUMENTO
|
||||
TYPE(7) = STRINGA
|
||||
POSITION(7) = 17
|
||||
LENGTH(7) = 1
|
||||
FIELD(7) = 23->TIPODOC[1,1]
|
||||
MESSAGE(7) = _TIPODOC
|
||||
|
||||
NAME(8) = TIPO FATTURA
|
||||
TYPE(8) = STRINGA
|
||||
POSITION(8) = 18
|
||||
LENGTH(8) = 2
|
||||
|
||||
NAME(9) = NUMERO DOCUMENTO
|
||||
TYPE(9) = NUMERO
|
||||
POSITION(9) = 20
|
||||
LENGTH(9) = 7
|
||||
FIELD(9) = 23->NUMDOC
|
||||
MESSAGE(9) = _NUMDOC
|
||||
|
||||
NAME(10) = NUMERO BIS
|
||||
TYPE(10) = STRINGA
|
||||
POSITION(10) = 27
|
||||
LENGTH(10) = 1
|
||||
|
||||
NAME(11) = NUMERO FATTURA FORNITORE
|
||||
TYPE(11) = STRINGA
|
||||
POSITION(11) = 28
|
||||
LENGTH(11) = 7
|
||||
FIELD(11) = 23->NUMDOC
|
||||
|
||||
NAME(12) = DATA REGISTRAZIONE
|
||||
TYPE(12) = DATA
|
||||
POSITION(12) = 35
|
||||
LENGTH(12) = 8
|
||||
FIELD(12) = 23->DATAREG
|
||||
|
||||
NAME(13) = DATA FATTURA
|
||||
TYPE(13) = DATA
|
||||
POSITION(13) = 43
|
||||
LENGTH(13) = 8
|
||||
FIELD(13) = 23->DATADOC
|
||||
|
||||
NAME(14) = DATA SCADENZA
|
||||
TYPE(14) = DATA
|
||||
POSITION(14) = 51
|
||||
LENGTH(14) = 8
|
||||
|
||||
NAME(15) = DATA RISCONTO
|
||||
TYPE(15) = DATA
|
||||
POSITION(15) = 59
|
||||
LENGTH(15) = 8
|
||||
|
||||
NAME(16) = DATA RATEO
|
||||
TYPE(16) = DATA
|
||||
POSITION(16) = 67
|
||||
LENGTH(16) = 8
|
||||
|
||||
NAME(17) = CODICE PAGAMENTO
|
||||
TYPE(17) = NUMERO
|
||||
POSITION(17) = 75
|
||||
LENGTH(17) = 3
|
||||
|
||||
NAME(18) = TIPO PAGAMENTO
|
||||
TYPE(18) = STRINGA
|
||||
POSITION(18) = 78
|
||||
LENGTH(18) = 1
|
||||
|
||||
NAME(19) = CODICE CLIFOR
|
||||
TYPE(19) = NUMERO
|
||||
POSITION(19) = 79
|
||||
LENGTH(19) = 5
|
||||
FIELD(19) = 23->CODCF
|
||||
|
||||
NAME(20) = TIPO CODIFICA
|
||||
TYPE(20) = STRINGA
|
||||
POSITION(20) = 84
|
||||
LENGTH(20) = 1
|
||||
FIELD(20) = 23->TIPO
|
||||
MESSAGE(20) = _CODIFICA
|
||||
|
||||
NAME(21) = PARTITA IVA
|
||||
TYPE(21) = NUMERO
|
||||
POSITION(21) = 85
|
||||
LENGTH(21) = 11
|
||||
|
||||
NAME(22) = DESCRIZIONE ALTERNATIVA
|
||||
TYPE(22) = STRINGA
|
||||
POSITION(22) = 96
|
||||
LENGTH(22) = 29
|
||||
|
||||
NAME(23) = TIPO DESCRIZIONE
|
||||
TYPE(23) = STRINGA
|
||||
POSITION(23) = 125
|
||||
LENGTH(23) = 1
|
||||
|
||||
NAME(24) = FLAG PARTITA
|
||||
TYPE(24) = STRINGA
|
||||
POSITION(24) = 126
|
||||
LENGTH(24) = 1
|
||||
|
||||
NAME(25) = MESE STAMPA
|
||||
TYPE(25) = NUMERO
|
||||
POSITION(25) = 127
|
||||
LENGTH(25) = 2
|
||||
|
||||
NAME(26) = FLAG LIRE EURO
|
||||
TYPE(26) = STRINGA
|
||||
POSITION(26) = 129
|
||||
LENGTH(26) = 1
|
||||
MESSAGE(26) = _FISSO,!E
|
||||
|
||||
NAME(27) = ALTRE RITENUTE
|
||||
TYPE(27) = IMPORTO
|
||||
POSITION(27) = 130
|
||||
LENGTH(27) = 11
|
||||
|
||||
NAME(28) = RITENUTA ACCONTO
|
||||
TYPE(28) = IMPORTO
|
||||
POSITION(28) = 141
|
||||
LENGTH(28) = 11
|
||||
FIELD(28) = 23->RITFIS
|
||||
MESSAGE(28) = _IMPORTO
|
||||
|
||||
[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) = ALIQUOTA IVA
|
||||
TYPE(2) = STRINGA
|
||||
POSITION(2) = 3
|
||||
LENGTH(2) = 4
|
||||
FIELD(2)= 25->CODIVA[1,2]
|
||||
FILLER(2) = '0'
|
||||
|
||||
NAME(3) = IMPORTO IMPONIBILE EURO
|
||||
TYPE(3) = IMPORTO
|
||||
POSITION(3) = 7
|
||||
LENGTH(3) = 11
|
||||
FIELD(3)= 25->IMPONIBILE
|
||||
MESSAGE(3) = _IMPORTO
|
||||
|
||||
NAME(4) = SEGNO IMPONIBILE
|
||||
TYPE(4) = STRINGA
|
||||
POSITION(4) = 18
|
||||
LENGTH(4) = 1
|
||||
MESSAGE(4) = _SEGNO,25,IMPONIBILE
|
||||
|
||||
NAME(5) = IMPORTO IMPOSTA EURO
|
||||
TYPE(5) = IMPORTO
|
||||
POSITION(5) = 19
|
||||
LENGTH(5) = 9
|
||||
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) = 2
|
||||
|
||||
NAME(9) = CONTROPARTITA
|
||||
TYPE(9) = NUMERO
|
||||
POSITION(9) = 33
|
||||
LENGTH(9) = 5
|
||||
FIELD(9) = 25->SOTTOCONTO
|
||||
|
||||
NAME(10) = IMPORTO TOTALE EURO
|
||||
TYPE(10) = IMPORTO
|
||||
POSITION(10) = 38
|
||||
LENGTH(10) = 11
|
||||
MESSAGE(10)= _TOTALE
|
||||
|
||||
NAME(11) = SEGNO TOTALE
|
||||
TYPE(11) = STRINGA
|
||||
POSITION(11) = 49
|
||||
LENGTH(11) = 1
|
||||
MESSAGE(11)= _SEGNOTOTALE
|
||||
|
||||
NAME(12) = IMPORTO VALUTA
|
||||
TYPE(12) = IMPORTO
|
||||
POSITION(12) = 50
|
||||
LENGTH(12) = 13
|
||||
|
||||
NAME(13) = SEGNO VALUTA
|
||||
TYPE(13) = STRINGA
|
||||
POSITION(13) = 63
|
||||
LENGTH(13) = 1
|
||||
MESSAGE(13) = _FISSO,!+
|
||||
|
||||
NAME(14) = TIPO VALUTA
|
||||
TYPE(14) = STRINGA
|
||||
POSITION(14) = 64
|
||||
LENGTH(14) = 3
|
||||
|
||||
NAME(15) = CODICE CEE
|
||||
TYPE(15) = STRINGA
|
||||
POSITION(15) = 67
|
||||
LENGTH(15) = 2
|
||||
|
||||
[OPZIONI]
|
||||
CODICEDITTA = 000106
|
||||
DATA =
|
||||
NOMEFILE = im000000
|
||||
NUMEROINVIO =
|
||||
PERCORSO =
|
||||
|
||||
[CAUSALI]
|
||||
STANDARD=021|020
|
||||
|
Loading…
x
Reference in New Issue
Block a user