Ultimato azzeramento, aggiunto files tracciati e file con voci menu 770

git-svn-id: svn://10.65.10.50/trunk@4242 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-03-28 12:04:57 +00:00
parent 71bc283eb7
commit a7d9d26979
86 changed files with 1845 additions and 576 deletions

17
m770/770.mnu Executable file
View File

@ -0,0 +1,17 @@
17|Modello 770|5
17|Immissione dichiarazione|776mod -1
17|Manutenzione dichiarazione|776mod -0
17|Stampe|18
17|Parametri di studio|773mod -0
17|Tabella C.A.A. |773mod -3 %caf
17|Tabella causali|773mod -3 %ca7
17|Tabella enti previdenziali|773mod -3 %ent
17|Selezione dichiarazione|776mod -2
17|Generazione versamenti|774 -0
17|Azzeramento archivi|774 -2 T
18|Stampe|
18|Selezione dichiarazione|776mod -2
18|Schede percipienti|772mod -0 S
18|Certificazioni|772mod -1 S
18|Lista movimenti percipienti|772mod -2 S
18|Menu stampe dichiarazioni|773mod -1 menu_st "Stampe dichiarazioni"

View File

@ -22,7 +22,8 @@
// definizione campi del form
#define HODD_ANNODIC 1
#define FODD_TODAY 1
#define FODD_TODAY 2
#define FODD_USER 3
// derivazione della classe TArray_sheet per implementare
@ -52,7 +53,7 @@ class TAzzeramento_archivi : public TRelation_application
TRelation* _rel;
TConfig* _cnf_studio;
TRiporti* _riporti;
TIsamtempfile* _logschede;
TIsamtempfile* _logschede;
// elenco campi da riportare
real _mem_ECCRIT23_BASEBIS;
@ -99,7 +100,8 @@ class TAzzeramento_archivi : public TRelation_application
TResetfile* _reset_QUAT;
// elenco di VALIDATE_RECORD function
static bool validate_record_SCPERC(const TRectype& rec);
static bool validate_record_SCPERC(const TRectype& rec);
static bool validate_record_SCPERC_2(const TRectype& rec);
static bool validate_record_RPAG(const TRectype& rec);
static bool validate_record_RVER(const TRectype& rec);
static bool validate_record_QUAL(const TRectype& rec);
@ -118,10 +120,10 @@ class TAzzeramento_archivi : public TRelation_application
// validazione e azioni su schede percipienti
bool is_resetable(const TRectype& rec);
// handler di campi
// handler di campi
static bool F_ANNODIC_hnd(TMask_field& f, KEY key);
static bool F_AZZSCH_hnd(TMask_field& f, KEY key);
static bool F_AZZQUA_hnd(TMask_field& f, KEY key);
static bool DLG_SAVEREC_hnd(TMask_field& f, KEY key);
static bool F_AZZQUA_hnd(TMask_field& f, KEY key);
// creazione/distruzione istanze d'azzeramento
void azzera_create(const bool azzsch, const bool azzqua);
@ -132,6 +134,12 @@ class TAzzeramento_archivi : public TRelation_application
// stampa del log delle schede percipienti
void print_log();
// azzera schede loggate selezionate
void azzera_schlog();
// message box di conferma azzeramento
bool conferma_azzera(const TMask& m, const bool azzsch, const bool azzqua);
// elaborazioni previste
void elab_tutte(const bool azzsch, const bool azzqua);
@ -143,10 +151,12 @@ class TAzzeramento_archivi : public TRelation_application
virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int mode) { return _msk; }
virtual bool changing_mask(int mode) { return FALSE; }
virtual bool changing_mask(int mode) { return FALSE; }
virtual void init_modify_mode(TMask&);
virtual int rewrite(const TMask& m);
virtual int write(const TMask& m);
virtual bool firm_change_enabled() const;
virtual bool save_and_new() const;
public:
TAzzeramento_archivi(char livello) : _liv(toupper(livello)) {}
@ -185,29 +195,83 @@ bool TArray_sheetDerived::on_key(KEY key)
}
}
break;
}
}
// richiamo on_key base
return TArray_sheet::on_key(key);
}
// redifinizione del metodo della TRelation_application
// per avere sempre disattivata la possibilità di scegliere la ditta
bool TAzzeramento_archivi::firm_change_enabled() const
{
return FALSE;
}
// redifinizione del metodo della TRelation_application
// per attivare la modalità save_and_new (altrimenti disattivata)
bool TAzzeramento_archivi::save_and_new() const
{ return TRUE; }
bool TAzzeramento_archivi::user_create()
{
_msk = new TMask("774300a");
_rel = new TRelation(LF_STAZZ);
_cnf_studio = new TConfig(CONFIG_STUDIO,"77");
{
// istanza membri oggetto
_msk = new TMask("774300a");
_rel = new TRelation(LF_STAZZ);
_cnf_studio = new TConfig(CONFIG_STUDIO,"77");
_riporti = new TRiporti;
// inizilizzazione anno dichiarazioni
_anno_dich = _cnf_studio->get_int(ANNO_SEL);
_riporti = new TRiporti;
// forzo il file di log delle schede all'auto eliminazione
//_logschede->set_autodel();
// inizializzazione istanza file temporaneo di log
_logschede = NULL;
// inizializzazione istanze d'azzeramento
_reset_PERC = NULL;
_reset_SCPERC = NULL;
_reset_RVER = NULL;
_reset_RPAG = NULL;
_reset_BASE = NULL;
_reset_BASEBIS = NULL;
_reset_SOCTRASF = NULL;
_reset_DIPEND = NULL;
_reset_QUAA = NULL;
_reset_QUAA1 = NULL;
_reset_QUAA2 = NULL;
_reset_QUAA3 = NULL;
_reset_QUAB = NULL;
_reset_QUAB1 = NULL;
_reset_QUAC = NULL;
_reset_QUAD = NULL;
_reset_QUAD1 = NULL;
_reset_QUAE = NULL;
_reset_QUAE1 = NULL;
_reset_QUAE2 = NULL;
_reset_PROSPE1 = NULL;
_reset_QUAF = NULL;
_reset_RIGHEF = NULL;
_reset_QUAF1 = NULL;
_reset_RIGHEF1 = NULL;
_reset_QUAF2 = NULL;
_reset_RIGHEF2 = NULL;
_reset_QUAG = NULL;
_reset_QUAGD = NULL;
_reset_QUAG1 = NULL;
_reset_QUAH = NULL;
_reset_DETH = NULL;
_reset_QUAL = NULL;
_reset_QUAN = NULL;
_reset_QUAP = NULL;
_reset_QUAQ = NULL;
_reset_QUAR = NULL;
_reset_QUAS = NULL;
_reset_QUAT = NULL;
// attivazione handler campi
// attivazione handler campi
_msk->set_handler(F_ANNODIC,F_ANNODIC_hnd);
_msk->set_handler(F_AZZSCH,F_AZZSCH_hnd);
_msk->set_handler(F_AZZQUA,F_AZZQUA_hnd);
_msk->set_handler(DLG_SAVEREC,DLG_SAVEREC_hnd);
_msk->set_handler(F_AZZQUA,F_AZZQUA_hnd);
// disattivazione bottoni non utilizzabili
_msk->disable(DLG_DELREC);
@ -220,7 +284,51 @@ bool TAzzeramento_archivi::user_destroy()
delete _msk;
delete _rel;
delete _cnf_studio;
delete _riporti;
delete _riporti;
// distruzione istanza file temporaneo di log
if (_logschede) delete _logschede;
// distruzione istanze d'azzeramento
if (_reset_PERC) delete _reset_PERC;
if (_reset_SCPERC) delete _reset_SCPERC;
if (_reset_RVER) delete _reset_RVER;
if (_reset_RPAG) delete _reset_RPAG;
if (_reset_BASE) delete _reset_BASE;
if (_reset_BASEBIS) delete _reset_BASEBIS;
if (_reset_SOCTRASF) delete _reset_SOCTRASF;
if (_reset_DIPEND) delete _reset_DIPEND;
if (_reset_QUAA) delete _reset_QUAA;
if (_reset_QUAA1) delete _reset_QUAA1;
if (_reset_QUAA2) delete _reset_QUAA2;
if (_reset_QUAA3) delete _reset_QUAA3;
if (_reset_QUAB) delete _reset_QUAB;
if (_reset_QUAB1) delete _reset_QUAB1;
if (_reset_QUAC) delete _reset_QUAC;
if (_reset_QUAD) delete _reset_QUAD;
if (_reset_QUAD1) delete _reset_QUAD1;
if (_reset_QUAE) delete _reset_QUAE;
if (_reset_QUAE1) delete _reset_QUAE1;
if (_reset_QUAE2) delete _reset_QUAE2;
if (_reset_PROSPE1) delete _reset_PROSPE1;
if (_reset_QUAF) delete _reset_QUAF;
if (_reset_RIGHEF) delete _reset_RIGHEF;
if (_reset_QUAF1) delete _reset_QUAF1;
if (_reset_RIGHEF1) delete _reset_RIGHEF1;
if (_reset_QUAF2) delete _reset_QUAF2;
if (_reset_RIGHEF2) delete _reset_RIGHEF2;
if (_reset_QUAG) delete _reset_QUAG;
if (_reset_QUAGD) delete _reset_QUAGD;
if (_reset_QUAG1) delete _reset_QUAG1;
if (_reset_QUAH) delete _reset_QUAH;
if (_reset_DETH) delete _reset_DETH;
if (_reset_QUAL) delete _reset_QUAL;
if (_reset_QUAN) delete _reset_QUAN;
if (_reset_QUAP) delete _reset_QUAP;
if (_reset_QUAQ) delete _reset_QUAQ;
if (_reset_QUAR) delete _reset_QUAR;
if (_reset_QUAS) delete _reset_QUAS;
if (_reset_QUAT) delete _reset_QUAT;
return TRUE;
}
@ -231,7 +339,6 @@ void TAzzeramento_archivi::azzera_create(const bool azzsch, const bool azzqua)
// richiesto azzeramento schede percipienti
if (azzsch)
{
_logschede = new TIsamtempfile(LF_SCPERC,"LOGAZZ",TRUE);
_reset_PERC = new TResetfile(LF_PERC);
_reset_SCPERC = new TResetfile(LF_SCPERC,TRUE);
_reset_RVER = new TResetfile(LF_RVER,TRUE);
@ -285,11 +392,14 @@ void TAzzeramento_archivi::azzera_destroy(const bool azzsch, const bool azzqua)
// richiesto azzeramento schede percipienti
if (azzsch)
{
delete _logschede;
delete _reset_PERC;
delete _reset_SCPERC;
delete _reset_RVER;
delete _reset_RPAG;
_reset_PERC = NULL;
_reset_SCPERC = NULL;
_reset_RVER = NULL;
_reset_RPAG = NULL;
}
// richiesto azzeramento quadri
@ -329,16 +439,48 @@ void TAzzeramento_archivi::azzera_destroy(const bool azzsch, const bool azzqua)
delete _reset_QUAQ;
delete _reset_QUAR;
delete _reset_QUAS;
delete _reset_QUAT;
delete _reset_QUAT;
_reset_BASE = NULL;
_reset_BASEBIS = NULL;
_reset_SOCTRASF = NULL;
_reset_DIPEND = NULL;
_reset_QUAA = NULL;
_reset_QUAA1 = NULL;
_reset_QUAA2 = NULL;
_reset_QUAA3 = NULL;
_reset_QUAB = NULL;
_reset_QUAB1 = NULL;
_reset_QUAC = NULL;
_reset_QUAD = NULL;
_reset_QUAD1 = NULL;
_reset_QUAE = NULL;
_reset_QUAE1 = NULL;
_reset_QUAE2 = NULL;
_reset_PROSPE1 = NULL;
_reset_QUAF = NULL;
_reset_RIGHEF = NULL;
_reset_QUAF1 = NULL;
_reset_RIGHEF1 = NULL;
_reset_QUAF2 = NULL;
_reset_RIGHEF2 = NULL;
_reset_QUAG = NULL;
_reset_QUAGD = NULL;
_reset_QUAG1 = NULL;
_reset_QUAH = NULL;
_reset_DETH = NULL;
_reset_QUAL = NULL;
_reset_QUAN = NULL;
_reset_QUAP = NULL;
_reset_QUAQ = NULL;
_reset_QUAR = NULL;
_reset_QUAS = NULL;
_reset_QUAT = NULL;
}
}
// gestione del log delle schede percipienti
void TAzzeramento_archivi::handle_log()
{
// istanza file di log
TIsamtempfile* logschede = new TIsamtempfile(LF_SCPERC,"LOGAZZ",FALSE);
{
// creazione sheet
TString caption = "Schede percipienti insolute";
TString head = "@1|";
@ -356,44 +498,68 @@ void TAzzeramento_archivi::handle_log()
TArray_sheetDerived log_sheet(12, 3, 66, 20, caption, head);
log_sheet.add_button(DLG_PRINT, "~Stampa", K_CTRL+'S');
// tasto di ritorno dall'esecuzione dello sheet
KEY retkey;
// delimitatore di scope per l'apertura fittizia di LF_SCPERC (che palle!)
{
// apertura file fisico originale perchè altrimenti da "erore!"
TLocalisamfile f(LF_SCPERC);
// riempimento sheet
for (int err = logschede->first(); err == NOERR; err = logschede->next())
{
TToken_string row;
row.add(" ");
row.add(logschede->get_long("CODDITTA"));
row.add(logschede->get_char("TIPOA"));
row.add(logschede->get_long("CODANAGR"));
row.add(logschede->get_long("NPROG"));
row.add(logschede->get_date("DATADOC"));
row.add(logschede->get("NUMDOC"));
row.add(logschede->get_int("CODCAUS"));
row.add(logschede->get("TOTALE"));
row.add(logschede->get("COMPENSO"));
row.add(logschede->get("SPESE"));
row.add(logschede->get("IVA"));
log_sheet.add(row);
}
// rimozione istanza file di log
delete logschede;
// esecuzione sheet
log_sheet.enable_check();
KEY retkey = log_sheet.run();
for (int err = _logschede->first(); err == NOERR; err = _logschede->next())
{
TToken_string row;
row.add(" ");
row.add(_logschede->get_long("CODDITTA"));
row.add(_logschede->get_char("TIPOA"));
row.add(_logschede->get_long("CODANAGR"));
row.add(_logschede->get_long("NPROG"));
row.add(_logschede->get_date("DATADOC"));
row.add(_logschede->get("NUMDOC"));
row.add(_logschede->get_int("CODCAUS"));
row.add(_logschede->get("TOTALE"));
row.add(_logschede->get("COMPENSO"));
row.add(_logschede->get("SPESE"));
row.add(_logschede->get("IVA"));
log_sheet.add(row);
}
// esecuzione sheet
log_sheet.enable_check();
retkey = log_sheet.run();
// rimozione dei record non selezionati dal file temporaneo
if (retkey == K_ENTER && log_sheet.one_checked())
for (int i = 0; i < log_sheet.items(); i++)
{
if (!log_sheet.checked(i))
{
_logschede->setkey(1);
_logschede->zero();
_logschede->put("CODDITTA",log_sheet.row(i).get_long(1));
_logschede->put("TIPOA",log_sheet.row(i).get_char(2));
_logschede->put("CODANAGR",log_sheet.row(i).get_long(3));
_logschede->put("NPROG",log_sheet.row(i).get_int(4));
if (_logschede->read() == NOERR)
_logschede->remove();
}
}
}
// interpreto azione restituita
switch (retkey)
{
case K_CTRL+'S':
yesno_box("Vuoi davvero stampare");
print_log();
print_log();
// inizilizzazione puntatore all'istanza del file di log
// perche' il distruttore della relazione usata in stampa
// ne ha effettuato implicitamente la "delete"
_logschede = NULL;
break;
case K_ENTER:
yesno_box("Vuoi davvero azzerare");
if (log_sheet.one_checked())
azzera_schlog();
break;
default:
break;
@ -406,29 +572,46 @@ void TAzzeramento_archivi::print_log()
// istanza form
TForm log_form("77logazz");
// sostituisce lfile originale con lfile di log
log_form.relation()->replace(new TIsamtempfile(LF_SCPERC,"LOGAZZ",FALSE));
log_form.relation()->replace(_logschede);
// apertura file fisico originale perchè altrimenti da "erore!"
TLocalisamfile f(LF_SCPERC);
// set anno dichiarazione
TForm_item& hodd_annodic = log_form.find_field('H',odd_page,HODD_ANNODIC);
hodd_annodic.set(_msk->get(F_ANNODIC));
// set footer standard prassi
TForm_item& fodd_today = log_form.find_field('F',odd_page,FODD_TODAY);
fodd_today.set(_msk->get(F_DATASCH));
TForm_item& fodd_user = log_form.find_field('F',odd_page,FODD_USER);
fodd_today.set(_msk->get(F_DATASCH));
fodd_user.set(user());
// stampa form
log_form.print();
}
// azzera le schede loggate selezionate
void TAzzeramento_archivi::azzera_schlog()
{
// azzeramento schede selezionate (non invertire l'ordine di chiamata!!)
_reset_SCPERC->set_validate_record_function(validate_record_SCPERC_2);
_reset_RPAG->set_validate_record_function(validate_record_RPAG);
_reset_RVER->set_validate_record_function(validate_record_RVER);
_reset_SCPERC->run();
_reset_RPAG->run();
_reset_RVER->run();
}
// elabora tutte le dichiarazioni
void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
{
// esistono schede loggate
bool logged_schede = FALSE;
// creazione istanze d'azzeramento
azzera_create(azzsch, azzqua);
// richiesto azzeramento schede percipienti
if (azzsch)
{
// istanza file temporaneo di log
if (_logschede) delete _logschede;
_logschede = new TIsamtempfile(LF_SCPERC,"LOGAZZ",TRUE);
// percipienti
_reset_PERC->run();
@ -438,10 +621,7 @@ void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
_reset_RVER->set_validate_record_function(validate_record_RVER);
_reset_SCPERC->run();
_reset_RPAG->run();
_reset_RVER->run();
// esistono schede loggate!
logged_schede = !_logschede->empty();
_reset_RVER->run();
}
// richiesto azzeramento quadri
@ -504,13 +684,13 @@ void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
_reset_QUAT->run();
}
// handle log schede percipienti
if (azzsch && !_logschede->empty())
handle_log();
// distruzione istanze d'azzeramento
azzera_destroy(azzsch, azzqua);
// handle log schede percipienti
if (logged_schede)
handle_log();
return;
}
@ -549,6 +729,24 @@ bool TAzzeramento_archivi::validate_record_SCPERC(const TRectype& rec)
return TRUE;
}
bool TAzzeramento_archivi::validate_record_SCPERC_2(const TRectype& rec)
{
// inizializzo chiave file di log
app()._logschede->setkey(1);
app()._logschede->zero();
app()._logschede->put("CODDITTA",rec.get_long("CODDITTA"));
app()._logschede->put("TIPOA",rec.get_char("TIPOA"));
app()._logschede->put("CODANAGR",rec.get_long("CODANAGR"));
app()._logschede->put("NPROG",rec.get_int("NPROG"));
// elimino la scheda se esiste nel file di log
if (app()._logschede->read() == NOERR)
return TRUE;
// non elimino tutti gli altri record
return FALSE;
}
bool TAzzeramento_archivi::validate_record_RPAG(const TRectype& rec)
{
// apro file e inizializzo chiave schede percipienti
@ -709,8 +907,8 @@ bool TAzzeramento_archivi::is_resetable(const TRectype& rec)
return FALSE; // scheda da non azzerare
return TRUE;
}
}
// implementazione funzione virtuale TRelation_application
void TAzzeramento_archivi::init_modify_mode(TMask& m)
{
@ -731,18 +929,22 @@ void TAzzeramento_archivi::init_modify_mode(TMask& m)
m.set(F_AZZQUA,TRUE);
m.disable(F_AZZQUA);
}
}
}
// implementazione funzione virtuale TRelation_application
int TAzzeramento_archivi::write(const TMask& m)
{
bool azzsch = m.get_bool(F_AZZSCH);
bool azzqua = m.get_bool(F_AZZQUA);
// azzeramento di tutte le dichiarazioni
elab_tutte(azzsch, azzqua);
// chiede conferma azzeramento
if (conferma_azzera(m, azzsch, azzqua))
{
elab_tutte(azzsch, azzqua);
return TRelation_application::write(m);
}
return TRelation_application::write(m);
return NOERR;
}
// implementazione funzione virtuale TRelation_application
@ -753,12 +955,40 @@ int TAzzeramento_archivi::rewrite(const TMask& m)
bool azzsch = m.get_bool(F_AZZSCH) && datasch.year() == 0;
bool azzqua = m.get_bool(F_AZZQUA) && dataqua.year() == 0;
// azzeramento di tutte le dichiarazioni
elab_tutte(azzsch, azzqua);
return TRelation_application::rewrite(m);
// chiede conferma azzeramento
if (conferma_azzera(m, azzsch, azzqua))
{
elab_tutte(azzsch, azzqua);
return TRelation_application::rewrite(m);
}
return NOERR;
}
// message box di conferma azzeramento
bool TAzzeramento_archivi::conferma_azzera(const TMask& m, const bool azzsch, const bool azzqua)
{
if (azzsch || azzqua)
{
TString testo;
testo << "Conferma azzeramento ";
if (azzsch)
testo << "schede percipienti, ";
if (azzqua)
testo << "quadri dichiarazione, ";
testo << "per l'anno " << m.get(F_ANNODIC) << " ?";
return yesno_box(testo);
}
return FALSE;
}
// handler del campo maschera F_ANNODIC
bool TAzzeramento_archivi::F_ANNODIC_hnd(TMask_field& f, KEY k)
{
return TRUE;
}
// handler del campo maschera F_AZZSCH
bool TAzzeramento_archivi::F_AZZSCH_hnd(TMask_field& f, KEY k)
{
@ -806,32 +1036,7 @@ bool TAzzeramento_archivi::F_AZZQUA_hnd(TMask_field& f, KEY k)
}
}
return TRUE;
}
// handler del bottone maschera DLG_SAVEREC
bool TAzzeramento_archivi::DLG_SAVEREC_hnd(TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
TDate datasch = app()._rel->lfile().get_date("DATASCH");
TDate dataqua = app()._rel->lfile().get_date("DATAQUA");
bool azzsch = m.get_bool(F_AZZSCH) && datasch.year() == 0;
bool azzqua = m.get_bool(F_AZZQUA) && dataqua.year() == 0;
if (azzsch || azzqua)
{
TString testo;
testo << "Conferma azzeramento ";
if (azzsch)
testo << "schede percipienti, ";
if (azzqua)
testo << "quadri dichiarazione, ";
testo << "per l'anno " << m.get(F_ANNODIC) << " ?";
return f.yesno_box(testo);
}
}
return TRUE;
}
}
// funzione principale di lancio applicazione
int Azzeramento_archivi(int argc, char* argv[])

View File

@ -1,11 +1,9 @@
// 774300a.h - Storico azzeramenti
#define F_ANNODIC 201
#define F_AZZSCH 202
#define F_USERSCH 203
#define F_DATASCH 204
#define F_AZZQUA 205
#define F_USERQUA 206
#define F_DATAQUA 207
#define LF_STAZZ 109
// 774300a.h - Storico azzeramenti
#define F_ANNODIC 201
#define F_AZZSCH 202
#define F_USERSCH 203
#define F_DATASCH 204
#define F_AZZQUA 205
#define F_USERQUA 206
#define F_DATAQUA 207

View File

@ -1,205 +1,233 @@
USE 39
END
DESCRIPTION
BEGIN
39->* "Schede percipienti"
END
GENERAL
BEGIN
OFFSET 2 2
FONT "Courier New"
SIZE 8
GRID "+++++++++-|"
END
SECTION HEADER ODD 5
NUMERO 1
BEGIN
KEY "Titolo della stampa"
PROMPT -1 1 "Azzeramento archivi per l'anno "
END
STRINGA 2
BEGIN
KEY "Sottotitolo"
PROMPT 1 3 "Elenco schede percipienti insolute"
END
STRINGA 3
BEGIN
KEY "Colonna ditta"
PROMPT 1 5 "Ditta"
END
STRINGA 4
BEGIN
KEY "Colonna tipo percipiente"
PROMPT 7 5 "Tipo"
END
STRINGA 5
BEGIN
KEY "Colonna codice percipiente"
PROMPT 12 5 "Codice"
END
STRINGA 6
BEGIN
KEY "Colonna numero scheda"
PROMPT 19 5 "Scheda"
END
STRINGA 7
BEGIN
KEY "Colonna data documento"
PROMPT 26 5 "Data doc."
END
STRINGA 8
BEGIN
KEY "Colonna numero documento"
PROMPT 37 5 "Numero doc."
END
STRINGA 9
BEGIN
KEY "Colonna causale"
PROMPT 49 5 "Cau."
END
STRINGA 10
BEGIN
KEY "Colonna totale documento"
PROMPT 58 5 "Totale doc."
END
STRINGA 11
BEGIN
KEY "Colonna compenso"
PROMPT 77 5 "Compenso"
END
STRINGA 12
BEGIN
KEY "Colonna spese"
PROMPT 96 5 "Spese"
END
STRINGA 13
BEGIN
KEY "Colonna iva"
PROMPT 114 5 "Iva"
END
END
SECTION BODY ODD 1
NUMERO 1 5
BEGIN
KEY "Codice ditta"
PROMPT 1 1 ""
PICTURE "@@@@@"
FIELD 39->CODDITTA
END
STRINGA 2 1
BEGIN
KEY "Tipo percipiente"
PROMPT 9 1 ""
FIELD 39->TIPOA
END
NUMERO 3 5
BEGIN
KEY "Codice percipiente"
PROMPT 12 1 ""
PICTURE "@@@@@"
FIELD 39->CODANAGR
END
NUMERO 4 4
BEGIN
KEY "Numero scheda"
PROMPT 19 1 ""
FIELD 39->NPROG
END
DATA 5
BEGIN
KEY "Data documento"
PROMPT 26 1 ""
FIELD 39->DATADOC
FORMAT "1444-"
END
STRINGA 6 7
BEGIN
KEY "Numero documento"
PROMPT 37 1 ""
FIELD 39->NUMDOC
END
NUMERO 7 2
BEGIN
KEY "Codice causale"
PROMPT 49 1 ""
PICTURE "@@"
FIELD 39->CODCAUS
END
NUMERO 8
BEGIN
KEY "Totale documento"
PROMPT 54 1 ""
PICTURE "###############"
FIELD 39->TOTALE
END
NUMERO 9
BEGIN
KEY "Compenso"
PROMPT 70 1 ""
PICTURE "###############"
FIELD 39->COMPENSO
END
NUMERO 10
BEGIN
KEY "Spese"
PROMPT 86 1 ""
PICTURE "###############"
FIELD 39->SPESE
END
NUMERO 11
BEGIN
KEY "Iva"
PROMPT 102 1 ""
PICTURE "###############"
FIELD 39->IVA
END
END
SECTION FOOTER ODD 1
STRINGA 1
BEGIN
KEY "Footer standard Prassi"
PROMPT 1 1 "PR.A.S.S.I. S.p.A."
END
DATA 2
BEGIN
KEY " "
PROMPT 20 1 ""
FORMAT "1454-"
END
END
END
USE 39
END
DESCRIPTION
BEGIN
39->* "Schede percipienti"
END
GENERAL
BEGIN
OFFSET 1 1
FONT "Courier New"
SIZE 8
GRID "+++++++++-|"
END
SECTION GRAPHICS ODD 62
LINEA 1 117 1
BEGIN
KEY "Riga di separazione titolo/sottotitolo"
PROMPT 1 2 ""
END
LINEA 2 117 1
BEGIN
KEY "Riga di separazione titolo/corpo"
PROMPT 1 6 ""
END
LINEA 3 117 1
BEGIN
KEY "Riga di separazione corpo/piede"
PROMPT 1 62 ""
END
END
SECTION HEADER ODD 6
NUMERO 1
BEGIN
KEY "Titolo della stampa"
PROMPT 1 1 "@BAzzeramento archivi per l'anno "
END
STRINGA 2
BEGIN
KEY "Sottotitolo"
PROMPT 1 3 "@BElenco schede percipienti insolute"
END
STRINGA 3
BEGIN
KEY "Colonna ditta"
PROMPT 1 5 "Ditta"
END
STRINGA 4
BEGIN
KEY "Colonna tipo percipiente"
PROMPT 7 5 "Tipo"
END
STRINGA 5
BEGIN
KEY "Colonna codice percipiente"
PROMPT 12 5 "Codice"
END
STRINGA 6
BEGIN
KEY "Colonna numero scheda"
PROMPT 19 5 "Scheda"
END
STRINGA 7
BEGIN
KEY "Colonna data documento"
PROMPT 26 5 "Data doc."
END
STRINGA 8
BEGIN
KEY "Colonna numero documento"
PROMPT 37 5 "Numero doc."
END
STRINGA 9
BEGIN
KEY "Colonna causale"
PROMPT 49 5 "Cau."
END
STRINGA 10
BEGIN
KEY "Colonna totale documento"
PROMPT 58 5 "Totale doc."
END
STRINGA 11
BEGIN
KEY "Colonna compenso"
PROMPT 77 5 "Compenso"
END
STRINGA 12
BEGIN
KEY "Colonna spese"
PROMPT 96 5 "Spese"
END
STRINGA 13
BEGIN
KEY "Colonna iva"
PROMPT 114 5 "Iva"
END
END
SECTION BODY ODD 1
NUMERO 1 5
BEGIN
KEY "Codice ditta"
PROMPT 1 1 ""
PICTURE "@@@@@"
FIELD 39->CODDITTA
END
STRINGA 2 1
BEGIN
KEY "Tipo percipiente"
PROMPT 9 1 ""
FIELD 39->TIPOA
END
NUMERO 3 5
BEGIN
KEY "Codice percipiente"
PROMPT 12 1 ""
PICTURE "@@@@@"
FIELD 39->CODANAGR
END
NUMERO 4 4
BEGIN
KEY "Numero scheda"
PROMPT 19 1 ""
FIELD 39->NPROG
END
DATA 5
BEGIN
KEY "Data documento"
PROMPT 26 1 ""
FIELD 39->DATADOC
FORMAT "1444-"
END
STRINGA 6 7
BEGIN
KEY "Numero documento"
PROMPT 37 1 ""
FIELD 39->NUMDOC
END
NUMERO 7 2
BEGIN
KEY "Codice causale"
PROMPT 49 1 ""
PICTURE "@@"
FIELD 39->CODCAUS
END
NUMERO 8
BEGIN
KEY "Totale documento"
PROMPT 54 1 ""
PICTURE "###############"
FIELD 39->TOTALE
END
NUMERO 9
BEGIN
KEY "Compenso"
PROMPT 70 1 ""
PICTURE "###############"
FIELD 39->COMPENSO
END
NUMERO 10
BEGIN
KEY "Spese"
PROMPT 86 1 ""
PICTURE "###############"
FIELD 39->SPESE
END
NUMERO 11
BEGIN
KEY "Iva"
PROMPT 102 1 ""
PICTURE "###############"
FIELD 39->IVA
END
END
SECTION FOOTER ODD 3
STRINGA 1
BEGIN
KEY "Footer standard Prassi - logo"
PROMPT 1 1 "PR.A.S.S.I. S.p.A."
END
DATA 2
BEGIN
KEY "Footer standard Prassi - data"
PROMPT 22 1 ""
FORMAT "1454-"
END
STRINGA 3
BEGIN
KEY "Footer standard Prassi - utente"
PROMPT 45 1 "Utente "
END
END
END

3
m770/f100.dir Executable file
View File

@ -0,0 +1,3 @@
100
1
m770/righef2|0|0|53|4|Righe F2 modello 770|||

11
m770/f100.trr Executable file
View File

@ -0,0 +1,11 @@
100
7
CODDITTA|3|5|0|
TIPOPRO|7|1|0|
NPROG|2|2|0|
CODCAUS|9|2|0|
ALIQUOTA|4|6|2|
SOGRIT|4|18|0|
ROPE|4|18|0|
1
CODDITTA+TIPOPRO+NPROG|

3
m770/f101.dir Executable file
View File

@ -0,0 +1,3 @@
101
1
m770/quadrogd|0|0|106|4|Distinta G modello 770|||

13
m770/f101.trr Executable file
View File

@ -0,0 +1,13 @@
101
9
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
NUMQUOTE|4|18|2|
UTSPETT|4|18|0|
ROPESPET|4|18|0|
UTPAG|4|18|0|
ROPE|4|18|0|
1
CODDITTA+TIPOA+CODANAGR+NPROG|

3
m770/f102.dir Executable file
View File

@ -0,0 +1,3 @@
102
1
m770/soctrasf|0|0|196|4|Societa' trasformate modello 770|||

19
m770/f102.trr Executable file
View File

@ -0,0 +1,19 @@
102
15
CODDITTA|3|5|0|Codice ditta
CODFISC|1|16|0|Codice fiscale
DENOMIN|1|40|0|Cognome o denominazione
NOME|1|20|0|Nome (nel caso che la ditta sia intestata a persona fisica)
SESSO|1|1|0|Sesso (nel caso che la ditta sia intestata a persona fisica)
DATANAS|5|8|0|Data di nascita (nel caso che la ditta sia intestata a persona fisica)
COMNAS|1|20|0|Comune di nascita (nel caso che la ditta sia intestata a persona fisica)
PROVNAS|1|2|0|Provincia di nascita (nel caso che la ditta sia intestata a persona fisica)
COMDOM|1|20|0|Comune di domicilio
PROVDOM|1|2|0|Provincia di domicilio
INDDOM|1|35|0|Indirizzo domicilio
CONSBOCC|3|5|0|Consistenza base occupazionale al 12/06/94
LAVDIPCIN|3|5|0|Lavoratori dipendenti in mobilita' o cassa integrazione al 12/06/94
DATAINPI|5|8|0|Data inizio periodo d'imposta
DATAFINPI|5|8|0|Data fine periodo d'imposta
1
CODDITTA|

3
m770/f117.dir Executable file
View File

@ -0,0 +1,3 @@
117
1
m770/stazz|0|0|37|4|Storico azzeramenti modello 770|||

9
m770/f117.trr Executable file
View File

@ -0,0 +1,9 @@
117
5
ANNODIC|2|4|0|Anno dichiarazione per il quale è stato eseguito l'azzeramento
USERSCH|1|8|0|Utente che ha eseguito l'azzeramento delle schede
DATASCH|5|8|0|Data di azzeramento delle schede
USERQUA|1|8|0|Utente che ha eseguito l'azzeramento di quadri
DATAQUA|5|8|0|Data di azzeramento dei quadri
1
ANNODIC|

3
m770/f36.dir Executable file
View File

@ -0,0 +1,3 @@
36
1
m770/base|0|0|1209|4|Base modello 770|#9||

100
m770/f36.trr Executable file
View File

@ -0,0 +1,100 @@
36
95
TIPOQUA|7|1|0|Tipo dichiarazione
CODDITTA|3|5|0|Codice ditta
CODDIC|3|5|0|Codice ditta dichiarante
IN_USO|8|1|0|Flag "dichiarazione in uso"
ANNODIC|2|4|0|Anno dichiarazione
RAPPR|3|5|0|Codice rappresentante
CARRAPP|2|1|0|Carica rappresentante
NATTVER|3|6|0|0
EVNATECC|8|1|0|0
CODCAAF|3|5|0|0
CODPRO|3|5|0|0
N730ALLA|3|6|0|Quadro A - numero allegati 730-96
N730ALLA2|3|6|0|Quadro A2 - numero allegati 730-95
SERIE|1|5|0|Parametri generazione quadro L - serie/abi vers.
DATAVERS|5|8|0|Parametri generazione quadro L - data versamento
NUMERO|1|11|0|Parametri generazione quadro L - numero/cab vers.
A0NFCOM|3|5|0|
A0NLDIP|3|5|0|I1-1 Quadro A - Num. fogli compilati
A0COBB|4|18|0|I1-2 Quadro A - Num. lav. dipendenti
A0CNET|4|18|0|I1-3 Quadro A - Contributi obbligatori
A0EPREV|4|18|0|I1-4 Quadro A - Compensi netti
A0IITRA|4|18|0|I1-5 Quadro A - Assegni enti previdenziali
A0CTER|4|18|0|I1-6 Quadro A - Ind. tras. imponibile
A0TIMP|4|18|0|I2-7 Quadro A - Compensi da terzi
A0ILOR|4|18|0|I2-8 Quadro A - Totale imponibile
A0TDET|4|18|0|I2-9 Quadro A - Imposta lorda
A0INCDET|4|18|0|I2-10 Quadro A - Totale detrazioni
A0RTER|4|18|0|I2-11 Quadro A - Incremento detrazioni
A0RDAT|4|18|0|I3-12 Quadro A - Ritenute da terzi
A0ERIT|4|18|0|I3-13 Quadro A - Ritenute datore di lavoro
A0CARR|4|18|0|I3-14 Quadro A - Eccedenza ritenute
A0AARR|4|18|0|I3-15 Quadro A - Contributi arretrati
A0DARR|4|18|0|I3-16 Quadro A - Ammontare arretrati
A0RARR|4|18|0|I4-17 Quadro A - Detrazioni arretrati
A0RITSI|4|18|0|I4-18 Quadro A - Ritenute arretrati
A0CINPS|4|18|0|0
A0RITOPEVA|4|18|0|0
A0RITOPESA|4|18|0|0
A0CIIAUT|4|18|0|0
A0NADLAV|3|5|0|0
A0NACAAF|3|5|0|0
A0CRIMPRAS|4|18|0|0
A0CRIMP85|4|18|0|I5-23 - Quadro A - Credito d'imposta premio d'assunzione
A3NFCOM|3|5|0|I5-25 - Quadro A - Credito d'imposta ex L.85/95
A3NUMPER|3|5|0|0
A3REPT10|4|18|0|0
A3REPT12|4|18|0|0
B0NFCOM|3|5|0|0
B0NLDIP|3|5|0|I8-1 - Quadro B - Numero di fogli compilati
B0TFR93|4|18|0|I8-2 - Quadro B - Numero dipendenti
B0AI|4|18|0|I8-3 - Quadro B - TFR corrisposto nel 95
B0COLAV|4|18|0|I8-4 - Quadro B - Altre indennità nel 1995
B0TFR7492|4|18|0|I8-5 - Quadro B - Contributi obb. a carico lavoratori dipendenti
B0AI7492|4|18|0|I8-6 - Quadro B - TFR erogato dal 74 al 94
B0RITSI|4|18|0|I9-7 - Quadro B - Altre indennità erogate dal 74 al 94
B0IMP|4|18|0|I9-13 - Quadro B - Ritenute operate 'SI'
B0TIMP|4|18|0|I9-8 - Quadro B - Imponibile dell'anno
B0ROP|4|18|0|I9-9 - Quadro B - Totale imponibile
B0AIINPS|4|18|0|I9-10 - Quadro B - Ritenute operate
B0ROPESA|4|18|0|I9-11 - Quadro B - Altre indennità ai fini contr. INPS
B0CIIAUT|4|18|0|I9-12 - Quadro B - Ritenute operate 'SA'
B0CRIMPRAS|4|18|0|I9-14 - Quadro B - Credito d'imposta imprese d'autotrasporto
B0CRIMP85|4|18|0|I10-15 - Quadro B - Credito d'imposta premio d'assunzione
B1NFCOM|3|5|0|I10-16 - Quadro B - Credito d'imposta ex L.85/95
B1NPER|3|5|0|I11-1 - Quadro B1 - Numero fogli compilati
B1TIND|4|18|0|I11-2 - Quadro B1 - Numero percipienti
B1TIRM|4|18|0|I11-3 - Quadro B1 - Totale indennità
B1TICOM|4|18|0|I11-4 - Quadro B1 - Totale imp.r.m.
C0NFCOM|3|5|0|I11-5 - Quadro B1 - Totale imp.compl.
C0NLASS|3|5|0|I12-1 - Quadro C - Num. fogli compilati
C0ACTOT|4|18|0|I12-2 - Quadro C - Numero percipienti
C0CONTSSN|4|18|0|I12-3 - Quadro C - Ammontare corrisposto totale
C0SNSRIT|4|18|0|I12-4 - Quadro C - Contributi SSN
C0ROPE|4|18|0|0
C0CIIAUT|4|18|0|0
C0CRIMPRAS|4|18|0|0
D0NFCOM|3|5|0|I13-8 - Quadro C - Credito d'imposta premio d'assunzione
D0NLAUT|3|5|0|I14-1 - Quadro D - Numero fogli
D0ACTOT|4|18|0|I14-2 - Quadro D - Numero percipienti
D0SNSRIT|4|18|0|I14-3 - Quadro D - Ammontare corrisposto totale
D0ROPE|4|18|0|I14-4 - Quadro D - Somme non soggette a ritenuta
D0CIIAUT|4|18|0|I14-5 - Quadro D - Ritenute operate
D0CRIMPRAS|4|18|0|I14-6 - Quadro D - Credito di imposta imprese di autotrasporto
D0CRIMP85|4|18|0|I15-7 - Quadro D - Credito d'imposta premio d'assunzione
D1NFCOM|3|5|0|I15-8 - Quadro D - Credito d'imposta ex L.85/95
D1NPER|3|5|0|0
D1TACOR|4|18|0|0
D1SNSRIT|4|18|0|0
D1ROPE|4|18|0|0
D1CRIMPRAS|4|18|0|0
LUOVERS|7|1|0|0
TIPOVERS|7|1|0|0
RSS|2|1|0|0
FLART4|8|1|0|0
DITTACAAF|3|5|0|0
2
TIPOQUA+CODDITTA|
CODDIC+TIPOQUA+CODDITTA|

3
m770/f37.dir Executable file
View File

@ -0,0 +1,3 @@
37
1
m770/basebis|0|0|1272|4|Base modello 770|#36||

91
m770/f37.trr Executable file
View File

@ -0,0 +1,91 @@
37
86
TIPOQUA|7|1|0|
CODDITTA|3|5|0|0
CODDIC|3|5|0|0
CONSBASOCC|4|18|0|
LAVDIPCIN|4|18|0|
PIMPINI|5|8|0|
PIMPFINE|5|8|0|
ECCRIT12|4|18|0|0
ECCRIT23|4|18|0|0
CRIMPDL|4|18|0|0
CRIMPIVA|4|18|0|0
CRIMPRIT|4|18|0|0
CRIMPRES|4|18|0|0
QCOMP|1|25|0|0
QSUPPINV|1|26|0|0
QSUPPRIC|1|26|0|0
NSUPPM|2|4|0|0
E0NFCOM|3|5|0|0
E0NPER|3|5|0|0
E0AIMP|4|18|0|0
E0ROPE|4|18|0|0
E0SNSRIT|4|18|0|0
E0CRIMPRAS|4|18|0|0
E1NFCOM|3|5|0|0
E1NPER|3|5|0|0
E1SCOR|4|18|0|0
E1BCOM|4|18|0|0
E1ROPE|4|18|0|0
E1ACOM|4|18|0|0
E1BCOM2|4|18|0|0
E1ROPE2|4|18|0|0
E1CRIMPRAS|4|18|0|0
E2NFCOM|3|5|0|0
E2NPER|3|5|0|0
E2ROPE|4|18|0|0
E2SSRIT|4|18|0|0
E2CRIMPRAS|4|18|0|0
F0SRITA|4|18|0|0
F0ROPEA|4|18|0|0
F0TACCA|4|18|0|0
F0EDACCA|4|18|0|0
F0ERIMA|4|18|0|0
F0SSRITBF|4|18|0|0
F0ROPEBF|4|18|0|0
F0SSVA|4|18|0|0
F0ROPEVA|4|18|0|0
F0CRIMPRAS|4|18|0|0
F1TPLUA|4|18|0|0
F1ROPEA|4|18|0|0
F1SSRIT|4|18|0|0
F1ROPE|4|18|0|0
F1CRIMPRAS|4|18|0|0
F2SSRIT|4|18|0|0
F2ROPE|4|18|0|0
F2CRIMPRAS|4|18|0|0
G0NFCOM|3|5|0|0
G0NAZI1|4|16|0|0
G0UDEN1|4|18|0|0
G0UNAT1|4|18|0|0
G0IUTI2|4|18|0|0
G0ROPE|4|18|0|0
G0USRIT3|4|18|0|0
G0RACC3|4|18|0|0
G0RIMP3|4|18|0|0
G0UNSRIT3|4|18|0|0
G0USPE|4|18|0|0
G0RITSPET|4|18|0|
G0UPAG|4|18|0|0
G0NPER|3|5|0|0
G0CRIMPRAS|4|18|0|0
G1UCOR|4|18|0|0
G1USRIT|4|18|0|0
G1RACC|4|18|0|0
G1RIMP|4|18|0|0
G1UNSRIT|4|18|0|0
G1CRIMPRAS|4|18|0|0
H0CODLAV|4|18|0|0
H0COLDIP|4|18|0|0
H0NPVERH|3|5|0|0
H0NQLAGG|2|4|0|0
L0CCONC1|1|3|0|0
L0CCONC2|1|3|0|0
L0CCONC3|1|3|0|0
L0CTES1|2|3|0|0
L0CTES2|2|3|0|0
L0CTES3|2|3|0|0
2
TIPOQUA+CODDITTA|
CODDIC+TIPOQUA+CODDITTA|

3
m770/f38.dir Executable file
View File

@ -0,0 +1,3 @@
38
1
m770/perc|0|0|31|4|Dati percipienti|#6||

9
m770/f38.trr Executable file
View File

@ -0,0 +1,9 @@
38
5
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
FATTBIL|4|18|2|
FLAGCT|8|1|0|
1
CODDITTA+TIPOA+CODANAGR|

3
m770/f39.dir Executable file
View File

@ -0,0 +1,3 @@
39
1
m770/schper|0|0|148|4|Schede percipienti|#9||

21
m770/f39.trr Executable file
View File

@ -0,0 +1,21 @@
39
16
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
DATADOC|5|8|0|
NUMDOC|1|7|0|
COMPENSO|4|18|2|
SPESE|4|18|2|
IVA|4|18|2|
TOTALE|4|18|2|
FORZATURA|8|1|0|
TOTRIT|4|18|2|
RITSOC|4|18|0|
MESEC|2|2|0|
ANNOC|2|4|0|
2
CODDITTA+TIPOA+CODANAGR+NPROG|
CODDITTA+TIPOA+CODANAGR+DATADOC+NPROG|

3
m770/f40.dir Executable file
View File

@ -0,0 +1,3 @@
40
1
m770/rver|0|0|71|4|Righe di versamento|#9||

17
m770/f40.trr Executable file
View File

@ -0,0 +1,17 @@
40
13
CODDITTA|3|5|0|0
TIPOA|1|1|0|0
CODANAGR|3|5|0|0
NPROG|2|4|0|0
NRIGA|2|4|0|0
VERS1015|8|1|0|0
DATAVERS|5|8|0|0
TIPOVERS|1|1|0|0
RITENUTA|4|18|0|0
LUOVERS|1|1|0|0
NUMERO|1|11|0|0
SERIE|1|5|0|0
PROGBANC|10|6|0|
1
CODDITTA+TIPOA+CODANAGR+NPROG+NRIGA|

3
m770/f41.dir Executable file
View File

@ -0,0 +1,3 @@
41
1
m770/rpag|0|0|165|4|Righe di pagamento|#9||

19
m770/f41.trr Executable file
View File

@ -0,0 +1,19 @@
41
15
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
NRIGA|2|4|0|
DATAPAG|5|8|0|
IMPONIBILE|4|18|0|
PERC|4|6|2|
RITENUTA|4|18|0|
COMPENSO|4|18|0|
NETTO|4|18|0|
NUMVERS|3|5|0|
SPESA|4|18|0|
CTSSNPERC|4|18|0|
CTSSNCOMP|4|18|0|
1
CODDITTA+TIPOA+CODANAGR+NPROG+NRIGA|

3
m770/f42.dir Executable file
View File

@ -0,0 +1,3 @@
42
1
m770/quadrol|0|0|91|4|Quadro L modello 770|#9||

20
m770/f42.trr Executable file
View File

@ -0,0 +1,20 @@
42
15
CODDITTA|3|5|0|
QLDV|5|8|0|
QLMP|2|2|0|
QLAP|2|4|0|
QLLV|7|1|0|
QLTV|7|1|0|
QLCT|2|4|0|
QLAB|2|2|0|
QLSERIE|1|5|0|
QLNUMERO|1|11|0|
QLCODQUA|1|2|0|
QLRITEFF|4|18|0|
QLRITVER|4|18|0|
QLRSS|1|2|0|
QLNOTE|1|7|0|
2
CODDITTA+QLAP+QLMP+QLDV+QLLV+QLTV+QLCT+QLAB+QLSERIE+QLNUMERO|
CODDITTA+QLDV+QLAP+QLMP+QLLV+QLTV+QLCT+QLAB+QLSERIE+QLNUMERO|

3
m770/f43.dir Executable file
View File

@ -0,0 +1,3 @@
43
1
m770/quadroh|0|0|48|4|Quadro h modello 770|#9||

9
m770/f43.trr Executable file
View File

@ -0,0 +1,9 @@
43
5
CODDITTA|3|5|0|
H1ANNO|2|4|0|
H1ENTE|2|2|0|
H1DAT|4|18|2|
H1LAV|4|18|2|
1
CODDITTA+H1ANNO+H1ENTE|

3
m770/f44.dir Executable file
View File

@ -0,0 +1,3 @@
44
1
m770/quadroa|0|0|922|4|Quadro A modello 770|#9||

67
m770/f44.trr Executable file
View File

@ -0,0 +1,67 @@
44
63
CODDITTA|3|5|0|Codice ditta della dichiarazione
CODDIP|3|6|0|
NPROG|2|3|0|Numero progressivo della scheda
AREAATT|1|1|0|
TIPO|1|1|0|
NUMGIO|2|3|0|
DATAFR|5|8|0|Data fine rapporto di lavoro
NUMGIODET|2|3|0|
CFDLPREC|1|16|0|
CAUSA|2|1|0|Causa
DENARO|4|18|0|In denaro
NATURA|4|18|0|In natura
COBBDIP|4|18|0|
COMPNETTI|4|18|0|Compensi netti
AMMLORDO|4|18|0|
IACOBBCD|4|18|0|
NORIT|4|18|0|
TOTIMP|4|18|0|
AIENTIPREV|4|18|0|
CCTAMMCONT|4|18|0|Compensi corrisposti da terzi: ammontare assoggettato a contribuzione
TOTIMP2|4|18|2|
ICTOTIMP|4|18|0|
DETCC|4|18|0|Detrazione per coniuge a carico
DETFC|4|18|0|Detrazione per figli a carico
DETAF|4|18|0|Detrazione per altri famigliari a carico
DETLD|4|18|0|Detrazione per lavoro dipendente
DETO|4|18|0|Detrazione per oneri
TOTDET|4|18|0|
INCDETFC|4|18|0|
AMRIOT|4|18|0|
AMRIODL|4|18|0|
ECCRITRIMB|4|18|0|Eccedenza delle ritenute da rimborsare
AMMRITDOV|4|18|0|Ammontare delle ritenute dovute
ERSPSAN|4|18|0|
PRASSVI|4|18|0|
CONPRECO|4|18|0|
COBBDIP2|4|18|0|
AMMIMP|4|18|0|
DETIMPOS|4|18|0|
RITESEG|4|18|0|
SVNASSRI|4|18|0|
AIFCSSN|4|18|0|
CONEFF|1|1|0|
IMPVERS|4|18|0|
INTERE|4|18|0|
CSSN95CV|4|18|0|
INTERE2|4|18|0|
CNEFF|1|1|0|
RETCON|1|1|0|
IMPRIMB|4|18|0|
IMPVER|4|18|0|
INTIRPEF|4|18|0|
IMPVER2|4|18|0|
INTER|4|18|0|
STSIRPEF|4|18|0|
CONRIMB|4|18|0|
CONVER|4|18|0|
INTER2|4|18|0|
CONVER2|4|18|0|
INTER3|4|18|0|
STSCSSN70|4|18|0|
M730NLIQ|2|2|0|
CODCAAF|3|5|0|Codice del CAAF che ha prestato assistenza
1
CODDITTA+CODDIP+NPROG|

3
m770/f45.dir Executable file
View File

@ -0,0 +1,3 @@
45
1
m770/dipend|0|0|302|4|Dipendenti|#9||

30
m770/f45.trr Executable file
View File

@ -0,0 +1,30 @@
45
26
CODDITTA|3|5|0|Codice ditta
CODDIP|3|6|0|
CODFI|1|16|0|Codice fiscale
COGNOME|1|30|0|Cognome
NOME|1|20|0|Nome
SESSO|1|1|0|Sesso
DATANA|5|8|0|Data di nascita
COMUNENA|1|50|0|Comune di nascita
PROVNA|1|5|0|Provincia di nascita
COMRES|1|50|0|Comune di residenza
PROVRES|1|5|0|Provincia di residenza
INDRES|1|35|0|Indirizzo di residenza
QUALIFICA|2|2|0|Qualifica
STATOCIV|2|1|0|Stato civile
CODDIPDEC|3|6|0|
ASSFIS|2|1|0|
CODEREDE0|3|6|0|Codice erede 1
CODEREDE1|3|6|0|Codice erede 2
CODEREDE2|3|6|0|Codice erede 3
CODEREDE3|3|6|0|Codice erede 4
CODEREDE4|3|6|0|Codice erede 5
CODEREDE5|3|6|0|Codice erede 6
CODEREDE6|3|6|0|Codice erede 7
CODEREDE7|3|6|0|Codice erede 8
CODEREDE8|3|6|0|Codice erede 9
CODEREDE9|3|6|0|Codice erede 10
1
CODDITTA+CODDIP|

3
m770/f46.dir Executable file
View File

@ -0,0 +1,3 @@
46
1
m770/detth|0|0|86|4|Dettaglio quadro h|#9*2||

13
m770/f46.trr Executable file
View File

@ -0,0 +1,13 @@
46
9
CODDITTA|3|5|0|
ANNO|2|4|0|
ENTE|2|2|0|
DATAVERS|5|8|0|
NUMVERS|3|5|0|
NREGINOTA|3|7|0|
IMPVERS|4|18|2|
CONTRDAT|4|18|2|
CONTRLAV|4|18|2|
1
CODDITTA+ANNO+ENTE+DATAVERS+NUMVERS|

3
m770/f56.dir Executable file
View File

@ -0,0 +1,3 @@
56
1
m770/quadroa1|0|0|252|4|Quadro A1 770|||

25
m770/f56.trr Executable file
View File

@ -0,0 +1,25 @@
56
21
CODDITTA|3|5|0|Codice ditta della dichiarazione
CODDIP|3|6|0|
NPROG|2|3|0|Numero progressivo del rigo
MESERIF|2|2|0|
ANNORIF|2|4|0|
IMPRIMB9|4|18|0|Saldo IRPEF per il 93: imposta rimborsata
IMPVERS10|4|18|0|Saldo IRPEF per il 93: imposta versata
INTER11|4|18|0|Saldo IRPEF per il 93: interessi
IMPVERS12|4|18|0|Prima rata acconto IRPEF per il 94: imposta versata
INTER13|4|18|0|Prima rata acconto IRPEF per il 94: interessi
STASSA14|4|18|0|Prima rata acconto IRPEF per il 94: soprattassa IRPEF 93 e prima rata 94
CONTRIMB15|4|18|0|Saldo C.S.S.N. 93: contributo a rimborso
CONTVERS16|4|18|0|Saldo C.S.S.N. 93: contributo versato
INTER17|4|18|0|Saldo C.S.S.N. 93: interessi
CONTVER18|4|18|0|Prima rata acconto C.S.S.N. 94: contributo versato
INTER19|4|18|0|Prima rata acconto C.S.S.N. 94: interessi
STASSA20|4|18|0|Prima rata acconto C.S.S.N. 94: soprattassa su C.S.S.N.
CONNEFF21|1|1|0|Conguagli non effettuati <A> <B> <D> <E> <F>
TIPOCONG22|1|1|0|Tipo conguaglio <R> <T> <S> <U>
CODCAAF|3|5|0|Codice CAAF che ha prestato assistenza
DATARIC26|5|8|0|
1
CODDITTA+CODDIP+NPROG|

3
m770/f57.dir Executable file
View File

@ -0,0 +1,3 @@
57
1
m770/quadroa2|0|0|240|4|Quadro A2 770|||

23
m770/f57.trr Executable file
View File

@ -0,0 +1,23 @@
57
19
CODDITTA|3|5|0|Codice ditta della dichiarazione
CODDIP|3|6|0|
NPROG|2|3|0|Numero progressivo del rigo
CONEFF|1|1|0|
RETCON|1|1|0|
SIRPEFRIMB|4|18|0|
VIRPEF|4|18|0|
INTIRPEF|4|18|0|
AIRPEFIV|4|18|0|
AIRPEFINT|4|18|0|
STASSA15|4|18|0|
CONTR16|4|18|0|
CONTRVER|4|18|0|
INTER18|4|18|0|
CONTV19|4|18|0|
INTE20|4|18|0|
SOPRAT21|4|18|0|
M730NLIQ|2|2|0|
CODCAAF|3|5|0|Codice CAAF che ha prestato assistenza
1
CODDITTA+CODDIP+NPROG|

3
m770/f58.dir Executable file
View File

@ -0,0 +1,3 @@
58
1
m770/quadroa3|0|0|66|4|Quadro A3 770|||

12
m770/f58.trr Executable file
View File

@ -0,0 +1,12 @@
58
8
CODDITTA|3|5|0|Codice ditta della dichiarazione
NPROG|2|4|0|Numero progressivo riga per ditta
CODDIP|3|6|0|
DIRAPTI|5|8|0|Data inizio rapporto a tempo indeterminato
NGINC15|2|3|0|Numero giorni in incremento
REDCOR16|4|18|0|Reddito corrisposto
NGINC17|2|3|0|Numero giorni in incremento
REDCOR18|4|18|0|Reddito corrisposto
1
CODDITTA+NPROG+CODDIP|

3
m770/f59.dir Executable file
View File

@ -0,0 +1,3 @@
59
1
m770/quadrob|0|0|470|4|Quadro B 770|||

45
m770/f59.trr Executable file
View File

@ -0,0 +1,45 @@
59
41
CODDITTA|3|5|0|Codice ditta
CODDIP|3|6|0|Codice dipendente
NPROG|2|4|0|Progressivo
DATAINI|5|8|0|Data inizio rapporto di lavoro
DATAFIN|5|8|0|Data fine rapporto di lavoro
ANNICOMM|2|2|0|Periodo di commisurazione - anni
MESICOMM|2|2|0|Periodo di commisurazione - mesi
ANNICONV|2|2|0|Periodo convenzionale - anni
MESICONV|2|2|0|Periodo convenzionale - mesi
ANNIPARZ|2|2|0|Tempo parziale - anni
MESIPARZ|2|2|0|Tempo parziale - mesi
PERCPARZ|4|6|2|Tempo parziale - percentuale
QUOTAECC|4|18|0|Quota eccedente
MESEEROG|2|2|0|Mese erogazione - 95
TITEROG|1|1|0|Titolo erogazione - 95
PERCABB|4|6|2|Percentuale abbattimento - altre indennita' 95
AMMNETTO|4|18|0|Ammontare netto
MESEEROG2|2|2|0|Mese erogazione - altre indennita' 95
TITEROG2|1|1|0|Titolo erogazione - altre indennita' 95
ABBATT|4|18|0|
AMMNETTO2|4|18|0|Ammontare netto - altre indennita' 95
CONTLAV|4|18|0|Contributi obbligatori a carico del lavoratore
TFR7494|4|18|0|TFR o indennita' equipollente
INDEN7494|4|18|0|Altre indennita'
TIND7494|4|18|0|Totale indennita'
TRID|4|18|0|Totale riduzioni
TFRIND|4|18|0|TFR o indennita' equipollenti per reddito di riferimento
ALIQUOTA|4|6|2|Aliquota
RETRMEDIA|4|18|0|Retribuzione media biennio precedente
ALIQUOTA2|4|6|2|Aliquota
IMPTFR|4|18|0|Imponibile TFR
IMPIND|4|18|0|Imponibile altre indennita'
IMPANNO|4|18|0|Imponibile dell'anno
TOTIMP|4|18|0|Totale reddito imponibile
ROPEACC|4|18|0|Ritenute operate su acconti e anticipazioni erogati dal 74 al 94
IMPDOV|4|18|0|Imposta dovuta
RITECC|4|18|0|Ritenute fiscali operate in eccedenza
QUOTASPET|4|18|0|Quota spettante
INDSPETT|4|18|0|Indennita' spettante
ROPE|4|18|0|Ritenute operate
IMPOCSSN|4|18|0|Imponibile C.S.S.N.
1
CODDITTA+CODDIP+NPROG|

3
m770/f60.dir Executable file
View File

@ -0,0 +1,3 @@
60
1
m770/quadrob1|0|0|196|4|Quadro B1 770|||

17
m770/f60.trr Executable file
View File

@ -0,0 +1,17 @@
60
13
CODDITTA|3|5|0|Codice ditta
CODDIP|3|6|0|Codice dipendente
NPROG|2|4|0|Progressivo
INDEN|4|18|0|Ammontare delle indennita' di anzianita', di previdenza
AMMIMP|4|18|0|Ammontare imponibile
IMP4|4|18|0|Imponibile al 4%
IMP8|4|18|0|Imponibile al 8%
IMP10|4|18|0|Imponibile al 10%
IMP12|4|18|0|Imponibile al 12%
IMP15|4|18|0|Imponibile al 15%
IMPNETTO|4|18|0|Ammontare imponibile al netto anche delle rit. di ricchezza mobile
IMPO15|4|18|0|Imponibile al 1,5%
IMPO4|4|18|0|Imponibile al 4%
1
CODDITTA+CODDIP+NPROG|

3
m770/f61.dir Executable file
View File

@ -0,0 +1,3 @@
61
1
m770/quadroc|0|0|132|4|Quadro C 770|||

16
m770/f61.trr Executable file
View File

@ -0,0 +1,16 @@
61
12
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
TOTALE|4|18|0|
CONTSSN|4|18|0|
SOMME|4|18|0|
IMPONIBILE|4|18|0|
RITENUTE|4|18|0|
NETTO|4|18|0|
PERC|4|6|2|
1
CODDITTA+TIPOA+CODANAGR+NPROG|

3
m770/f62.dir Executable file
View File

@ -0,0 +1,3 @@
62
1
m770/quadrod|0|0|114|4|Quadro D 770|||

15
m770/f62.trr Executable file
View File

@ -0,0 +1,15 @@
62
11
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
TOTALE|4|18|0|
SOMME|4|18|0|
IMPONIBILE|4|18|0|
PERC|4|6|2|
IMPORTO|4|18|0|
NETTO|4|18|0|
1
CODDITTA+TIPOA+CODANAGR+NPROG|

3
m770/f63.dir Executable file
View File

@ -0,0 +1,3 @@
63
1
m770/quadrod1|0|0|132|4|Quadro D1 770|||

16
m770/f63.trr Executable file
View File

@ -0,0 +1,16 @@
63
12
CODDITTA|3|5|0|0
TIPOA|1|1|0|0
CODANAGR|3|5|0|0
NPROG|2|4|0|0
CODCAUS|9|2|0|0
TOTALE|4|18|0|0
QUOTAPRO|4|18|0|0
SPESEANT|4|18|0|0
IMPONIBILE|4|18|0|0
PERC|4|6|2|2
IMPORTO|4|18|0|0
NETTO|4|18|0|0
1
CODDITTA+TIPOA+CODANAGR+NPROG|

3
m770/f64.dir Executable file
View File

@ -0,0 +1,3 @@
64
1
m770/quadroe|0|0|96|4|Quadro E 770|||

14
m770/f64.trr Executable file
View File

@ -0,0 +1,14 @@
64
10
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
IMPONIBILE|4|18|0|
PERC|4|6|2|
IMPORTO|4|18|0|
NETTO|4|18|0|
SOMME|4|18|0|
1
CODDITTA+TIPOA+CODANAGR+NPROG|

3
m770/f65.dir Executable file
View File

@ -0,0 +1,3 @@
65
1
m770/quadroe1|0|0|96|4|Quadro E1 770|||

14
m770/f65.trr Executable file
View File

@ -0,0 +1,14 @@
65
10
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
AMMONTARE|4|18|0|
PERC|4|6|2|
IMPORTO|4|18|0|
NETTO|4|18|0|
SOMME|4|18|0|
1
CODDITTA+TIPOA+CODANAGR+NPROG|

3
m770/f66.dir Executable file
View File

@ -0,0 +1,3 @@
66
1
m770/quadroe2|0|0|60|4|Quadro E2 770|||

12
m770/f66.trr Executable file
View File

@ -0,0 +1,12 @@
66
8
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
SOGGRIT|4|18|0|
PERC|4|6|2|
ROPE|4|18|0|
1
CODDITTA+TIPOA+CODANAGR+NPROG|

3
m770/f67.dir Executable file
View File

@ -0,0 +1,3 @@
67
1
m770/quadrof|0|0|182|4|Quadro F 770|||

17
m770/f67.trr Executable file
View File

@ -0,0 +1,17 @@
67
13
CODDITTA|3|5|0|
F_CODCAUS|9|2|0|
A1|4|18|0|
A2|4|18|0|
A3|4|18|0|
A4|4|18|0|
E_CAMBIALI|4|18|0|
E_ALIQUOTA|4|6|2|
E_SOGRIT|4|18|0|
E_ROPE|4|18|0|
F_ROPE|4|18|0|
F_SOGRIT|4|18|0|
F_ALIQUOTA|4|6|2|
1
CODDITTA|

3
m770/f68.dir Executable file
View File

@ -0,0 +1,3 @@
68
1
m770/quadrof1|0|0|44|4|Quadro F1 770|||

8
m770/f68.trr Executable file
View File

@ -0,0 +1,8 @@
68
4
CODDITTA|3|5|0|0
F_CODCAUS|9|2|0|0
F1_A1|4|18|0|0
F1_A2|4|18|0|0
1
CODDITTA|

3
m770/f69.dir Executable file
View File

@ -0,0 +1,3 @@
69
1
m770/quadrof2|0|0|6|4|Quadro F2 770|||

5
m770/f69.trr Executable file
View File

@ -0,0 +1,5 @@
69
1
CODDITTA|3|5|0|0
1
CODDITTA|

3
m770/f70.dir Executable file
View File

@ -0,0 +1,3 @@
70
1
m770/quadrog|0|0|2825|4|Quadro G 770|||

85
m770/f70.trr Executable file
View File

@ -0,0 +1,85 @@
70
81
CODDITTA|3|5|0|0
P1DATAD1|5|8|0|0
P1DATAD2|5|8|0|0
P1DATAD3|5|8|0|0
P1DATAD4|5|8|0|0
P1TITOLO1|1|18|0|0
P1TITOLO2|1|18|0|0
P1TITOLO3|1|18|0|0
P1TITOLO4|1|18|0|0
P1DATAP1|5|8|0|0
P1DATAP2|5|8|0|0
P1DATAP3|5|8|0|0
P1DATAP4|5|8|0|0
P1AMMQ1|4|18|0|0
P1AMMQ2|4|18|0|0
P1AMMQ3|4|18|0|0
P1AMMQ4|4|18|0|0
P1NUMQ1|3|9|0|0
P1NUMQ2|3|9|0|0
P1NUMQ3|3|9|0|0
P1NUMQ4|3|9|0|0
P1AMM1|4|18|0|0
P1AMM2|4|18|0|0
P1AMM3|4|18|0|0
P1AMM4|4|18|0|0
P1NUMQT|3|10|0|0
P1AMMT|4|18|0|0
P2DATADE|5|8|0|0
P2DATADI|5|8|0|0
P2DESC1|1|35|0|0
P2DESC2|1|35|0|0
P2DESC3|1|35|0|0
P2DATA1|5|8|0|0
P2DATA2|5|8|0|0
P2DATA3|5|8|0|0
P2VAL1|4|18|0|0
P2VAL2|4|18|0|0
P2VAL3|4|18|0|0
P2VALT|4|18|0|0
P2IMPQ|4|18|0|0
P22|1|100|0|0
P23|1|100|0|0
P24|1|100|0|0
P25|1|100|0|0
P26|1|100|0|0
P22TOT|4|18|0|0
P23TOT|4|18|0|0
P24TOT|4|18|0|0
P25TOT|4|18|0|0
P26TOT|4|18|0|0
P33A|1|200|0|0
P33B|1|200|0|0
P33TOT|4|18|0|0
P35A|1|200|0|0
P35B|1|200|0|0
P35TOT|4|18|0|0
P36A|1|200|0|0
P36B|1|200|0|0
P36TOT|4|18|0|0
P321|4|18|0|0
P322|4|18|0|0
P323|4|18|0|0
P324|4|18|0|0
P325|4|18|0|0
P32TOT|4|18|0|0
P371|4|18|0|0
P372|4|18|0|0
P373|4|18|0|0
P374|4|18|0|0
P375|4|18|0|0
P37TOT|4|18|0|0
P421|4|18|0|0
P422|4|18|0|0
P423|4|18|0|0
P424|4|18|0|0
P425|4|18|0|0
P426|4|18|0|0
P427|4|18|0|0
P428|4|18|0|0
P429|4|18|0|0
P42TOT|4|18|0|0
1
CODDITTA|

3
m770/f71.dir Executable file
View File

@ -0,0 +1,3 @@
71
1
m770/quadrog1|0|0|696|4|Quadro G1 770|||

16
m770/f71.trr Executable file
View File

@ -0,0 +1,16 @@
71
12
CODDITTA|3|5|0|
P12|1|100|0|
P13|1|100|0|
P14|1|100|0|
P15|1|100|0|
P16|1|100|0|
P17|1|100|0|
P12TOT|4|18|0|
P13TOT|4|18|0|
P15TOT|4|18|0|
P16TOT|4|18|0|
P17TOT|4|18|0|
1
CODDITTA|

3
m770/f72.dir Executable file
View File

@ -0,0 +1,3 @@
72
1
m770/quadron|0|0|52|4|Quadro N 770|||

10
m770/f72.trr Executable file
View File

@ -0,0 +1,10 @@
72
6
CODDITTA|3|5|0|Codice ditta
NPROG|2|4|0|Progressivo
MESERIF|2|2|0|Periodo di riferimento - Mese
ANNORIF|2|4|0|Periodo di riferimento - Anno
IMPOSTA|4|18|0|Imposta rimborsata
COMPENSI|4|18|0|Compensi per l'assistenza
1
CODDITTA+NPROG|

3
m770/f73.dir Executable file
View File

@ -0,0 +1,3 @@
73
1
m770/quadrop|0|0|93|4|Quadro P 770||BÇG¢|

14
m770/f73.trr Executable file
View File

@ -0,0 +1,14 @@
73
10
CODDITTA|3|5|0|Codice ditta
NPROG|2|4|0|Progressivo
IMPOSTA|4|18|0|Imposta o soprattassa versata
INTERDIP|4|18|0|Interessi a carico del lavoratore dipendente
INTERDAT|4|18|0|Interessi a carico del datore di lavoro
TIPOVERS|1|1|0|Modalità di versamento
CODTRIB|2|4|0|Codice tributo
DATAVERS|5|8|0|Data di versamento
NUMERO|1|11|0|Numero Quietanza/CAB/Numero Bollettino
SERIE|1|5|0|Serie/ABI
1
CODDITTA+NPROG|

3
m770/f74.dir Executable file
View File

@ -0,0 +1,3 @@
74
1
m770/quadroq|0|0|71|4|Quadro Q 770||BÇG¢|

12
m770/f74.trr Executable file
View File

@ -0,0 +1,12 @@
74
8
CODDITTA|3|5|0|Codice ditta
NPROG|2|4|0|Progressivo
MESEPAG|2|2|0|Periodo di paga - Mese
ANNOPAG|2|4|0|Periodo di paga - Anno
CONTVERS|4|18|0|Contributo versato
CONTRIMB|4|18|0|Contributo rimborsato
INTERESSI|4|18|0|Interessi e/o soprattasse
CODREG|1|1|0|Codice regione
1
CODDITTA+NPROG|

3
m770/f75.dir Executable file
View File

@ -0,0 +1,3 @@
75
1
m770/quadror|0|0|52|4|Quadro R 770|||

10
m770/f75.trr Executable file
View File

@ -0,0 +1,10 @@
75
6
CODDITTA|3|5|0|Codice ditta
NPROG|2|4|0|Progressivo
MESERIF|2|2|0|Periodo di riferimento - Mese
ANNORIF|2|4|0|Periodo di riferimento - Anno
IMPRIMB|4|18|0|Imposta rimborsata
COMPENSI|4|18|0|Compensi per l'assistenza
1
CODDITTA+NPROG|

3
m770/f76.dir Executable file
View File

@ -0,0 +1,3 @@
76
1
m770/quadros|0|0|93|4|Quadro S 770|||

14
m770/f76.trr Executable file
View File

@ -0,0 +1,14 @@
76
10
CODDITTA|3|5|0|Codice ditta
NPROG|2|4|0|Progressivo
IMPOSTA|4|18|0|Imposta o soprattassa versata
INTERDIP|4|18|0|Interessi a carico del lavoratore dipendente
INTERDAT|4|18|0|Interessi a carico del datore di lavoro
TIPOVERS|1|1|0|Modalità di versamento
CODTRIB|2|4|0|Codice tributo
DATAVERS|5|8|0|Data di versamento
NUMERO|1|11|0|Numero Quietanza/CAB/Numero Bollettino
SERIE|1|5|0|Serie/ABI
1
CODDITTA+NPROG|

3
m770/f77.dir Executable file
View File

@ -0,0 +1,3 @@
77
1
m770/quadrot|0|0|71|4|Quadro T 770|||

12
m770/f77.trr Executable file
View File

@ -0,0 +1,12 @@
77
8
CODDITTA|3|5|0|Codice ditta
NPROG|2|4|0|Progressivo
MESEPAG|2|2|0|Periodo di paga - Mese
ANNOPAG|2|4|0|Periodo di paga - Anno
CONTVERS|4|18|0|Contributo versato
CONTRIMB|4|18|0|Contributo rimborsato
INTERESSI|4|18|0|Interessi e/o soprattasse
CODREG|1|1|0|Codice regione
1
CODDITTA+NPROG|

3
m770/f89.dir Executable file
View File

@ -0,0 +1,3 @@
89
1
m770/prospe1|0|0|62|4|Prospetto E1 770|||

9
m770/f89.trr Executable file
View File

@ -0,0 +1,9 @@
89
5
CODDITTA|3|5|0|0
CODCAUS|9|2|0|0
COMPENSO|4|18|0|0
IMPONIBILE|4|18|0|0
RITENUTA|4|18|0|0
1
CODDITTA+CODCAUS|

3
m770/f98.dir Executable file
View File

@ -0,0 +1,3 @@
98
1
m770/righef|0|0|107|4|Righe F modello 770|||

14
m770/f98.trr Executable file
View File

@ -0,0 +1,14 @@
98
10
CODDITTA|3|5|0|
TIPOPRO|7|1|0|
NPROG|2|2|0|
CODCAUS|9|2|0|
ALIQUOTA|4|6|2|
SOGRIT|4|18|0|
ROPE|4|18|0|
ACCONTI|4|18|0|
VERSALDO|4|18|0|
VERSECC|4|18|0|
1
CODDITTA+TIPOPRO+NPROG|

3
m770/f99.dir Executable file
View File

@ -0,0 +1,3 @@
99
1
m770/righef1|0|0|53|4|Righe F1 del modello 770|||

11
m770/f99.trr Executable file
View File

@ -0,0 +1,11 @@
99
7
CODDITTA|3|5|0|
TIPOPRO|7|1|0|
NPROG|2|2|0|
CODCAUS|9|2|0|
ALIQUOTA|4|6|2|
SOGRIT|4|18|0|
ROPE|4|18|0|
1
CODDITTA+TIPOPRO+NPROG|

View File

@ -1,176 +1,181 @@
#include "resetfil.h"
///////////////////////////////////////////////////////////
// TResetfile
///////////////////////////////////////////////////////////
TResetfile::TResetfile(int logicnum, bool remove)
: _file_num(logicnum), _removerec(remove),
_validate_record_function(NULL),
_validate_field_function(NULL),
_before_reset_function(NULL),
_after_reset_function(NULL)
{
// oggetto file da azzerare
_file = new TSystemisamfile(_file_num);
}
TResetfile::~TResetfile()
{
// pack file se richiesto rimozione record
if(_removerec)
_file->pack();
delete _file;
}
// @doc INTERNAL
// @mfunc ritorna se il campo <p fd> è un campo chiave
bool TResetfile::iskeyfield(const RecDes& recd, const int fd) const
{
// inizializzo risultato da restituire
bool found = FALSE;
// loop di scansione delle chiavi del file
for (int i = 0; i < recd.NKeys && !found; i++)
{
// Elenco dei campi della chiave
const KeyDes& keyd = recd.Ky[i];
// loop di scansione dei campi della chiave
for (int j = 0; j < keyd.NkFields && !found; j++)
if (fd == keyd.FieldSeq[j] % MaxFields)
found = TRUE;
}
return found;
}
// @doc INTERNAL
// @mfunc carica l'array <p resetable_fields> con i campi da azzerare
// @rfunc ritorna il numero di campi caricati
int TResetfile::load_resetable_fields(const RecDes& recd,
TString_array& resetable_fields)
{
// inizializzo numero campi da restituire
int numfld = 0;
for (int i = 0; i < recd.NFields; i++)
{
// non azzero i campi chiave
if (iskeyfield(recd, i))
continue;
// Descrittore campo
RecFieldDes& fieldd = recd.Fd[i];
// non azzero i campi indefiniti
if (fieldd.TypeF == _nullfld)
continue;
// aggiungo campo da azzerare all'array
resetable_fields.add(fieldd.Name,numfld++);
}
return numfld;
}
// @doc EXTERNAL
// @mfunc esegue l'azzeramento del file
// @rfunc ritorna il codice errore relativo ad operazioni sul file
int TResetfile::run()
{
// codice errore
int err;
// numero campi da azzerare
int num_resetable_fields;
// Apertura file con bloccaggio
err = _file->open(_excllock);
if (err != NOERR)
return err;
// riferimento a record corrente
TRectype& rec = _file->curr();
// Descrittore record
const RecDes* recd = rec.rec_des();
// array dei campi da azzerare
TString_array resetable_fields(recd->NFields);
// riempimento array dei campi da azzerare
if (!_removerec)
num_resetable_fields = load_resetable_fields(*recd, resetable_fields);
// reperimento nome file file
const char* desfile = _file->description();
// composizione testo per indicatore progressivo
TString testo;
testo.format("Azzeramento %s", desfile);
// inizializzazione indice massimo e parziale per indicatore progressivo
const long pmax = _file->items();
long pi = 0L;
// istanza indicatore progressivo per avanzamento azzeramento
TProgind p(pmax, testo, FALSE, TRUE);
// loop di scansione file da azzerare
for (err = _file->first(); err == NOERR; err = _file->next())
{
// incremento indicatore progressivo
p.addstatus(1);
pi++;
// richiamo handler VALIDATE_RECORD
if (_validate_record_function)
if (!_validate_record_function(rec))
continue;
// richiamo handler BEFORE_RESET
if (_before_reset_function)
_before_reset_function(rec);
// rimozione del record
if(_removerec)
_file->remove();
// azzeramento del record
else
{
// loop di scansione campi da azzerare
for (int i = 0; i < num_resetable_fields; i++)
{
// richiamo handler VALIDATE_FIELD
if (_validate_field_function)
if (!_validate_field_function(rec, resetable_fields.row(i)))
continue;
// azzeramento campi
rec.zero(resetable_fields.row(i));
}
}
// richiamo handler AFTER_RESET
if (_after_reset_function)
_after_reset_function(rec);
// registrazione record
if(!_removerec)
_file->rewrite();
}
// rabbocco indicatore progressivo
p.addstatus(pmax-pi);
// chiusura file
_file->close();
return err;
}
#include "resetfil.h"
///////////////////////////////////////////////////////////
// TResetfile
///////////////////////////////////////////////////////////
TResetfile::TResetfile(int logicnum, bool remove)
: _file_num(logicnum), _removerec(remove),
_validate_record_function(NULL),
_validate_field_function(NULL),
_before_reset_function(NULL),
_after_reset_function(NULL),
_is_reseted(FALSE)
{
// oggetto file da azzerare
_file = new TSystemisamfile(_file_num);
}
TResetfile::~TResetfile()
{
// pack file se richiesto rimozione record
// e file azzerato
if(_removerec && _is_reseted)
_file->pack();
delete _file;
}
// @doc INTERNAL
// @mfunc ritorna se il campo <p fd> è un campo chiave
bool TResetfile::iskeyfield(const RecDes& recd, const int fd) const
{
// inizializzo risultato da restituire
bool found = FALSE;
// loop di scansione delle chiavi del file
for (int i = 0; i < recd.NKeys && !found; i++)
{
// Elenco dei campi della chiave
const KeyDes& keyd = recd.Ky[i];
// loop di scansione dei campi della chiave
for (int j = 0; j < keyd.NkFields && !found; j++)
if (fd == keyd.FieldSeq[j] % MaxFields)
found = TRUE;
}
return found;
}
// @doc INTERNAL
// @mfunc carica l'array <p resetable_fields> con i campi da azzerare
// @rfunc ritorna il numero di campi caricati
int TResetfile::load_resetable_fields(const RecDes& recd,
TString_array& resetable_fields)
{
// inizializzo numero campi da restituire
int numfld = 0;
for (int i = 0; i < recd.NFields; i++)
{
// non azzero i campi chiave
if (iskeyfield(recd, i))
continue;
// Descrittore campo
RecFieldDes& fieldd = recd.Fd[i];
// non azzero i campi indefiniti
if (fieldd.TypeF == _nullfld)
continue;
// aggiungo campo da azzerare all'array
resetable_fields.add(fieldd.Name,numfld++);
}
return numfld;
}
// @doc EXTERNAL
// @mfunc esegue l'azzeramento del file
// @rfunc ritorna il codice errore relativo ad operazioni sul file
int TResetfile::run()
{
// codice errore
int err;
// numero campi da azzerare
int num_resetable_fields;
// Apertura file con bloccaggio
err = _file->open(_excllock);
if (err != NOERR)
return err;
// riferimento a record corrente
TRectype& rec = _file->curr();
// Descrittore record
const RecDes* recd = rec.rec_des();
// array dei campi da azzerare
TString_array resetable_fields(recd->NFields);
// riempimento array dei campi da azzerare
if (!_removerec)
num_resetable_fields = load_resetable_fields(*recd, resetable_fields);
// reperimento nome file file
const char* desfile = _file->description();
// composizione testo per indicatore progressivo
TString testo;
testo.format("Azzeramento %s", desfile);
// inizializzazione indice massimo e parziale per indicatore progressivo
const long pmax = _file->items();
long pi = 0L;
// istanza indicatore progressivo per avanzamento azzeramento
TProgind p(pmax, testo, FALSE, TRUE);
// loop di scansione file da azzerare
for (err = _file->first(); err == NOERR; err = _file->next())
{
// incremento indicatore progressivo
p.addstatus(1);
pi++;
// richiamo handler VALIDATE_RECORD
if (_validate_record_function)
if (!_validate_record_function(rec))
continue;
// richiamo handler BEFORE_RESET
if (_before_reset_function)
_before_reset_function(rec);
// rimozione del record
if(_removerec)
_file->remove();
// azzeramento del record
else
{
// loop di scansione campi da azzerare
for (int i = 0; i < num_resetable_fields; i++)
{
// richiamo handler VALIDATE_FIELD
if (_validate_field_function)
if (!_validate_field_function(rec, resetable_fields.row(i)))
continue;
// azzeramento campi
rec.zero(resetable_fields.row(i));
}
}
// richiamo handler AFTER_RESET
if (_after_reset_function)
_after_reset_function(rec);
// registrazione record
if(!_removerec)
_file->rewrite();
}
// rabbocco indicatore progressivo
p.addstatus(pmax-pi);
// chiusura file
_file->close();
// file azzerato
_is_reseted = TRUE;
return err;
}

View File

@ -1,79 +1,81 @@
#ifndef __RESETFIL_H
#define __RESETFIL_H
#ifndef __ISAM_H
#include <isam.h>
#include <progind.h>
#endif
///////////////////////////////////////////////////////////
// TResetfile
///////////////////////////////////////////////////////////
// @doc EXTERNAL
// @type VALIDATE_RECORD | Prototipo funzione per validare se un record e' da azzerare.
typedef bool (*VALIDATE_RECORD)(const TRectype& rec);
// @type VALIDATE_FIELD | Prototipo funzione per validare se un campo e' da azzerare.
typedef bool (*VALIDATE_FIELD)(const TRectype& rec, const TString& fld);
// @type BEFORE_RESET | Prototipo funzione richiamata prima dell'azzeramento di un record.
typedef void (*BEFORE_RESET)(TRectype& rec);
// @type AFTER_RESET | Prototipo funzione richiamata dopo l'azzeramento di un record.
typedef void (*AFTER_RESET)(TRectype& rec);
// @class TResetfile | Classe per l'azzeramento di un file
//
// @base public | TObject
class TResetfile : public TObject
// @author:(INTERNAL) Luciano
// @access:(INTERNAL) Private Member
{
// @cmember:(INTERNAL) numero logico del file da azzerare
int _file_num;
// @cmember:(INTERNAL) file da azzerare
TSystemisamfile* _file;
// @cmember:(INTERNAL) effettuare remove dei record (default FALSE)
bool _removerec;
// @cmember:(INTERNAL) funzione di validate per azzerare un record
VALIDATE_RECORD _validate_record_function;
// @cmember:(INTERNAL) funzione di validate per azzerare un campo
VALIDATE_FIELD _validate_field_function;
// @cmember:(INTERNAL) funzione richiamata prima dell'azzeramento di un record
BEFORE_RESET _before_reset_function;
// @cmember:(INTERNAL) funzione richiamata dopo l'azzeramento di un record
AFTER_RESET _after_reset_function;
// @cmember:(INTERNAL) ritorna se il campo <p fd> è un campo chiave
bool iskeyfield(const RecDes& recd, const int fd) const;
// @cmember:(INTERNAL) ritorna e carica il numero campi da azzerare
int TResetfile::load_resetable_fields(const RecDes& recd,TString_array& resetable_fields);
// @access Public Member
public:
// @cmember setta la funzione di validate se record da azzerare
void set_validate_record_function(VALIDATE_RECORD fun)
{_validate_record_function = fun;}
// @cmember setta la funzione di validate se campo da azzerare
void set_validate_field_function(VALIDATE_FIELD fun)
{_validate_field_function = fun;}
// @cmember setta la funzione richiamata prima dell'azzeramento di un record
void set_before_reset_function(BEFORE_RESET fun)
{_before_reset_function = fun;}
// @cmember setta la funzione richiamata dopo l'azzeramento di un record
void set_after_reset_function(AFTER_RESET fun)
{_after_reset_function = fun;}
// @cmember esegue l'azzeramento del file
int run();
// @cmember Costruttore
TResetfile(int logicnum, bool remove = FALSE);
// @cmember Distruttore
virtual ~TResetfile();
};
#endif
#ifndef __RESETFIL_H
#define __RESETFIL_H
#ifndef __ISAM_H
#include <isam.h>
#include <progind.h>
#endif
///////////////////////////////////////////////////////////
// TResetfile
///////////////////////////////////////////////////////////
// @doc EXTERNAL
// @type VALIDATE_RECORD | Prototipo funzione per validare se un record e' da azzerare.
typedef bool (*VALIDATE_RECORD)(const TRectype& rec);
// @type VALIDATE_FIELD | Prototipo funzione per validare se un campo e' da azzerare.
typedef bool (*VALIDATE_FIELD)(const TRectype& rec, const TString& fld);
// @type BEFORE_RESET | Prototipo funzione richiamata prima dell'azzeramento di un record.
typedef void (*BEFORE_RESET)(TRectype& rec);
// @type AFTER_RESET | Prototipo funzione richiamata dopo l'azzeramento di un record.
typedef void (*AFTER_RESET)(TRectype& rec);
// @class TResetfile | Classe per l'azzeramento di un file
//
// @base public | TObject
class TResetfile : public TObject
// @author:(INTERNAL) Luciano
// @access:(INTERNAL) Private Member
{
// @cmember:(INTERNAL) numero logico del file da azzerare
int _file_num;
// @cmember:(INTERNAL) stato file : TRUE azzerato,FALSE non azzerato
bool _is_reseted;
// @cmember:(INTERNAL) file da azzerare
TSystemisamfile* _file;
// @cmember:(INTERNAL) effettuare remove dei record (default FALSE)
bool _removerec;
// @cmember:(INTERNAL) funzione di validate per azzerare un record
VALIDATE_RECORD _validate_record_function;
// @cmember:(INTERNAL) funzione di validate per azzerare un campo
VALIDATE_FIELD _validate_field_function;
// @cmember:(INTERNAL) funzione richiamata prima dell'azzeramento di un record
BEFORE_RESET _before_reset_function;
// @cmember:(INTERNAL) funzione richiamata dopo l'azzeramento di un record
AFTER_RESET _after_reset_function;
// @cmember:(INTERNAL) ritorna se il campo <p fd> è un campo chiave
bool iskeyfield(const RecDes& recd, const int fd) const;
// @cmember:(INTERNAL) ritorna e carica il numero campi da azzerare
int TResetfile::load_resetable_fields(const RecDes& recd,TString_array& resetable_fields);
// @access Public Member
public:
// @cmember setta la funzione di validate se record da azzerare
void set_validate_record_function(VALIDATE_RECORD fun)
{_validate_record_function = fun;}
// @cmember setta la funzione di validate se campo da azzerare
void set_validate_field_function(VALIDATE_FIELD fun)
{_validate_field_function = fun;}
// @cmember setta la funzione richiamata prima dell'azzeramento di un record
void set_before_reset_function(BEFORE_RESET fun)
{_before_reset_function = fun;}
// @cmember setta la funzione richiamata dopo l'azzeramento di un record
void set_after_reset_function(AFTER_RESET fun)
{_after_reset_function = fun;}
// @cmember esegue l'azzeramento del file
int run();
// @cmember Costruttore
TResetfile(int logicnum, bool remove = FALSE);
// @cmember Distruttore
virtual ~TResetfile();
};
#endif