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:
parent
71bc283eb7
commit
a7d9d26979
17
m770/770.mnu
Executable file
17
m770/770.mnu
Executable 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"
|
415
m770/774300.cpp
415
m770/774300.cpp
@ -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[])
|
||||
|
@ -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
|
||||
|
@ -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
3
m770/f100.dir
Executable file
@ -0,0 +1,3 @@
|
||||
100
|
||||
1
|
||||
m770/righef2|0|0|53|4|Righe F2 modello 770|||
|
11
m770/f100.trr
Executable file
11
m770/f100.trr
Executable 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
3
m770/f101.dir
Executable file
@ -0,0 +1,3 @@
|
||||
101
|
||||
1
|
||||
m770/quadrogd|0|0|106|4|Distinta G modello 770|||
|
13
m770/f101.trr
Executable file
13
m770/f101.trr
Executable 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
3
m770/f102.dir
Executable file
@ -0,0 +1,3 @@
|
||||
102
|
||||
1
|
||||
m770/soctrasf|0|0|196|4|Societa' trasformate modello 770|||
|
19
m770/f102.trr
Executable file
19
m770/f102.trr
Executable 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
3
m770/f117.dir
Executable file
@ -0,0 +1,3 @@
|
||||
117
|
||||
1
|
||||
m770/stazz|0|0|37|4|Storico azzeramenti modello 770|||
|
9
m770/f117.trr
Executable file
9
m770/f117.trr
Executable 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
3
m770/f36.dir
Executable file
@ -0,0 +1,3 @@
|
||||
36
|
||||
1
|
||||
m770/base|0|0|1209|4|Base modello 770|#9||
|
100
m770/f36.trr
Executable file
100
m770/f36.trr
Executable 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
3
m770/f37.dir
Executable file
@ -0,0 +1,3 @@
|
||||
37
|
||||
1
|
||||
m770/basebis|0|0|1272|4|Base modello 770|#36||
|
91
m770/f37.trr
Executable file
91
m770/f37.trr
Executable 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
3
m770/f38.dir
Executable file
@ -0,0 +1,3 @@
|
||||
38
|
||||
1
|
||||
m770/perc|0|0|31|4|Dati percipienti|#6||
|
9
m770/f38.trr
Executable file
9
m770/f38.trr
Executable 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
3
m770/f39.dir
Executable file
@ -0,0 +1,3 @@
|
||||
39
|
||||
1
|
||||
m770/schper|0|0|148|4|Schede percipienti|#9||
|
21
m770/f39.trr
Executable file
21
m770/f39.trr
Executable 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
3
m770/f40.dir
Executable file
@ -0,0 +1,3 @@
|
||||
40
|
||||
1
|
||||
m770/rver|0|0|71|4|Righe di versamento|#9||
|
17
m770/f40.trr
Executable file
17
m770/f40.trr
Executable 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
3
m770/f41.dir
Executable file
@ -0,0 +1,3 @@
|
||||
41
|
||||
1
|
||||
m770/rpag|0|0|165|4|Righe di pagamento|#9||
|
19
m770/f41.trr
Executable file
19
m770/f41.trr
Executable 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
3
m770/f42.dir
Executable file
@ -0,0 +1,3 @@
|
||||
42
|
||||
1
|
||||
m770/quadrol|0|0|91|4|Quadro L modello 770|#9||
|
20
m770/f42.trr
Executable file
20
m770/f42.trr
Executable 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
3
m770/f43.dir
Executable file
@ -0,0 +1,3 @@
|
||||
43
|
||||
1
|
||||
m770/quadroh|0|0|48|4|Quadro h modello 770|#9||
|
9
m770/f43.trr
Executable file
9
m770/f43.trr
Executable 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
3
m770/f44.dir
Executable file
@ -0,0 +1,3 @@
|
||||
44
|
||||
1
|
||||
m770/quadroa|0|0|922|4|Quadro A modello 770|#9||
|
67
m770/f44.trr
Executable file
67
m770/f44.trr
Executable 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
3
m770/f45.dir
Executable file
@ -0,0 +1,3 @@
|
||||
45
|
||||
1
|
||||
m770/dipend|0|0|302|4|Dipendenti|#9||
|
30
m770/f45.trr
Executable file
30
m770/f45.trr
Executable 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
3
m770/f46.dir
Executable file
@ -0,0 +1,3 @@
|
||||
46
|
||||
1
|
||||
m770/detth|0|0|86|4|Dettaglio quadro h|#9*2||
|
13
m770/f46.trr
Executable file
13
m770/f46.trr
Executable 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
3
m770/f56.dir
Executable file
@ -0,0 +1,3 @@
|
||||
56
|
||||
1
|
||||
m770/quadroa1|0|0|252|4|Quadro A1 770|||
|
25
m770/f56.trr
Executable file
25
m770/f56.trr
Executable 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
3
m770/f57.dir
Executable file
@ -0,0 +1,3 @@
|
||||
57
|
||||
1
|
||||
m770/quadroa2|0|0|240|4|Quadro A2 770|||
|
23
m770/f57.trr
Executable file
23
m770/f57.trr
Executable 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
3
m770/f58.dir
Executable file
@ -0,0 +1,3 @@
|
||||
58
|
||||
1
|
||||
m770/quadroa3|0|0|66|4|Quadro A3 770|||
|
12
m770/f58.trr
Executable file
12
m770/f58.trr
Executable 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
3
m770/f59.dir
Executable file
@ -0,0 +1,3 @@
|
||||
59
|
||||
1
|
||||
m770/quadrob|0|0|470|4|Quadro B 770|||
|
45
m770/f59.trr
Executable file
45
m770/f59.trr
Executable 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
3
m770/f60.dir
Executable file
@ -0,0 +1,3 @@
|
||||
60
|
||||
1
|
||||
m770/quadrob1|0|0|196|4|Quadro B1 770|||
|
17
m770/f60.trr
Executable file
17
m770/f60.trr
Executable 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
3
m770/f61.dir
Executable file
@ -0,0 +1,3 @@
|
||||
61
|
||||
1
|
||||
m770/quadroc|0|0|132|4|Quadro C 770|||
|
16
m770/f61.trr
Executable file
16
m770/f61.trr
Executable 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
3
m770/f62.dir
Executable file
@ -0,0 +1,3 @@
|
||||
62
|
||||
1
|
||||
m770/quadrod|0|0|114|4|Quadro D 770|||
|
15
m770/f62.trr
Executable file
15
m770/f62.trr
Executable 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
3
m770/f63.dir
Executable file
@ -0,0 +1,3 @@
|
||||
63
|
||||
1
|
||||
m770/quadrod1|0|0|132|4|Quadro D1 770|||
|
16
m770/f63.trr
Executable file
16
m770/f63.trr
Executable 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
3
m770/f64.dir
Executable file
@ -0,0 +1,3 @@
|
||||
64
|
||||
1
|
||||
m770/quadroe|0|0|96|4|Quadro E 770|||
|
14
m770/f64.trr
Executable file
14
m770/f64.trr
Executable 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
3
m770/f65.dir
Executable file
@ -0,0 +1,3 @@
|
||||
65
|
||||
1
|
||||
m770/quadroe1|0|0|96|4|Quadro E1 770|||
|
14
m770/f65.trr
Executable file
14
m770/f65.trr
Executable 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
3
m770/f66.dir
Executable file
@ -0,0 +1,3 @@
|
||||
66
|
||||
1
|
||||
m770/quadroe2|0|0|60|4|Quadro E2 770|||
|
12
m770/f66.trr
Executable file
12
m770/f66.trr
Executable 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
3
m770/f67.dir
Executable file
@ -0,0 +1,3 @@
|
||||
67
|
||||
1
|
||||
m770/quadrof|0|0|182|4|Quadro F 770|||
|
17
m770/f67.trr
Executable file
17
m770/f67.trr
Executable 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
3
m770/f68.dir
Executable file
@ -0,0 +1,3 @@
|
||||
68
|
||||
1
|
||||
m770/quadrof1|0|0|44|4|Quadro F1 770|||
|
8
m770/f68.trr
Executable file
8
m770/f68.trr
Executable 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
3
m770/f69.dir
Executable file
@ -0,0 +1,3 @@
|
||||
69
|
||||
1
|
||||
m770/quadrof2|0|0|6|4|Quadro F2 770|||
|
5
m770/f69.trr
Executable file
5
m770/f69.trr
Executable file
@ -0,0 +1,5 @@
|
||||
69
|
||||
1
|
||||
CODDITTA|3|5|0|0
|
||||
1
|
||||
CODDITTA|
|
3
m770/f70.dir
Executable file
3
m770/f70.dir
Executable file
@ -0,0 +1,3 @@
|
||||
70
|
||||
1
|
||||
m770/quadrog|0|0|2825|4|Quadro G 770|||
|
85
m770/f70.trr
Executable file
85
m770/f70.trr
Executable 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
3
m770/f71.dir
Executable file
@ -0,0 +1,3 @@
|
||||
71
|
||||
1
|
||||
m770/quadrog1|0|0|696|4|Quadro G1 770|||
|
16
m770/f71.trr
Executable file
16
m770/f71.trr
Executable 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
3
m770/f72.dir
Executable file
@ -0,0 +1,3 @@
|
||||
72
|
||||
1
|
||||
m770/quadron|0|0|52|4|Quadro N 770|||
|
10
m770/f72.trr
Executable file
10
m770/f72.trr
Executable 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
3
m770/f73.dir
Executable file
@ -0,0 +1,3 @@
|
||||
73
|
||||
1
|
||||
m770/quadrop|0|0|93|4|Quadro P 770||BÇG¢|
|
14
m770/f73.trr
Executable file
14
m770/f73.trr
Executable 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
3
m770/f74.dir
Executable file
@ -0,0 +1,3 @@
|
||||
74
|
||||
1
|
||||
m770/quadroq|0|0|71|4|Quadro Q 770||BÇG¢|
|
12
m770/f74.trr
Executable file
12
m770/f74.trr
Executable 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
3
m770/f75.dir
Executable file
@ -0,0 +1,3 @@
|
||||
75
|
||||
1
|
||||
m770/quadror|0|0|52|4|Quadro R 770|||
|
10
m770/f75.trr
Executable file
10
m770/f75.trr
Executable 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
3
m770/f76.dir
Executable file
@ -0,0 +1,3 @@
|
||||
76
|
||||
1
|
||||
m770/quadros|0|0|93|4|Quadro S 770|||
|
14
m770/f76.trr
Executable file
14
m770/f76.trr
Executable 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
3
m770/f77.dir
Executable file
@ -0,0 +1,3 @@
|
||||
77
|
||||
1
|
||||
m770/quadrot|0|0|71|4|Quadro T 770|||
|
12
m770/f77.trr
Executable file
12
m770/f77.trr
Executable 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
3
m770/f89.dir
Executable file
@ -0,0 +1,3 @@
|
||||
89
|
||||
1
|
||||
m770/prospe1|0|0|62|4|Prospetto E1 770|||
|
9
m770/f89.trr
Executable file
9
m770/f89.trr
Executable 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
3
m770/f98.dir
Executable file
@ -0,0 +1,3 @@
|
||||
98
|
||||
1
|
||||
m770/righef|0|0|107|4|Righe F modello 770|||
|
14
m770/f98.trr
Executable file
14
m770/f98.trr
Executable 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
3
m770/f99.dir
Executable file
@ -0,0 +1,3 @@
|
||||
99
|
||||
1
|
||||
m770/righef1|0|0|53|4|Righe F1 del modello 770|||
|
11
m770/f99.trr
Executable file
11
m770/f99.trr
Executable 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|
|
@ -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;
|
||||
}
|
||||
|
||||
|
160
m770/resetfil.h
160
m770/resetfil.h
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user