Patch level :

Files correlati     : 777.exe
Ricompilazione Demo : [ ]
Commento            :
Aggiunto programma di trasferimento dati 770 per la Dylog


git-svn-id: svn://10.65.10.50/trunk@7218 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1998-10-06 10:51:26 +00:00
parent 212dc05aef
commit 11be8f4e18
10 changed files with 999 additions and 23 deletions

View File

@ -8,7 +8,7 @@ int main(int argc,char** argv)
switch(n) switch(n)
{ {
case 0: m777100(argc, argv); break; case 0: m777100(argc, argv); break;
default: break; default: m777200(argc, argv); break;
} }
exit(0); exit(0);
return 0; return 0;

View File

@ -1 +1,2 @@
int m777100(int argc, char* argv[]); int m777100(int argc, char* argv[]);
int m777200(int argc, char* argv[]);

View File

@ -358,7 +358,6 @@ long TForm770::raggruppa_c()
} }
} }
return _records.items(); return _records.items();
} }
@ -422,7 +421,6 @@ long TForm770::trasfer(long codditta, TTrasferimento770& file,
if (items > 0) // Se c'e almeno un record ... if (items > 0) // Se c'e almeno un record ...
{ {
cur.freeze(TRUE); // Per efficienza congela il cursore cur.freeze(TRUE); // Per efficienza congela il cursore
int rpm = 10; // Righe per modulo
// Inizializza record col primo modulo // Inizializza record col primo modulo
TRecord770 rec(rectype); TRecord770 rec(rectype);

833
m770/777200.cpp Executable file
View File

@ -0,0 +1,833 @@
#include <fstream.h>
#include <applicat.h>
#include <form.h>
#include <automask.h>
#include <os_dep.h>
#include <progind.h>
#include <recarray.h>
#include <utility.h>
#include "777.h"
#include "777100a.h"
#include <anagr.h>
#include <anafis.h>
#include <anagiu.h>
#include <comuni.h>
#include <nditte.h>
#include "base.h"
#include "quadroc.h"
///////////////////////////////////////////////////////////
// Dichiarazioni
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// TFormDylog
///////////////////////////////////////////////////////////
class TRecordDylog;
class TTrasferimentoDylog;
class TFormDylog : public TForm
{
TCursor* _sortedcur;
int _index;
TArray _records;
TPointer_array _positions;
protected:
bool compatible(const TRectype& r1, const TRectype& r2);
void add_rec(TRectype& r1, const TRectype& r2);
long raggruppa_c();
int first();
int next();
void transfer_section(TPrint_section& body, int rigo,
TRecordDylog& rec, TTrasferimentoDylog& file);
char log2rec(int num, int& rpm) const;
protected:
virtual TCursor* cursor() { return _sortedcur ? _sortedcur : TForm::cursor(); }
public:
long trasfer(long codditta, TTrasferimentoDylog& file, const char* tipo);
TFormDylog(const char* name);
virtual ~TFormDylog();
};
///////////////////////////////////////////////////////////
// TTracciatiDylog
///////////////////////////////////////////////////////////
class TTracciatiDylog : public TObject
{
TAssoc_array _form;
public:
TFormDylog& form(const char* quadro);
void destroy();
TTracciatiDylog();
virtual ~TTracciatiDylog();
} _trcDylog;
///////////////////////////////////////////////////////////
// TRecordDylog
///////////////////////////////////////////////////////////
class TCacheDylog : public TObject
{
TArray _files;
TAssoc_array _tables;
public:
const TRectype& get(int num, const char* key);
const TRectype& get(int num, long key);
void destroy();
TCacheDylog() { }
virtual ~TCacheDylog() { }
} _cacheDylog;
const int REC_SIZE = 630;
class TRecordDylog : public TObject
{
TString _buffer;
protected: // TObject
virtual TObject* dup() const { return new TRecordDylog(*this); }
virtual void print_on(ostream& outs) const;
virtual void read_from(istream& ins);
public:
void set(const char* val, char tipo, int pos, int len);
const TRecordDylog& operator=(const TRecordDylog& rec)
{ _buffer = rec._buffer; return *this; }
const TString& tipo_record() const { return _buffer.left(2); }
void tipo_record(const char* tipo);
bool valid() const;
TRecordDylog();
TRecordDylog(const char* tipo);
TRecordDylog(const TRecordDylog& rec);
virtual ~TRecordDylog();
};
///////////////////////////////////////////////////////////
// TTrasferimentoDylog
///////////////////////////////////////////////////////////
class TTrasferimentoDylog : public TObject
{
TFilename _name;
ifstream* _in_stream;
ofstream* _out_stream;
public:
bool open(const char* path = "", char mode = 'r');
bool close();
bool write(const TRecordDylog& rec);
bool read(TRecordDylog& rec);
bool eof() const { return _in_stream && _in_stream->eof(); }
virtual bool ok() const;
const char* default_name() const { return "MOE"; }
TTrasferimentoDylog& operator<<(const TRecordDylog& rec)
{ write(rec); return *this; }
TTrasferimentoDylog& operator>>(TRecordDylog& rec)
{ read(rec); return *this; }
long append_quadro(const char* quadro, long codditta, TProgind& pi);
bool split(const char* dest_path);
void remove();
TTrasferimentoDylog(const char* name = "", char mode = 'r');
virtual ~TTrasferimentoDylog();
};
///////////////////////////////////////////////////////////
// Implementazioni
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// TFormDylog
///////////////////////////////////////////////////////////
void TFormDylog::transfer_section(TPrint_section& body, int rigo,
TRecordDylog& rec, TTrasferimentoDylog& file)
{
TToken_string trc(16, ',');
TString80 str;
TCursor& cur = *cursor();
body.update();
for (word f = 0; f < body.fields(); f++)
{
TForm_item& fi = body.field(f);
str = fi.get(); str.trim();
if (fi.shown() && str.not_empty())
{
trc = fi.get_special_value("DYLOG");
if (trc.not_empty())
{
const char tipo = trc[0];
const int pos = trc.get_int(1);
const int len = trc.get_int();
rec.set(str, tipo, pos, len);
}
}
}
}
bool TFormDylog::compatible(const TRectype& r1, const TRectype& r2)
{
if (r1.empty() || r2.empty())
return TRUE;
if (r1.get_long(QUC_CODDITTA) != r2.get_long(QUC_CODDITTA))
return FALSE;
if (r1.get_char(QUC_TIPOA) != r2.get_char(QUC_TIPOA))
return FALSE;
if (r1.get_long(QUC_CODANAGR) != r2.get_long(QUC_CODANAGR))
return FALSE;
if (r1.get_char(QUC_CAUSALE) != r2.get_char(QUC_CAUSALE))
return FALSE;
if (r1.get_int(QUC_TASSAZIONE) != r2.get_int(QUC_TASSAZIONE))
return FALSE;
const real p1 = r1.get_real(QUC_PERC);
const real p2 = r2.get_real(QUC_PERC);
bool yes = (p1 == ZERO && p2 != ZERO) || (p1 == p2);
return yes;
}
void TFormDylog::add_rec(TRectype& r1, const TRectype& r2)
{
if (r1.empty())
r1 = r2;
else
{
for (int f = r1.items()-1; f >= 0; f--)
{
const char* name = r1.fieldname(f);
if (r1.type(name) == _realfld)
{
real val = r1.get_real(name);
val += r2.get_real(name);
r1.put(name, val);
}
}
r1.put(QUC_PERC, r2.get(QUC_PERC));
}
}
long TFormDylog::raggruppa_c()
{
TCursor& cur = *cursor();
TRectype& rc = cur.curr();
_records.destroy();
for (cur = 0; cur.ok(); ++cur)
{
bool append = TRUE;
const int last = _records.items()-1;
if (last >= 0)
{
TRectype& sum = (TRectype&)_records[last];
if (compatible(sum, rc))
{
add_rec(sum, rc);
append = FALSE;
}
}
if (append)
{
_records.add(rc);
_positions.add_long(cur.pos()+1);
}
}
return _records.items();
}
int TFormDylog::first()
{
TCursor& cur = *cursor();
cur = 0;
bool ok = cur.ok();
if (cur.file().num() == LF_QUAC)
{
if (ok)
{
raggruppa_c();
_index = 0;
cur.curr() = (TRectype&)_records[0];
}
}
return ok ? NOERR : _iseof;
}
int TFormDylog::next()
{
TCursor& cur = *cursor();
bool ok;
if (cur.file().num() == LF_QUAC)
{
_index++;
ok = _index < _records.items();
if (ok)
{
cur = _positions.get_long(_index) - 1;
cur.curr() = (TRectype&)_records[_index];
}
}
else
{
++cur;
ok = cur.ok();
}
return ok ? NOERR : _iseof;
}
long TFormDylog::trasfer(long codditta, TTrasferimentoDylog& file, const char* tipo)
{
TCursor& cur = *cursor();
// Filtra il cursore sulla ditta corrente
TRectype filter(cur.curr());
filter.zero();
filter.put(BSE_CODDITTA, codditta);
cur.setregion(filter, filter);
const long items = cur.items();
if (items > 0) // Se c'e almeno un record ...
{
cur.freeze(TRUE); // Per efficienza congela il cursore
// Inizializza record col primo modulo
TRecordDylog rec(tipo);
int rigo = 0;
int err = first(); // Deve sempre tornare NOERR
CHECKS(err == NOERR, "Invalid cursor ", tipo);
TPrint_section& head = section('H', first_page);
transfer_section(head, rigo, rec, file);
TPrint_section& body = section('B', odd_page);
for (; err == NOERR; err = next())
{
transfer_section(body, rigo, rec, file);
file << rec;
rigo++;
}
cur.freeze(FALSE);
}
return items;
}
TFormDylog::TFormDylog(const char* name)
: TForm(name), _sortedcur(NULL)
{
const char* key = NULL;
switch (TForm::cursor()->file().num())
{
case LF_QUAC: key = "CODDITTA|TIPOA|216@->RAGSOC|CODANAGR|CODCAUS|PERC";
case LF_QUAD: key = "CODDITTA|216@->RAGSOC|TIPOA|CODANAGR"; break;
default : break;
}
if (key)
_sortedcur = new TSorted_cursor(TForm::relation(), key);
}
TFormDylog::~TFormDylog()
{
if (_sortedcur)
delete _sortedcur;
}
///////////////////////////////////////////////////////////
// TTracciatiDylog
///////////////////////////////////////////////////////////
TFormDylog& TTracciatiDylog::form(const char* quadro)
{
CHECK(quadro && *quadro == 'S' && quadro[1] != '\0',
"Codice quadro non valido");
const char* name;
switch(quadro[1])
{
case 'C': name = "77qc"; break;
case 'F': name = "77qd"; break;
case 'G': name = "77qdb"; break;
case 'H': name = "77qd1"; break;
case 'K': name = "77qsk"; break;
case 'L': name = "77ql"; break;
case 'P': name = "77qe"; break;
case 'Q': name = "77qe1"; break;
default : name = NULL; break;
}
TFormDylog* frm = (TFormDylog*)_form.objptr(name);
if (frm == NULL)
{
frm = new TFormDylog(name);
_form.add(name, frm);
}
return *frm;
}
void TTracciatiDylog::destroy()
{
_form.destroy();
}
TTracciatiDylog::TTracciatiDylog()
{
}
TTracciatiDylog::~TTracciatiDylog()
{
destroy(); // Non viene mai chiamato!
}
///////////////////////////////////////////////////////////
// TCacheDylog
///////////////////////////////////////////////////////////
const TRectype& TCacheDylog::get(int num, const char* key)
{
TRecord_cache* rc = (TRecord_cache*)_files.objptr(num);
if (rc == NULL)
{
rc = new TRecord_cache(num);
_files.add(rc, num);
}
return rc->get(key);
}
const TRectype& TCacheDylog::get(int num, long key)
{
TString16 str; str << key;
return get(num, str);
}
void TCacheDylog::destroy()
{
_files.destroy();
_tables.destroy();
}
///////////////////////////////////////////////////////////
// TRecordDylog
///////////////////////////////////////////////////////////
void TRecordDylog::print_on(ostream& outs) const
{
outs.write(_buffer, _buffer.size());
}
void TRecordDylog::read_from(istream& ins)
{
ins.read(_buffer.get_buffer(), _buffer.size());
}
void TRecordDylog::set(const char* val, char tipo, int pos, int len)
{
TString80 str(val); str.upper();
int lenstr = str.len();
if (tipo == 'N')
{
// Controlla date
if (len == 8 && lenstr == 10 && str[2] == '-' && str[5] == '-')
{
str.strip("-");
lenstr = len;
} else
// Controlla numeri reali
if (len == 11)
{
const int point = str.find('.');
if (point >= 0)
str.cut(lenstr = point);
if (real::is_null(str))
str.cut(lenstr = 0);
}
}
if (lenstr > len)
{
#ifdef DBG
NFCHECK("Campo troppo lungo: %s (max. %d)", val, len);
#endif
str.cut(lenstr = len);
}
if (lenstr != len)
{
if (tipo == 'N')
str.right_just(len);
else
str.left_just(len);
}
_buffer.overwrite(str, pos-1);
}
bool TRecordDylog::valid() const
{
if (tipo_record().blank())
return FALSE;
if (_buffer.right(3) != "A\r\n")
return FALSE;
return TRUE;
}
void TRecordDylog::tipo_record(const char* tipo)
{
_buffer.spaces(REC_SIZE);
if (tipo && *tipo)
{
_buffer[0] = tipo[0];
_buffer[1] = tipo[1];
}
_buffer.overwrite("A\r\n", REC_SIZE-3);
}
TRecordDylog::TRecordDylog()
{
tipo_record(NULL);
}
TRecordDylog::TRecordDylog(const char* tipo)
{
tipo_record(tipo);
}
TRecordDylog::TRecordDylog(const TRecordDylog& rec) : _buffer(rec._buffer)
{ }
TRecordDylog::~TRecordDylog()
{ }
///////////////////////////////////////////////////////////
// TTrasferimentoDylog
///////////////////////////////////////////////////////////
bool TTrasferimentoDylog::open(const char* path, char mode)
{
CHECK(mode == 'r' || mode == 'w', "Invalid open mode");
close();
if (path && *path)
{
_name = path;
_name.add(default_name());
}
if (_name.empty())
_name = default_name();
if (mode == 'r')
_in_stream = new ifstream(_name, ios::in | ios::nocreate | ios::binary);
else
_out_stream = new ofstream(_name, ios::out | ios::binary);
return TRUE;
}
bool TTrasferimentoDylog::ok() const
{
if (_in_stream)
return _in_stream->good() != 0;
if (_out_stream)
return _out_stream->good() != 0;
return FALSE;
}
bool TTrasferimentoDylog::close()
{
if (_in_stream)
{
delete _in_stream;
_in_stream = NULL;
}
if (_out_stream)
{
delete _out_stream;
_out_stream = NULL;
}
return TRUE;
}
bool TTrasferimentoDylog::write(const TRecordDylog& rec)
{
bool ok = _out_stream != NULL;
if (ok)
(*_out_stream) << rec;
return ok;
}
bool TTrasferimentoDylog::read(TRecordDylog& rec)
{
bool ok = _in_stream != NULL && !_in_stream->eof();
if (ok)
{
(*_in_stream) >> rec;
ok = rec.valid();
}
return ok;
}
long TTrasferimentoDylog::append_quadro(const char* quadro, long codditta,
TProgind& pi)
{
TString str;
str << "Trasferimento quadro " << quadro << " ditta " << codditta;
pi.set_text(str);
TFormDylog& frm = _trcDylog.form(quadro);
long items = frm.trasfer(codditta, *this, quadro);
return items;
}
bool TTrasferimentoDylog::split(const char* path)
{
close();
long totale[32]; memset(totale, 0, sizeof(totale));
long records = 0;
TRecordDylog rec;
long records_per_disk = 0;
int volumes = 1;
const bool magnetic = ::os_is_removable_drive(path);
if (magnetic)
{
if (!yesno_box("Inserire il primo disco del trasferimento nell'unita' %s\n"
"Tutti i dischi devono essere vuoti ed avere la stesso formato.\n"
"Si desidera iniziare il trasferimento?", path))
return FALSE;
unsigned long disk_size = ::os_get_disk_size(path);
records_per_disk = long(disk_size / REC_SIZE - 2);
volumes = int((records-1)/records_per_disk)+1;
}
TProgind pi(records, "Trasferimento records", FALSE, TRUE);
// Read from start
open("", 'r');
for (int volume = 1; volume <= volumes; volume++)
{
if (magnetic && volume > 1)
{
if (!yesno_box("Inserire il disco %d di %d:\n"
"Si desidera proseguire il trasferimento?",
volume, volumes))
{
break;
}
}
TTrasferimentoDylog outfile(path, 'w');
while (!outfile.ok())
{
if (magnetic)
{
if (yesno_box("Errore di scrittura in %s\n"
"Si desidera ritentare?", (const char*)path))
outfile.open(path, 'w');
else
break;
}
else
{
error_box("Errore di scrittura in %s", (const char*)path);
break;
}
}
// Compila record di testata
// Scrive record testata
// Azzera totali
memset(totale, 0, sizeof(totale));
long written = 0;
while (read(rec))
{
const TString& tipo_rec = rec.tipo_record();
if (tipo_rec == "AA" || tipo_rec == "ZZ")
continue;
const int pos = tipo_rec[1] - 'A';
if (pos >= 0 && pos < 26)
{
outfile << rec;
totale[pos]++;
written++;
pi.addstatus(1);
}
else
error_box("Tipo record non riconosciuto: %c", tipo_rec);
if (magnetic && written > records_per_disk)
break;
}
// Compila record di coda
// Scrive record di coda
}
return TRUE;
}
// Cancella il file
void TTrasferimentoDylog::remove()
{
close();
::remove(_name);
}
TTrasferimentoDylog::TTrasferimentoDylog(const char* path, char mode)
: _in_stream(NULL), _out_stream(NULL)
{
open(path, mode);
}
TTrasferimentoDylog::~TTrasferimentoDylog()
{
close();
}
///////////////////////////////////////////////////////////
// main
///////////////////////////////////////////////////////////
HIDDEN int anno_dic()
{
TConfig ini(CONFIG_STUDIO);
return ini.get_int("AnnoDic");
}
class TTransferDylog_msk : public TAutomask
{
protected:
virtual bool on_field_event(TOperable_field& of, TField_event fe, long jolly);
public:
TTransferDylog_msk();
virtual ~TTransferDylog_msk() { }
};
bool TTransferDylog_msk::on_field_event(TOperable_field& of, TField_event fe, long jolly)
{
switch (of.dlg())
{
case F_PATH:
if (fe == fe_modify || fe == fe_close)
{
TFilename name = of.get();
if (!name.exist())
return error_box("Il percorso non e' valido");
}
break;
default:
break;
}
return TRUE;
}
TTransferDylog_msk::TTransferDylog_msk() : TAutomask("777100a")
{
set(F_ANNO, anno_dic());
}
class TTransferDylog_app : public TSkeleton_application
{
protected:
virtual void main_loop();
};
void TTransferDylog_app::main_loop()
{
TTransferDylog_msk m;
while (m.run() == K_ENTER)
{
TFilename tmp; tmp.tempdir();
TTrasferimentoDylog t(tmp, 'w');
TRecordDylog rec;
TRelation rel_base(LF_BASE);
TRectype da_rec(LF_BASE), a_rec(LF_BASE);
da_rec.put(BSE_CODDITTA, m.get(F_DADITTA));
a_rec.put(BSE_CODDITTA, m.get(F_ADITTA));
TString filter;
filter << "ANNODIC==" << anno_dic();
TCursor cur_base(&rel_base, filter, 1, &da_rec, &a_rec);
TProgind pi(cur_base.items(), "Generazione file di trasferimento", FALSE, TRUE);
cur_base.freeze();
for (cur_base = 0; cur_base.ok(); ++cur_base)
{
const TRectype& base = cur_base.curr();
const long codditta = base.get_long(BSE_CODDITTA);
pi.addstatus(1);
t.append_quadro("SC", codditta, pi);
t.append_quadro("SF", codditta, pi);
t.append_quadro("SG", codditta, pi);
t.append_quadro("SH", codditta, pi);
t.append_quadro("SL", codditta, pi);
}
pi.close_modal();
if (m.get(F_SUPPORTO) == "D")
tmp = m.get(F_DISK);
else
tmp = m.get(F_PATH);
t.split(tmp);
t.remove();
}
_trcDylog.destroy();
}
int m777200(int argc, char* argv[])
{
TTransferDylog_app app;
app.run(argc, argv, "Invio Dylog");
return 0;
}

View File

@ -38,12 +38,14 @@ BEGIN
PROMPT 53 5 "" PROMPT 53 5 ""
FIELD 116@->COFI FIELD 116@->COFI
SPECIAL STRINGA TRASFER "SC0101" "" SPECIAL STRINGA TRASFER "SC0101" ""
SPECIAL STRINGA DYLOG "AN,3,16" ""
END END
STRINGA 3 STRINGA 3
BEGIN BEGIN
KEY "CODICE FISCALE DEL SOSTITUTO D'IMPOSTA" KEY "CODICE FISCALE DEL SOSTITUTO D'IMPOSTA"
PROMPT 85 5 "" PROMPT 85 5 ""
SPECIAL STRINGA DYLOG "AN,19,16" ""
END END
NUMBER 4 NUMBER 4
@ -70,6 +72,7 @@ BEGIN
PROMPT 9 2 "" PROMPT 9 2 ""
FIELD 216@->COFI FIELD 216@->COFI
SPECIAL STRINGA TRASFER "SC0201" "" SPECIAL STRINGA TRASFER "SC0201" ""
SPECIAL STRINGA DYLOG "AN,35,16" ""
END END
STRING 2 STRING 2
@ -78,6 +81,7 @@ BEGIN
PROMPT 42 2 "" PROMPT 42 2 ""
FIELD 216@->RAGSOC[1,30] FIELD 216@->RAGSOC[1,30]
SPECIAL STRINGA TRASFER "SC0202" "" SPECIAL STRINGA TRASFER "SC0202" ""
SPECIAL STRINGA DYLOG "AN,51,24" ""
GROUP 1 GROUP 1
END END
@ -87,6 +91,7 @@ BEGIN
PROMPT 79 2 "" PROMPT 79 2 ""
FIELD 216@->RAGSOC[31,50] FIELD 216@->RAGSOC[31,50]
SPECIAL STRINGA TRASFER "SC0203" "" SPECIAL STRINGA TRASFER "SC0203" ""
SPECIAL STRINGA DYLOG "AN,75,20" ""
GROUP 1 GROUP 1
END END
@ -96,6 +101,7 @@ BEGIN
PROMPT 112 2 "" PROMPT 112 2 ""
FIELD 218@->DATANASC FIELD 218@->DATANASC
SPECIAL STRINGA TRASFER "SC0204" "" SPECIAL STRINGA TRASFER "SC0204" ""
SPECIAL STRINGA DYLOG "NU,95,8" ""
END END
STRING 5 STRING 5
@ -104,6 +110,7 @@ BEGIN
PROMPT 126 2 "" PROMPT 126 2 ""
FIELD 218@->SESSO FIELD 218@->SESSO
SPECIAL STRINGA TRASFER "SC0205" "" SPECIAL STRINGA TRASFER "SC0205" ""
SPECIAL STRINGA DYLOG "AN,103,1" ""
END END
STRING 6 STRING 6
@ -112,6 +119,7 @@ BEGIN
PROMPT 9 4 "" PROMPT 9 4 ""
FIELD 313@->DENCOM FIELD 313@->DENCOM
SPECIAL STRINGA TRASFER "SC0206" "" SPECIAL STRINGA TRASFER "SC0206" ""
SPECIAL STRINGA DYLOG "AN,104,21" ""
GROUP 1 GROUP 1
END END
@ -121,6 +129,7 @@ BEGIN
PROMPT 46 4 "" PROMPT 46 4 ""
FIELD 313@->PROVCOM FIELD 313@->PROVCOM
SPECIAL STRINGA TRASFER "SC0207" "" SPECIAL STRINGA TRASFER "SC0207" ""
SPECIAL STRINGA DYLOG "AN,125,2" ""
GROUP 1 GROUP 1
END END
@ -130,6 +139,7 @@ BEGIN
PROMPT 52 4 "" PROMPT 52 4 ""
FIELD 413@->DENCOM FIELD 413@->DENCOM
SPECIAL STRINGA TRASFER "SC0208" "" SPECIAL STRINGA TRASFER "SC0208" ""
SPECIAL STRINGA DYLOG "AN,127,21" ""
GROUP 1 GROUP 1
END END
@ -139,6 +149,7 @@ BEGIN
PROMPT 88 4 "" PROMPT 88 4 ""
FIELD 413@->PROVCOM FIELD 413@->PROVCOM
SPECIAL STRINGA TRASFER "SC0209" "" SPECIAL STRINGA TRASFER "SC0209" ""
SPECIAL STRINGA DYLOG "AN,148,2" ""
END END
STRING 101 STRING 101
@ -164,6 +175,7 @@ BEGIN
KEY "VIA RES. + numcivres" KEY "VIA RES. + numcivres"
PROMPT 93 4 "" PROMPT 93 4 ""
SPECIAL STRINGA TRASFER "SC0210" "" SPECIAL STRINGA TRASFER "SC0210" ""
SPECIAL STRINGA DYLOG "AN,150,35" ""
GROUP 1 GROUP 1
END END
@ -173,6 +185,7 @@ BEGIN
PROMPT 9 6 "" PROMPT 9 6 ""
FIELD CAUSALE FIELD CAUSALE
SPECIAL STRINGA TRASFER "SC0211" "" SPECIAL STRINGA TRASFER "SC0211" ""
SPECIAL STRINGA DYLOG "AN,185,1" ""
END END
STRING 12 STRING 12
@ -181,6 +194,7 @@ BEGIN
PROMPT 20 6 "" PROMPT 20 6 ""
FIELD TASSAZIONE FIELD TASSAZIONE
SPECIAL STRINGA TRASFER "SC0212" "" SPECIAL STRINGA TRASFER "SC0212" ""
SPECIAL STRINGA DYLOG "AN,186,1" ""
END END
NUMBER 13 NUMBER 13
@ -190,6 +204,7 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD AMMLORDO FIELD AMMLORDO
SPECIAL STRINGA TRASFER "SC0213" "" SPECIAL STRINGA TRASFER "SC0213" ""
SPECIAL STRINGA DYLOG "NU,187,11" ""
END END
NUMBER 14 NUMBER 14
@ -199,6 +214,7 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD CONTROBB FIELD CONTROBB
SPECIAL STRINGA TRASFER "SC0214" "" SPECIAL STRINGA TRASFER "SC0214" ""
SPECIAL STRINGA DYLOG "NU,198,11" ""
END END
NUMBER 15 NUMBER 15
@ -208,6 +224,7 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD SOMNONSOGG FIELD SOMNONSOGG
SPECIAL STRINGA TRASFER "SC0215" "" SPECIAL STRINGA TRASFER "SC0215" ""
SPECIAL STRINGA DYLOG "NU,209,11" ""
END END
NUMBER 16 NUMBER 16
@ -217,6 +234,7 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD IMPONIBILE FIELD IMPONIBILE
SPECIAL STRINGA TRASFER "SC0216" "" SPECIAL STRINGA TRASFER "SC0216" ""
SPECIAL STRINGA DYLOG "NU,220,11" ""
END END
NUMBER 17 NUMBER 17
@ -226,6 +244,7 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD IMPOSTA FIELD IMPOSTA
SPECIAL STRINGA TRASFER "SC0217" "" SPECIAL STRINGA TRASFER "SC0217" ""
SPECIAL STRINGA DYLOG "NU,231,11" ""
END END
NUMBER 18 NUMBER 18
@ -235,6 +254,7 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD DETCARFAM FIELD DETCARFAM
SPECIAL STRINGA TRASFER "SC0218" "" SPECIAL STRINGA TRASFER "SC0218" ""
SPECIAL STRINGA DYLOG "NU,242,11" ""
END END
NUMBER 19 NUMBER 19
@ -243,6 +263,7 @@ BEGIN
PROMPT 36 8 "" PROMPT 36 8 ""
FIELD GGLAVDIP FIELD GGLAVDIP
SPECIAL STRINGA TRASFER "SC0219" "" SPECIAL STRINGA TRASFER "SC0219" ""
SPECIAL STRINGA DYLOG "NU,253,3" ""
END END
NUMBER 20 NUMBER 20
@ -252,6 +273,7 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD DETLAVDIP FIELD DETLAVDIP
SPECIAL STRINGA TRASFER "SC0220" "" SPECIAL STRINGA TRASFER "SC0220" ""
SPECIAL STRINGA DYLOG "NU,256,11" ""
END END
NUMBER 21 NUMBER 21
@ -261,6 +283,7 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD TOTDET FIELD TOTDET
SPECIAL STRINGA TRASFER "SC0221" "" SPECIAL STRINGA TRASFER "SC0221" ""
SPECIAL STRINGA DYLOG "NU,267,11" ""
END END
NUMBER 22 NUMBER 22
@ -270,6 +293,7 @@ BEGIN
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD RITENUTE FIELD RITENUTE
SPECIAL STRINGA TRASFER "SC0222" "" SPECIAL STRINGA TRASFER "SC0222" ""
SPECIAL STRINGA DYLOG "NU,278,11" ""
END END
NUMBER 23 NUMBER 23

View File

@ -77,12 +77,14 @@ BEGIN
PROMPT 55 8 "" PROMPT 55 8 ""
FIELD 206@->COFI FIELD 206@->COFI
SPECIAL STRING TRASFER "SF0101" "" SPECIAL STRING TRASFER "SF0101" ""
SPECIAL STRING DYLOG "AN,3,16" ""
END END
STRINGA 13 STRINGA 13
BEGIN BEGIN
KEY "CODICE FISCALE DICHIARANTE" KEY "CODICE FISCALE DICHIARANTE"
PROMPT 88 8 "" PROMPT 88 8 ""
SPECIAL STRING DYLOG "AN,19,16" ""
END END
NUMBER 14 NUMBER 14
@ -109,8 +111,14 @@ BEGIN
KEY "Tipo anagrafica" KEY "Tipo anagrafica"
PROMPT 1 1 "" PROMPT 1 1 ""
FIELD TIPOA FIELD TIPOA
ITEM "F| " MESSAGE SHOW,1@|HIDE,2@ ITEM "F| " MESSAGE SHOW,1@|HIDE,2@|"1",98
ITEM "G| " MESSAGE SHOW,2@|HIDE,1@ ITEM "G| " MESSAGE SHOW,2@|HIDE,1@|"2",98
END
STRINGA 98
BEGIN
KEY "Tipo anagrafica 1/2"
SPECIAL STRING DYLOG "NU,51,1" ""
END END
STRINGA 1 STRINGA 1
@ -119,6 +127,7 @@ BEGIN
PROMPT 10 1 "" PROMPT 10 1 ""
FIELD 216@->COFI FIELD 216@->COFI
SPECIAL STRING TRASFER "SF0201" "" SPECIAL STRING TRASFER "SF0201" ""
SPECIAL STRING DYLOG "AN,35,16" ""
END END
STRINGA 2 STRINGA 2
@ -128,6 +137,7 @@ BEGIN
FIELD 216@->RAGSOC[1,30] FIELD 216@->RAGSOC[1,30]
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SF0202" "" SPECIAL STRING TRASFER "SF0202" ""
SPECIAL STRING DYLOG "AN,52,24" ""
END END
STRINGA 3 STRINGA 3
@ -137,6 +147,7 @@ BEGIN
FIELD 216@->RAGSOC[31,50] FIELD 216@->RAGSOC[31,50]
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SF0203" "" SPECIAL STRING TRASFER "SF0203" ""
SPECIAL STRING DYLOG "AN,76,20" ""
END END
STRINGA 102 STRINGA 102
@ -146,6 +157,7 @@ BEGIN
FIELD 216@->RAGSOC FIELD 216@->RAGSOC
GROUP 2 GROUP 2
SPECIAL STRING TRASFER "SF0202" "" SPECIAL STRING TRASFER "SF0202" ""
SPECIAL STRING DYLOG "AN,186,60" ""
END END
STRINGA 4 STRINGA 4
@ -155,6 +167,7 @@ BEGIN
FIELD 218@->SESSO FIELD 218@->SESSO
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SF0204" "" SPECIAL STRING TRASFER "SF0204" ""
SPECIAL STRING DYLOG "AN,104,1" ""
END END
STRINGA 5 STRINGA 5
@ -165,6 +178,7 @@ BEGIN
PICTURE "##^ ##^ ####" PICTURE "##^ ##^ ####"
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SF0205" "" SPECIAL STRING TRASFER "SF0205" ""
SPECIAL STRING DYLOG "NU,96,8" ""
END END
STRINGA 6 STRINGA 6
@ -174,6 +188,7 @@ BEGIN
FIELD 313@->DENCOM FIELD 313@->DENCOM
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SF0206" "" SPECIAL STRING TRASFER "SF0206" ""
SPECIAL STRING DYLOG "AN,105,21" ""
END END
STRINGA 7 STRINGA 7
@ -183,6 +198,7 @@ BEGIN
FIELD 313@->PROVCOM FIELD 313@->PROVCOM
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SF0207" "" SPECIAL STRING TRASFER "SF0207" ""
SPECIAL STRING DYLOG "AN,126,2" ""
END END
STRINGA 8 STRINGA 8
@ -192,6 +208,8 @@ BEGIN
FIELD 513@->DENCOM FIELD 513@->DENCOM
MESSAGE EMPTY SHOW,3@|HIDE,4@ MESSAGE EMPTY SHOW,3@|HIDE,4@
MESSAGE SHOW,4@|HIDE,3@ MESSAGE SHOW,4@|HIDE,3@
SPECIAL STRING TRASFER "SF0208" ""
SPECIAL STRING DYLOG "AN,128,21" ""
END END
STRINGA 80 STRINGA 80
@ -201,6 +219,7 @@ BEGIN
FIELD 413@->DENCOM FIELD 413@->DENCOM
GROUP 3 GROUP 3
SPECIAL STRING TRASFER "SF0208" "" SPECIAL STRING TRASFER "SF0208" ""
SPECIAL STRING DYLOG "AN,128,21" ""
END END
STRINGA 9 STRINGA 9
@ -210,6 +229,7 @@ BEGIN
FIELD 513@->PROVCOM FIELD 513@->PROVCOM
FIELD 413@->PROVCOM FIELD 413@->PROVCOM
SPECIAL STRING TRASFER "SF0209" "" SPECIAL STRING TRASFER "SF0209" ""
SPECIAL STRING DYLOG "AN,149,2" ""
END END
STRINGA 101 STRINGA 101
@ -234,6 +254,7 @@ BEGIN
PROMPT 78 5 "" PROMPT 78 5 ""
GROUP 3 GROUP 3
SPECIAL STRING TRASFER "SF0210" "" SPECIAL STRING TRASFER "SF0210" ""
SPECIAL STRING DYLOG "AN,151,35" ""
END END
STRINGA 103 STRINGA 103
@ -257,14 +278,20 @@ BEGIN
KEY "VIA RF + NUMCIVRF" KEY "VIA RF + NUMCIVRF"
PROMPT 78 5 "" PROMPT 78 5 ""
GROUP 4 GROUP 4
SPECIAL STRING DYLOG "AN,128,35" ""
END
NUMBER 97
BEGIN
SPECIAL STRING DYLOG "NU,304,1" ""
END END
LISTA 11 LISTA 11
BEGIN BEGIN
KEY "FLAG DI NON RESIDENTE" KEY "FLAG DI NON RESIDENTE"
PROMPT 10 7 "" PROMPT 10 7 ""
ITEM "| " MESSAGE HIDE,5@ ITEM "| " MESSAGE HIDE,5@|"0",97
ITEM "X|X" MESSAGE SHOW,5@ ITEM "X|X" MESSAGE SHOW,5@|"1",97
FIELD 216@->SOGGNRES FIELD 216@->SOGGNRES
SPECIAL STRING TRASFER "SF0211" "" SPECIAL STRING TRASFER "SF0211" ""
END END
@ -276,6 +303,7 @@ BEGIN
FIELD 104@->S0 FIELD 104@->S0
GROUP 5 GROUP 5
SPECIAL STRING TRASFER "SF0212" "" SPECIAL STRING TRASFER "SF0212" ""
SPECIAL STRING DYLOG "AN,305,35" ""
END END
STRINGA 13 STRINGA 13
@ -285,6 +313,7 @@ BEGIN
FIELD 216@->STATORES FIELD 216@->STATORES
GROUP 5 GROUP 5
SPECIAL STRING TRASFER "SF0213" "" SPECIAL STRING TRASFER "SF0213" ""
SPECIAL STRING DYLOG "NU,340,3" ""
END END
STRINGA 14 STRINGA 14
@ -294,6 +323,7 @@ BEGIN
FIELD 216@->COFIEST FIELD 216@->COFIEST
GROUP 5 GROUP 5
SPECIAL STRING TRASFER "SF0214" "" SPECIAL STRING TRASFER "SF0214" ""
SPECIAL STRING DYLOG "AN,343,20" ""
END END
STRINGA 15 STRINGA 15
@ -302,6 +332,7 @@ BEGIN
PROMPT 13 9 "" PROMPT 13 9 ""
FIELD CAUSALE FIELD CAUSALE
SPECIAL STRING TRASFER "SF0215" "" SPECIAL STRING TRASFER "SF0215" ""
SPECIAL STRING DYLOG "AN,363,1" ""
END END
NUMBER 16 NUMBER 16
@ -311,6 +342,7 @@ BEGIN
FIELD TOTALE FIELD TOTALE
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SF0216" "" SPECIAL STRING TRASFER "SF0216" ""
SPECIAL STRING DYLOG "NU,364,11" ""
END END
NUMBER 17 NUMBER 17
@ -320,6 +352,7 @@ BEGIN
FIELD SOMME FIELD SOMME
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SF0217" "" SPECIAL STRING TRASFER "SF0217" ""
SPECIAL STRING DYLOG "NU,375,11" ""
END END
NUMBER 18 NUMBER 18
@ -329,6 +362,7 @@ BEGIN
FIELD SOMREGCONV FIELD SOMREGCONV
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SF0218" "" SPECIAL STRING TRASFER "SF0218" ""
SPECIAL STRING DYLOG "NU,386,11" ""
END END
NUMBER 19 NUMBER 19
@ -338,6 +372,7 @@ BEGIN
FIELD IMPONIBILE FIELD IMPONIBILE
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SF0219" "" SPECIAL STRING TRASFER "SF0219" ""
SPECIAL STRING DYLOG "NU,397,11" ""
END END
NUMBER 20 NUMBER 20
@ -347,6 +382,7 @@ BEGIN
FIELD IMPORTO FIELD IMPORTO
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SF0220" "" SPECIAL STRING TRASFER "SF0220" ""
SPECIAL STRING DYLOG "NU,408,11" ""
END END
NUMBER 21 NUMBER 21

View File

@ -75,12 +75,14 @@ BEGIN
PROMPT 55 8 "" PROMPT 55 8 ""
FIELD 106@->COFI FIELD 106@->COFI
SPECIAL STRING TRASFER "SH0101" "" SPECIAL STRING TRASFER "SH0101" ""
SPECIAL STRING DYLOG "AN,3,16" ""
END END
STRINGA 13 STRINGA 13
BEGIN BEGIN
KEY "CODICE FISCALE DICHIARANTE" KEY "CODICE FISCALE DICHIARANTE"
PROMPT 88 8 "" PROMPT 88 8 ""
SPECIAL STRING DYLOG "AN,19,16" ""
END END
NUMBER 14 NUMBER 14
@ -102,8 +104,13 @@ BEGIN
KEY "Tipo anagrafica" KEY "Tipo anagrafica"
PROMPT 1 1 "" PROMPT 1 1 ""
FIELD TIPOA FIELD TIPOA
ITEM "F| " MESSAGE SHOW,1@|HIDE,2@ ITEM "F| " MESSAGE SHOW,1@|HIDE,2@|"1",98
ITEM "G| " MESSAGE SHOW,2@|HIDE,1@ ITEM "G| " MESSAGE SHOW,2@|HIDE,1@|"2",98
END
NUMERO 98
BEGIN
SPECIAL STRING DYLOG "NU,51,1" ""
END END
STRINGA 1 STRINGA 1
@ -112,6 +119,7 @@ BEGIN
PROMPT 9 1 "" PROMPT 9 1 ""
FIELD 216@->COFI FIELD 216@->COFI
SPECIAL STRING TRASFER "SH0201" "" SPECIAL STRING TRASFER "SH0201" ""
SPECIAL STRING DYLOG "AN,35,16" ""
END END
STRINGA 2 STRINGA 2
@ -121,6 +129,7 @@ BEGIN
FIELD 216@->RAGSOC[1,30] FIELD 216@->RAGSOC[1,30]
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SH0202" "" SPECIAL STRING TRASFER "SH0202" ""
SPECIAL STRING DYLOG "AN,52,24" ""
END END
STRINGA 3 STRINGA 3
@ -130,6 +139,7 @@ BEGIN
FIELD 216@->RAGSOC[31,50] FIELD 216@->RAGSOC[31,50]
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SH0203" "" SPECIAL STRING TRASFER "SH0203" ""
SPECIAL STRING DYLOG "AN,76,20" ""
END END
STRINGA 102 STRINGA 102
@ -139,6 +149,7 @@ BEGIN
FIELD 216@->RAGSOC FIELD 216@->RAGSOC
GROUP 2 GROUP 2
SPECIAL STRING TRASFER "SH0202" "" SPECIAL STRING TRASFER "SH0202" ""
SPECIAL STRING DYLOG "AN,186,60" ""
END END
STRINGA 4 STRINGA 4
@ -148,6 +159,7 @@ BEGIN
FIELD 218@->SESSO FIELD 218@->SESSO
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SH0204" "" SPECIAL STRING TRASFER "SH0204" ""
SPECIAL STRING DYLOG "AN,104,1" ""
END END
STRINGA 5 STRINGA 5
@ -158,6 +170,7 @@ BEGIN
PICTURE "##^ ##^ ####" PICTURE "##^ ##^ ####"
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SH0205" "" SPECIAL STRING TRASFER "SH0205" ""
SPECIAL STRING DYLOG "NU,96,8" ""
END END
STRINGA 6 STRINGA 6
@ -167,6 +180,7 @@ BEGIN
FIELD 313@->DENCOM FIELD 313@->DENCOM
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SH0206" "" SPECIAL STRING TRASFER "SH0206" ""
SPECIAL STRING DYLOG "AN,105,21" ""
END END
STRINGA 7 STRINGA 7
@ -176,6 +190,7 @@ BEGIN
FIELD 313@->PROVCOM FIELD 313@->PROVCOM
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SH0207" "" SPECIAL STRING TRASFER "SH0207" ""
SPECIAL STRING DYLOG "AN,126,2" ""
END END
STRINGA 8 STRINGA 8
@ -186,6 +201,7 @@ BEGIN
MESSAGE EMPTY SHOW,3@|HIDE,4@ MESSAGE EMPTY SHOW,3@|HIDE,4@
MESSAGE SHOW,4@|HIDE,3@ MESSAGE SHOW,4@|HIDE,3@
SPECIAL STRING TRASFER "SH0208" "" SPECIAL STRING TRASFER "SH0208" ""
SPECIAL STRING DYLOG "AN,128,21" ""
END END
STRINGA 80 STRINGA 80
@ -195,6 +211,7 @@ BEGIN
FIELD 413@->DENCOM FIELD 413@->DENCOM
GROUP 3 GROUP 3
SPECIAL STRING TRASFER "SH0208" "" SPECIAL STRING TRASFER "SH0208" ""
SPECIAL STRING DYLOG "AN,128,21" ""
END END
STRINGA 9 STRINGA 9
@ -204,6 +221,7 @@ BEGIN
FIELD 513@->PROVCOM FIELD 513@->PROVCOM
FIELD 413@->PROVCOM FIELD 413@->PROVCOM
SPECIAL STRING TRASFER "SH0209" "" SPECIAL STRING TRASFER "SH0209" ""
SPECIAL STRING DYLOG "AN,149,2" ""
END END
STRINGA 101 STRINGA 101
@ -228,6 +246,7 @@ BEGIN
PROMPT 78 5 "" PROMPT 78 5 ""
GROUP 3 GROUP 3
SPECIAL STRING TRASFER "SH0210" "" SPECIAL STRING TRASFER "SH0210" ""
SPECIAL STRING DYLOG "AN,151,35" ""
END END
STRINGA 103 STRINGA 103
@ -252,6 +271,7 @@ BEGIN
PROMPT 78 5 "" PROMPT 78 5 ""
GROUP 4 GROUP 4
SPECIAL STRING TRASFER "SH0210" "" SPECIAL STRING TRASFER "SH0210" ""
SPECIAL STRING DYLOG "AN,151,35" ""
END END
STRING 11 STRING 11
@ -260,6 +280,7 @@ BEGIN
PROMPT 10 7 "" PROMPT 10 7 ""
FIELD CAUSALE FIELD CAUSALE
SPECIAL STRING TRASFER "SH0211" "" SPECIAL STRING TRASFER "SH0211" ""
SPECIAL STRING DYLOG "AN,304,1" ""
END END
NUMBER 12 NUMBER 12
@ -269,6 +290,7 @@ BEGIN
FIELD TOTALE FIELD TOTALE
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SH0212" "" SPECIAL STRING TRASFER "SH0212" ""
SPECIAL STRING DYLOG "NU,305,11" ""
END END
NUMBER 13 NUMBER 13
@ -278,6 +300,7 @@ BEGIN
FIELD SPESEANT FIELD SPESEANT
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SH0213" "" SPECIAL STRING TRASFER "SH0213" ""
SPECIAL STRING DYLOG "NU,316,11" ""
END END
NUMBER 14 NUMBER 14
@ -287,6 +310,7 @@ BEGIN
FIELD QUOTAPRO FIELD QUOTAPRO
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SH0214" "" SPECIAL STRING TRASFER "SH0214" ""
SPECIAL STRING DYLOG "NU,327,11" ""
END END
NUMBER 15 NUMBER 15
@ -296,6 +320,7 @@ BEGIN
FIELD IMPONIBILE FIELD IMPONIBILE
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SH0215" "" SPECIAL STRING TRASFER "SH0215" ""
SPECIAL STRING DYLOG "NU,338,11" ""
END END
NUMBER 16 NUMBER 16
@ -305,6 +330,7 @@ BEGIN
FIELD IMPORTO FIELD IMPORTO
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SH0216" "" SPECIAL STRING TRASFER "SH0216" ""
SPECIAL STRING DYLOG "NU,349,11" ""
END END
NUMBER 17 NUMBER 17

View File

@ -75,12 +75,14 @@ BEGIN
KEY "CODICE FISCALE" KEY "CODICE FISCALE"
PROMPT 55 8 "" PROMPT 55 8 ""
FIELD 106@->COFI FIELD 106@->COFI
SPECIAL STRING DYLOG "AN,3,16" ""
END END
STRINGA 13 STRINGA 13
BEGIN BEGIN
KEY "CODICE FISCALE DICHIARANTE" KEY "CODICE FISCALE DICHIARANTE"
PROMPT 88 8 "" PROMPT 88 8 ""
SPECIAL STRING DYLOG "AN,19,16" ""
END END
NUMERO 14 NUMERO 14
@ -100,11 +102,17 @@ SECTION BODY ODD 10
LISTA 99 LISTA 99
BEGIN BEGIN
KEY "Tipo anagrafica" KEY "Tipo anagrafica F/G"
PROMPT 1 1 "" PROMPT 1 1 ""
FIELD TIPOA FIELD TIPOA
ITEM "F| " MESSAGE SHOW,1@|HIDE,2@ ITEM "F|1" MESSAGE SHOW,1@|HIDE,2@|"1",98
ITEM "G| " MESSAGE SHOW,2@|HIDE,1@ ITEM "G|2" MESSAGE SHOW,2@|HIDE,1@|"2",98
END
STRINGA 98
BEGIN
KEY "Tipo anagrafica 1/2"
SPECIAL STRING DYLOG "AN,51,1" ""
END END
STRINGA 1 STRINGA 1
@ -113,6 +121,7 @@ BEGIN
PROMPT 9 1 "" PROMPT 9 1 ""
FIELD 216@->COFI FIELD 216@->COFI
SPECIAL STRING TRASFER "SG0101" "" SPECIAL STRING TRASFER "SG0101" ""
SPECIAL STRING DYLOG "AN,35,16" ""
END END
STRINGA 2 STRINGA 2
@ -122,6 +131,7 @@ BEGIN
FIELD 216@->RAGSOC[1,30] FIELD 216@->RAGSOC[1,30]
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SG0201" "" SPECIAL STRING TRASFER "SG0201" ""
SPECIAL STRING DYLOG "AN,52,24" ""
END END
STRINGA 3 STRINGA 3
@ -131,6 +141,7 @@ BEGIN
FIELD 216@->RAGSOC[31,50] FIELD 216@->RAGSOC[31,50]
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SG0202" "" SPECIAL STRING TRASFER "SG0202" ""
SPECIAL STRING DYLOG "AN,76,20" ""
END END
STRINGA 102 STRINGA 102
@ -140,6 +151,7 @@ BEGIN
FIELD 216@->RAGSOC FIELD 216@->RAGSOC
GROUP 2 GROUP 2
SPECIAL STRING TRASFER "SG0201" "" SPECIAL STRING TRASFER "SG0201" ""
SPECIAL STRING DYLOG "AN,186,60" ""
END END
STRINGA 4 STRINGA 4
@ -149,6 +161,7 @@ BEGIN
FIELD 218@->SESSO FIELD 218@->SESSO
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SG0204" "" SPECIAL STRING TRASFER "SG0204" ""
SPECIAL STRING DYLOG "AN,104,1" ""
END END
STRINGA 5 STRINGA 5
@ -159,6 +172,7 @@ BEGIN
PICTURE "##^ ##^ ####" PICTURE "##^ ##^ ####"
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SG0205" "" SPECIAL STRING TRASFER "SG0205" ""
SPECIAL STRING DYLOG "NU,96,8" ""
END END
STRINGA 6 STRINGA 6
@ -168,6 +182,7 @@ BEGIN
FIELD 313@->DENCOM FIELD 313@->DENCOM
GROUP 1 GROUP 1
SPECIAL STRING TRASFER "SG0206" "" SPECIAL STRING TRASFER "SG0206" ""
SPECIAL STRING DYLOG "AN,105,21" ""
END END
STRINGA 7 STRINGA 7
@ -176,6 +191,7 @@ BEGIN
PROMPT 126 3 "" PROMPT 126 3 ""
FIELD 313@->PROVCOM FIELD 313@->PROVCOM
GROUP 1 GROUP 1
SPECIAL STRING DYLOG "AN,126,2" ""
SPECIAL STRING TRASFER "SG0207" "" SPECIAL STRING TRASFER "SG0207" ""
END END
@ -187,6 +203,7 @@ BEGIN
MESSAGE EMPTY SHOW,3@|HIDE,4@ MESSAGE EMPTY SHOW,3@|HIDE,4@
MESSAGE SHOW,4@|HIDE,3@ MESSAGE SHOW,4@|HIDE,3@
SPECIAL STRING TRASFER "SG0208" "" SPECIAL STRING TRASFER "SG0208" ""
SPECIAL STRING DYLOG "AN,128,21" ""
END END
STRINGA 80 STRINGA 80
@ -196,6 +213,7 @@ BEGIN
FIELD 413@->DENCOM FIELD 413@->DENCOM
GROUP 3 GROUP 3
SPECIAL STRING TRASFER "SG0208" "" SPECIAL STRING TRASFER "SG0208" ""
SPECIAL STRING DYLOG "AN,128,21" ""
END END
STRINGA 9 STRINGA 9
@ -205,6 +223,7 @@ BEGIN
FIELD 513@->PROVCOM FIELD 513@->PROVCOM
FIELD 413@->PROVCOM FIELD 413@->PROVCOM
SPECIAL STRING TRASFER "SG0209" "" SPECIAL STRING TRASFER "SG0209" ""
SPECIAL STRING DYLOG "AN,149,2" ""
END END
STRINGA 101 STRINGA 101
@ -229,6 +248,7 @@ BEGIN
PROMPT 78 5 "" PROMPT 78 5 ""
GROUP 3 GROUP 3
SPECIAL STRING TRASFER "SG0210" "" SPECIAL STRING TRASFER "SG0210" ""
SPECIAL STRING DYLOG "AN,151,35" ""
END END
STRINGA 103 STRINGA 103
@ -253,18 +273,25 @@ BEGIN
PROMPT 78 5 "" PROMPT 78 5 ""
GROUP 4 GROUP 4
SPECIAL STRING TRASFER "SG0210" "" SPECIAL STRING TRASFER "SG0210" ""
SPECIAL STRING DYLOG "AN,151,35" ""
END END
LISTA 11 LISTA 11
BEGIN BEGIN
KEY "FLAG DI NON RESIDENTE" KEY "FLAG DI NON RESIDENTE"
PROMPT 10 7 "" PROMPT 10 7 ""
ITEM "| " MESSAGE HIDE,5@ ITEM "| " MESSAGE HIDE,5@|"0",97
ITEM "X|X" MESSAGE SHOW,5@ ITEM "X|X" MESSAGE SHOW,5@|"1",97
FIELD 216@->SOGGNRES FIELD 216@->SOGGNRES
SPECIAL STRING TRASFER "SG0211" "" SPECIAL STRING TRASFER "SG0211" ""
END END
NUMERO 97
BEGIN
KEY "FLAG DI NON RESIDENTE 0/1"
SPECIAL STRING DYLOG "NU,304,1" ""
END
STRINGA 12 STRINGA 12
BEGIN BEGIN
KEY "STATO ESTERO DI RES." KEY "STATO ESTERO DI RES."
@ -272,6 +299,7 @@ BEGIN
FIELD 104@->S0 FIELD 104@->S0
GROUP 5 GROUP 5
SPECIAL STRING TRASFER "SG0212" "" SPECIAL STRING TRASFER "SG0212" ""
SPECIAL STRING DYLOG "AN,305,35" ""
END END
STRINGA 13 STRINGA 13
@ -281,6 +309,7 @@ BEGIN
FIELD 216@->STATORES FIELD 216@->STATORES
GROUP 5 GROUP 5
SPECIAL STRING TRASFER "SG0213" "" SPECIAL STRING TRASFER "SG0213" ""
SPECIAL STRING DYLOG "NU,340,3" ""
END END
STRINGA 14 STRINGA 14
@ -290,6 +319,7 @@ BEGIN
FIELD 216@->COFIEST FIELD 216@->COFIEST
GROUP 5 GROUP 5
SPECIAL STRING TRASFER "SG0214" "" SPECIAL STRING TRASFER "SG0214" ""
SPECIAL STRING DYLOG "AN,343,20" ""
END END
STRINGA 15 STRINGA 15
@ -298,6 +328,7 @@ BEGIN
PROMPT 10 9 "" PROMPT 10 9 ""
FIELD CAUSALE FIELD CAUSALE
SPECIAL STRING TRASFER "SG0215" "" SPECIAL STRING TRASFER "SG0215" ""
SPECIAL STRING DYLOG "AN,363,1" ""
END END
NUMERO 16 NUMERO 16
@ -307,6 +338,7 @@ BEGIN
FIELD TOTALE FIELD TOTALE
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SG0216" "" SPECIAL STRING TRASFER "SG0216" ""
SPECIAL STRING DYLOG "NU,364,11" ""
END END
NUMERO 17 NUMERO 17
@ -316,6 +348,7 @@ BEGIN
FIELD SOMME FIELD SOMME
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SG0217" "" SPECIAL STRING TRASFER "SG0217" ""
SPECIAL STRING DYLOG "NU,375,11" ""
END END
NUMERO 18 NUMERO 18
@ -325,6 +358,7 @@ BEGIN
FIELD SOMREGCONV FIELD SOMREGCONV
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SG0218" "" SPECIAL STRING TRASFER "SG0218" ""
SPECIAL STRING DYLOG "NU,386,11" ""
END END
NUMERO 19 NUMERO 19
@ -334,6 +368,7 @@ BEGIN
FIELD IMPONIBILE FIELD IMPONIBILE
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SG0219" "" SPECIAL STRING TRASFER "SG0219" ""
SPECIAL STRING DYLOG "NU,397,11" ""
END END
NUMERO 20 NUMERO 20
@ -343,6 +378,7 @@ BEGIN
FIELD IMPORTO FIELD IMPORTO
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
SPECIAL STRING TRASFER "SG0220" "" SPECIAL STRING TRASFER "SG0220" ""
SPECIAL STRING DYLOG "NU,408,11" ""
END END
NUMERO 21 NUMERO 21
@ -360,6 +396,7 @@ BEGIN
PROMPT 124 9 "" PROMPT 124 9 ""
FIELD CONTR10 FIELD CONTR10
SPECIAL STRING TRASFER "SG0222" "" SPECIAL STRING TRASFER "SG0222" ""
SPECIAL STRING DYLOG "AN,419,1" ""
END END
END END

View File

@ -49,12 +49,14 @@ BEGIN
KEY "CODICE FISCALE DICHIARANTE" KEY "CODICE FISCALE DICHIARANTE"
PROMPT 54 8 "" PROMPT 54 8 ""
FIELD 116@->COFI FIELD 116@->COFI
SPECIAL STRINGA DYLOG "AN,3,16" ""
END END
STRINGA 13 STRINGA 13
BEGIN BEGIN
KEY "CODICE FISCALE DEL SOSTITUTO D'IMPOSTA" KEY "CODICE FISCALE DEL SOSTITUTO D'IMPOSTA"
PROMPT 88 8 "" PROMPT 88 8 ""
SPECIAL STRINGA DYLOG "AN,19,16" ""
END END
NUMBER 14 NUMBER 14
@ -76,6 +78,7 @@ BEGIN
KEY "ENTE PREVIDENZIALE" KEY "ENTE PREVIDENZIALE"
PROMPT 10 1 "" PROMPT 10 1 ""
FIELD 214@->S0 FIELD 214@->S0
SPECIAL STRINGA DYLOG "AN,35,60" ""
END END
NUMBER 12 NUMBER 12
@ -84,6 +87,7 @@ BEGIN
PROMPT 86 1 "" PROMPT 86 1 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD 43->H1DAT FIELD 43->H1DAT
SPECIAL STRINGA DYLOG "NU,95,11" ""
END END
NUMBER 13 NUMBER 13
@ -92,6 +96,7 @@ BEGIN
PROMPT 119 1 "" PROMPT 119 1 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD 43->H1LAV FIELD 43->H1LAV
SPECIAL STRINGA DYLOG "NU,106,11" ""
END END
END END

View File

@ -39,12 +39,14 @@ BEGIN
KEY "CODICE FISCALE DEL DICHIARANTE" KEY "CODICE FISCALE DEL DICHIARANTE"
PROMPT 53 5 "" PROMPT 53 5 ""
FIELD 106@->COFI FIELD 106@->COFI
SPECIAL STRING DYLOG "AN,3,16" ""
END END
STRINGA 3 STRINGA 3
BEGIN BEGIN
KEY "CODICE FISCALE DEL SOSTITUTO IMPOSTA" KEY "CODICE FISCALE DEL SOSTITUTO IMPOSTA"
PROMPT 85 5 "" PROMPT 85 5 ""
SPECIAL STRING DYLOG "AN,19,16" ""
END END
NUMERO 4 NUMERO 4
@ -105,15 +107,18 @@ BEGIN
KEY "Mese rif." KEY "Mese rif."
PROMPT 23 2 "" PROMPT 23 2 ""
PICTURE "@@" PICTURE "@@"
FIELD 42->QLMP
MESSAGE COPY,100 MESSAGE COPY,100
SPECIAL STRING DYLOG "NU,65,2" ""
END END
NUMERO 2 NUMERO 2
BEGIN BEGIN
KEY "Anno rif." KEY "Anno rif."
PROMPT 28 2 "" PROMPT 28 2 ""
FIELD 42->QLAP FIELD 42->QLAP[3,4]
MESSAGE ADD,100 MESSAGE ADD,100
SPECIAL STRING DYLOG "NU,67,2" ""
END END
STRING 100 STRING 100
@ -130,6 +135,7 @@ BEGIN
FIELD 42->QLRITEFF FIELD 42->QLRITEFF
PICTURE "###.###.###.###^^^" PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->1 MESSAGE ADD,FL->1
SPECIAL STRING DYLOG "NU,69,11" ""
END END
NUMERO 4 NUMERO 4
@ -139,24 +145,32 @@ BEGIN
FIELD 42->QLRITVER FIELD 42->QLRITVER
PICTURE "###.###.###.###^^^" PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->2 MESSAGE ADD,FL->2
SPECIAL STRING DYLOG "NU,80,11" ""
END END
LISTA 5 LISTA 5
BEGIN BEGIN
KEY "RSS" KEY "RSS"
PROMPT 99 2 "" PROMPT 99 2 ""
ITEM " | " ITEM " | " MESSAGE " ",50
ITEM "1|VA" ITEM "1|VA" MESSAGE "VA",50
ITEM "2|SA" ITEM "2|SA" MESSAGE "SA",50
ITEM "3|SI" ITEM "3|SI" MESSAGE "SI",50
FIELD 42->QLRSS FIELD 42->QLRSS
END END
STRING 50
BEGIN
KEY "RSS decodificato"
SPECIAL STRING DYLOG "NU,96,2" ""
END
STRINGA 6 STRINGA 6
BEGIN BEGIN
KEY "Note" KEY "Note"
PROMPT 109 2 "" PROMPT 109 2 ""
FIELD 42->QLNOTE FIELD 42->QLNOTE
SPECIAL STRING DYLOG "AN,98,16" ""
END END
STRINGA 7 STRINGA 7
@ -192,6 +206,7 @@ BEGIN
PROMPT 53 4 "" PROMPT 53 4 ""
FIELD 42->QLAB FIELD 42->QLAB
SPECIAL STRING TRASFER "SL0108" "" SPECIAL STRING TRASFER "SL0108" ""
SPECIAL STRING DYLOG "AN,63,2" ""
END END
STRINGA 11 STRINGA 11
@ -201,6 +216,7 @@ BEGIN
FIELD 42->QLDV FIELD 42->QLDV
PICTURE " ## ^ ## ^####" PICTURE " ## ^ ## ^####"
SPECIAL STRING TRASFER "SL0104" "" SPECIAL STRING TRASFER "SL0104" ""
SPECIAL STRING DYLOG "NU,35,8" ""
END END
STRINGA 12 STRINGA 12
@ -208,6 +224,7 @@ BEGIN
KEY "SERIE" KEY "SERIE"
PROMPT 81 4 "" PROMPT 81 4 ""
FIELD 42->QLSERIE FIELD 42->QLSERIE
SPECIAL STRING DYLOG "NU,43,5" ""
END END
STRINGA 13 STRINGA 13
@ -220,9 +237,8 @@ END
STRINGA 14 STRINGA 14
BEGIN BEGIN
KEY "NUMERO COMPLETO" KEY "NUMERO COMPLETO"
PROMPT 96 4 ""
FIELD 42->QLNUMERO FIELD 42->QLNUMERO
FLAGS "H" SPECIAL STRING DYLOG "NU,48,11" ""
END END
END END