Patch level : 12.0 nopatch

Files correlati     : 777200.cpp 777lib.cpp

Commento:
CU 20222
Aggiornato record A, B
This commit is contained in:
Simoe 2022-02-17 19:34:57 +01:00
parent e3e89907b7
commit 8d72a093e9
6 changed files with 220 additions and 244 deletions

View File

@ -24,12 +24,7 @@
// Il nuovo quadro ST e' il vecchio quadro L
#define LF_QUADRO_ST LF_QUAL
///////////////////////////////////////////////////////////
// Utility
///////////////////////////////////////////////////////////
const int ANNO_PAG = LAST_YEARN;
///////////////////////////////////////////////////////////
// TForm770
///////////////////////////////////////////////////////////
@ -77,9 +72,11 @@ class TTrasferimento770 : public TObject
long _cod_ditta, _codan_dic;
TString8 _codatt_dic;
char _tipoa_dic;
TString16 _codfis_dic;
TString16 _codfis_dic, _codfis_int;
bool _save_headers;
bool _centesimi; // Salva importi in centesimi invece che in euro
TDate _data_imp;
int _anno;
TAssoc_array _form;
@ -121,6 +118,9 @@ public:
void save_headers(bool s) { _save_headers = s; }
bool save_headers() const { return _save_headers; }
void set_inter(const TString& interm, const TDate& dtimp, int year) { _codfis_int = interm; _data_imp = dtimp; _anno = year; }
TTrasferimento770(const char* name = "", char mode = 'r', int volume = 0);
virtual ~TTrasferimento770();
};
@ -718,46 +718,48 @@ bool TTrasferimento770::append_record_b()
TRecord770 rec('B'); // Compila record di testata B
rec.set(2, cod_fis_dic());
rec.set(3, 1); // Modulo (deve essere sempre 1)
rec.set(7, get_iva_sirio()); // CF del produttore Sirio
rec.set(8, get_iva_sirio()); // CF del produttore Sirio
const TAnagrafica dich(LF_ANAG, _tipoa_dic, _codan_dic);
if (dich.fisica())
{
rec.set(13, dich.cognome());
rec.set(14, dich.nome());
rec.set(23, dich.comune_nascita());
rec.set(24, dich.provincia_nascita());
rec.set(25, dich.data_nascita());
rec.set(26, dich.sesso());
rec.set(27, dich.comune_residenza());
rec.set(28, dich.provincia_residenza());
rec.set(29, dich.CAP_residenza());
if (!dich.estero())
rec.set(12, dich.cognome());
rec.set(13, dich.nome());
//rec.set(23, dich.comune_nascita());
//rec.set(24, dich.provincia_nascita());
//rec.set(25, dich.data_nascita());
//rec.set(26, dich.sesso());
//rec.set(27, dich.comune_residenza());
//rec.set(28, dich.provincia_residenza());
//rec.set(29, dich.CAP_residenza());
/*if (!dich.estero())
rec.set(30, dich.codice_comune_residenza());
rec.set(31, dich.indirizzo_residenza());
*/
}
rec.set(19, _codatt_dic);
// rec.set(19, _codatt_dic);
if (dich.giuridica())
{
rec.set(15, dich.ragione_sociale());
rec.set(14, dich.ragione_sociale());
const TRectype& rec_anagiu = _cache770.get(LF_ANAGGIU, _codan_dic);
rec.set(33, rec_anagiu.get(ANG_NATGIU));
// rec.set(33, rec_anagiu.get(ANG_NATGIU));
rec.set(35, dich.comune_residenza());
rec.set(36, dich.provincia_residenza());
rec.set(37, dich.CAP_residenza());
rec.set(38, dich.codice_comune_residenza());
rec.set(39, dich.indirizzo_residenza());
// rec.set(35, dich.comune_residenza());
//rec.set(36, dich.provincia_residenza());
//rec.set(37, dich.CAP_residenza());
//rec.set(38, dich.codice_comune_residenza());
//rec.set(39, dich.indirizzo_residenza());
rec.set(46, rec_anagiu.get(ANG_STATOSOC));
rec.set(47, rec_anagiu.get(ANG_SITSOC));
//rec.set(46, rec_anagiu.get(ANG_STATOSOC));
//rec.set(47, rec_anagiu.get(ANG_SITSOC));
}
rec.set(75, 1); // Redazione della dichiarazione (sezione I)
rec.set(76, 0); // Comunicazioni relative a certificazioni lavoro dipendente
//rec.set(75, 1); // Redazione della dichiarazione (sezione I)
//rec.set(76, 0); // Comunicazioni relative a certificazioni lavoro dipendente
/*
const int autonomi = conta_certificazioni();
const bool prosp_st = casella_prospetto_st();
const bool prosp_sx = casella_prospetto_sx();
@ -767,30 +769,55 @@ bool TTrasferimento770::append_record_b()
rec.set(80, false); // casella prospetto SV
rec.set(81, prosp_sx); // casella prospetto SX
rec.set(82, false); // casella prospetto SY
*/
rec.set(94, true); // Firma del dichiarante
const TRectype& rec_nditte = cache().get(LF_NDITTE, _cod_ditta);
rec.set(15, rec_nditte.get(NDT_MAIL));
TString80 numtel = get_telephone(rec_nditte, NDT_PTEL, NDT_TEL);
if (numtel.blank())
numtel = get_telephone(rec_nditte, NDT_PFAX, NDT_FAX);
rec.set(16, numtel);
const TRectype& rec_anagr = cache().get(LF_ANAG, TString(rec_nditte.get("TIPOA")) << "|" << rec_nditte.get("CODANAGR"));
const int evecc = rec_anagr.get_int("EVECC");
if (evecc == 5) // EDIT 2020: Non piu' valori 1, 5 ma 1, 3
warning_box("Attenzione trovata persona con valore\nevento eccezionale non piu' valido: 5.\nValori accettati 1 o 3.");
rec.set(116, 0); // situazioni particolari: vale sempre 0
if (evecc == 1 || evecc == 3)
rec.set(17, evecc);
const TRectype& rec_nditte = _cache770.get(LF_NDITTE, _cod_ditta);
const TAnagrafica rec_rap(LF_ANAG, 'F', rec_nditte.get_long(NDT_RAPPR));
if (rec_rap.ok())
{
rec.set(126, rec_rap.codice_fiscale());
rec.set(127, rec_nditte.get(NDT_CARRAPP));
rec.set(131, rec_rap.cognome());
rec.set(132, rec_rap.nome());
rec.set(133, rec_rap.sesso());
rec.set(134, rec_rap.data_nascita());
rec.set(135, rec_rap.comune_nascita());
rec.set(136, rec_rap.provincia_nascita());
rec.set(18, rec_rap.codice_fiscale());
rec.set(19, rec_nditte.get(NDT_CARRAPP));
rec.set(20, rec_rap.cognome());
rec.set(21, rec_rap.nome());
rec.set(22, _codfis_dic);
//rec.set(133, rec_rap.sesso());
//rec.set(134, rec_rap.data_nascita());
//rec.set(135, rec_rap.comune_nascita());
//rec.set(136, rec_rap.provincia_nascita());
if (rec_rap.comune_nascita().blank())
cantread_box("dati nascita legale rappresentante");
//if (rec_rap.comune_nascita().blank())
//cantread_box("dati nascita legale rappresentante");
}
else
cantread_box("dati del legale rappresentante");
rec.set(23, false); // Dichiarazioni relative a dipendenti
const int autonomi = conta_certificazioni();
rec.set(24, autonomi);
rec.set(25, false);
rec.set(26, true); // Firma del dichiarante
if (_codfis_int.full())
{
rec.set(27, _codfis_int);
rec.set(28, 1); // Impegno alla trasmissione (1 o 2)
rec.set(29, _data_imp); // Data impegno alla trasmissione
rec.set(30, true); // Firma intermediario
}
// Ignoro la parte "estera"
ok = write(rec);
@ -1091,7 +1118,7 @@ bool TTransfer770_msk::on_field_event(TOperable_field& of, TField_event fe, long
TTransfer770_msk::TTransfer770_msk() : TAutomask("777100a")
{
set(F_ANNOPAG, ANNO_PAG);
set(F_ANNODIC, ANNO_PAG+1);
set(F_ANNO, ANNO_PAG+1);
set(F_NOHEADERS,ini_get_bool(CONFIG_STUDIO, "77", "SaveDataOnly", false));
set(F_PATH, ini_get_string(CONFIG_STUDIO, "77", "SavePath"));
long ditta1 = ini_get_int (CONFIG_STUDIO, "77", "SaveFirm1", 0);
@ -1132,10 +1159,12 @@ void TTransfer770_app::main_loop()
while (m.run() == K_ENTER)
{
const int anno = m.get_int(F_ANNO);
TFilename tmp; tmp.tempdir();
TTrasferimento770 t(tmp, 'w');
t.save_headers(!m.get_bool(F_NOHEADERS));
t.set_cent_mode(m.get_bool(F_CENT));
t.set_inter(m.get(F_INTER_CODFIS), m.get_date(F_INTER_DATA), anno);
TRelation rel_base(LF_BASE);
TRectype da_rec(LF_BASE), a_rec(LF_BASE);

View File

@ -1,10 +1,13 @@
#define F_PATH 102
#define F_ANNOPAG 103
#define F_ANNODIC 104
#define F_ANNO 104
#define F_DADITTA 105
#define F_DADESC 106
#define F_ADITTA 107
#define F_ADESC 108
#define F_NOHEADERS 109
#define F_CENT 110
#define F_INTER_CODFIS 111
#define F_INTER_RAGSOC 112
#define F_INTER_DATA 113

View File

@ -8,7 +8,7 @@ BEGIN
FLAGS "D"
END
NUMBER F_ANNODIC 4
NUMBER F_ANNO 4
BEGIN
PROMPT 49 1 "Anno dichiarazione "
FLAGS "D"
@ -73,6 +73,41 @@ BEGIN
FLAGS "H"
END
STRING F_INTER_CODFIS 16
BEGIN
PROMPT 1 2 "Intermediario "
USE LF_CLIFO KEY 4 SELECT LEN(COFI)==16
INPUT TIPOCF "F"
INPUT COFI F_INTER_CODFIS
DISPLAY "Codice Fiscale@16" COFI
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Partita IVA" PAIV
DISPLAY "Codice" CODCF
OUTPUT F_INTER_CODFIS COFI
OUTPUT F_INTER_RAGSOC RAGSOC
CHECKTYPE SEARCH
ADD RUN cg0 -1 F
MESSAGE EMPTY CLEAR,F_INTER_DATA
MESSAGE ENABLE,F_INTER_DATA
END
STRING F_INTER_RAGSOC 50 52
BEGIN
PROMPT 16 10 ""
USE LF_CLIFO KEY 2 SELECT LEN(COFI)==16
INPUT TIPOCF "F"
INPUT RAGSOC F_INTER_RAGSOC
COPY DISPLAY F_INTER_CODFIS
COPY OUTPUT F_INTER_CODFIS
CHECKTYPE SEARCH
ADD RUN cg0 -1 F
END
DATE F_INTER_DATA
BEGIN
PROMPT 2 11 "Data di impegno alla trasmissione "
CHECKTYPE REQUIRED
END
ENDPAGE

View File

@ -77,8 +77,11 @@ TTracciatoCU::TTracciatoCU(char tipo)
{
add_field("Codice fiscale sostituto", CF, 2, 16, 2); // 2
add_field("Progressivo modulo", NU, 18, 8, 3);
add_field("Spazio a disposizione", AN, 60, 14, 7); // 7
add_field("CF del produttore del software", CF, 74, 16, 8);
add_filler(26, 1);
add_filler(27, 8);
add_filler(35, 25);
add_field("Spazio a disposizione", AN, 60, 14); // 7
add_field("CF del produttore del software", CF, 74, 16);
add_filler( 90, 1);
// Tipo di dichiarazione
@ -92,7 +95,6 @@ TTracciatoCU::TTracciatoCU(char tipo)
add_field("Indirizzo E-mail", AN,197,100);
add_field("Telefono o Fax", AN,297, 12);
add_field("Eventi Eccezionali", NU,309, 2, 17); // 17
add_field("Codice fiscale del rappresentante", CF,311,16); // 18
add_field("Codice carica del rappresentante", NU,327, 2);
add_field("Cognome", AN,329,24);
@ -108,33 +110,27 @@ TTracciatoCU::TTracciatoCU(char tipo)
add_field("Impegno a trasmettere la dichiaraz.", NU, 428, 1);
add_field("Data dell'impegno", DT, 429, 8);
add_field("Firma dell'intermediario", CB, 437, 1);
/*
add_filler(438, 1);
add_filler(439, 40);
add_filler(479, 2);
add_filler(481, 5);
add_filler(486, 35);
add_filler(521, 6);
add_filler(527, 3);
add_filler(530, 8);
add_filler(538, 1);
add_filler(539,1305); // 40
add_field("Spazio riservato al Servizio Telematico",AN,1844,20); // 41
add_filler(1864, 7);
add_filler(1871, 3);
add_filler(1874, 3);
add_filler(1877, 1);
add_filler(1878, 1);
add_filler(1879, 1);
add_filler(1880, 1);
add_filler(1881, 1);
add_filler(1882, 1);
add_filler(1883,15); // 51
add_filler(1898, 1); // 52
add_filler(1899, 2); // 53
*/
add_filler(438, 1); //31
add_filler(439, 40);
add_filler(479, 2);
add_filler(481, 5);
add_filler(486, 35);
add_filler(521, 6);
add_field("Casella casi particolari", CB, 527, 1); // 37
add_filler(528, 11);
add_filler(539, 16);
add_filler(555, 1289);
add_field("Spazio riservato", AN, 1844, 20);
add_filler(1864, 7);
add_filler(1871, 3);
add_filler(1874, 3);
add_filler(1877, 1);
add_filler(1878, 1);
add_filler(1879, 1);
add_filler(1880, 1);
add_filler(1881, 1);
add_filler(1882, 1);
add_filler(1883, 15);
} else
if (tipo == 'D')
{
@ -585,15 +581,13 @@ bool TTrasferimentoCU::append_record_b()
rec.set(19, rec_nditte.get(NDT_CARRAPP));
rec.set(20, rapp.cognome().left(24));
rec.set(21, rapp.nome());
rec.set(22, _codfis_dic);
rec.set(22, _codfis_dic);
}
else
{
_codfis_rap = _codfis_dic;
cantread_box("legale rappresentante");
}
rec.set(23, ""); // Dichiarazioni relative a dipendenti
rec.set(24, conta_certificazioni()); // Certificazioni per autonomi e provvigioni
rec.set(26, true); // Firma

View File

@ -1,9 +1,34 @@
#include "777lib.h"
///////////////////////////////////////////////////////////
// Utility
///////////////////////////////////////////////////////////
// Forma un numero di telefono composto di sole cifre da prefisso+numero
const TString& get_telephone(const TRectype& rec, const char* pref, const char* numf)
{
TString& num = get_tmp_string();
num << rec.get(pref) << rec.get(numf);
char* dst = num.get_buffer();
for (const char* src = dst; *src; src++)
{
if (*src >= '0' && *src <= '9')
{
if (src > dst)
*dst = *src;
dst++;
}
}
*dst = '\0';
return num;
}
///////////////////////////////////////////////////////////
// TTracciato770
///////////////////////////////////////////////////////////
void TTracciato770::add_field(const char* name, M770FieldType type, int pos, int len, int fldno)
{
switch (type)
@ -26,10 +51,13 @@ void TTracciato770::add_field(const char* name, M770FieldType type, int pos, int
CHECKD(len == 6, "Mese+Anno di lunghezza sospetta ", len);
type = NU;
break;
case DT:
CHECKD(len == 8, "Data di lunghezza sospetta ", len);
type = NU;
break;
case NP:
type = NU;
case NU:
break;
case PN:
@ -95,178 +123,65 @@ TTracciato770::TTracciato770(char tipo) : _tipo(tipo)
// Dichiarazione su più invii
add_field("Progressivo dell'invio", NU, 522, 4); // 7
add_field("Numero totale degli invii", NU, 526, 4);
add_field("Campo utente", AN, 530, 100); // 9
} else
if (tipo == 'B')
{
add_field("Codice fiscale dichiarante", CF, 2, 16); // 2
add_field("Progressivo modulo", NU, 18, 8);
add_filler( 26, 3);
add_filler( 29,25);
add_field("Spazio a disposizione", AN, 54, 20);
add_field("CF del produttore del software", CF, 74, 16); // 7
add_field("Flag conferma", CB, 90, 1);
add_filler(26, 1);
add_filler(27, 8);
add_filler(35, 25);
add_field("Spazio a disposizione", AN, 60, 14);
add_field("CF del produttore del software", CF, 74, 16); // 8
add_filler(90, 1); //9
// Tipo di dichiarazione
add_field("Dichiarazione correttiva nei termini", CB, 91, 1); // 9
add_field("Dichiarazione correttiva parziale", CB, 92, 1);
// add_field("Dichiarazione integrativa", CB, 93, 1);
// add_field("Eventi eccezzziunali veramente", NU, 94, 1); // 12
add_field("Dichiarazione correttiva nei termini", CB, 91, 1); // 10
add_field("Dichiarazione correttiva parziale", CB, 92, 1); //11
// Dati del contribuente
add_field("Cognome", AN, 93, 24); // 13
add_field("Nome", AN,117, 20);
add_field("Denominazione (Alternativo a 25 e 26)",AN,137, 60);
add_field("indirizzo di posta elettronica", AN, 197, 100);
add_field("Telefono o Fax", AN, 297, 12);
add_field("eventi eccezionali", NU, 309, 2);
add_field("Codice fiscale del rappresentante firmatario", CF, 1396, 16, 18);
add_field("Codice carica del rappresentante", NU, 327, 2);
add_field("Cognome", AN, 329, 24); // 20
add_field("Nome", AN, 353, 20);
add_field("Codice fiscale societa o dichiarante", NU, 373, 11);
add_filler(384, 18);
add_field("Numero comunicaz. lavoro autonomo", NU, 402, 8); // 24
add_field("Casella quadro CT", CB, 410, 1, 94);
add_field("Firma del dichiarante", CB, 411, 1, 94);
add_field("Codice fiscale intermediario", CF, 412, 16);
add_field("Impegno a trasmettere la dichiaraz.", NU, 428, 1);
add_field("Data dell'impegno", DT, 429, 8);
add_field("Firma dell'intermediario", CB, 437, 1);
add_filler(438, 1);
add_filler(439, 40);
add_filler(479, 2);
add_filler(481, 5);
add_filler(486, 35);
add_filler(521, 6);
add_field("Casella caasi particolari", CB, 527, 1); // 37
add_filler(528, 8);
add_filler(539, 16);
add_filler(555, 1289);
add_field("Spazio riservato", AN, 1844, 20);
add_filler(1864, 7);
add_filler(1871, 3);
add_filler(1874, 3);
add_filler(1877, 1);
add_filler(1878, 1);
add_filler(1879, 1);
add_filler(1880, 1);
add_filler(1881, 1);
add_filler(1882, 1);
add_filler(1883, 15);
/* add_filler(199,11);
add_filler(210, 1);
add_filler(211, 1);
add_field("Codice Attività", NU, 212, 6); // 19
add_field("Indirizzo E-mail", AN, 218,100);
add_field("Telefono o FAX", AN, 318, 12);
add_filler(330, 12);
add_field("Comune di nascita", AN, 342, 40, 23); // 23
add_field("Provincia di nascita", AN, 382, 2);
add_field("Data di nascita", DT, 384, 8);
add_field("Sesso", AN, 392, 1);
add_field("Comune di residenza", AN, 393, 40, 27); // 27
add_field("Provincia residenza", AN, 433, 2);
add_field("C.a.p. residenza", NU, 435, 5);
add_field("Codice comune", AN, 440, 4);
add_field("Indirizzo", AN, 444, 35);
add_field("Data variazione", DT, 479, 8);
add_field("Natura giuridica", NU, 487, 2, 33); // 33
add_field("Data variazione sede legale", DA, 489, 6);
add_field("Comune della sede legale", AN, 495,40);
add_field("Sigla della provincia sede legale", PR, 535, 2);
add_field("CAP del comune della sede legale", NU, 537, 5);
add_field("Codice comune", AN, 542, 4);
add_field("Indirizzo della sede legale", AN, 546,35);
add_field("Data variazione domicilio fiscale", NU, 581, 6); // 40
add_field("Comune del domicilio fiscale", AN, 587,40);
add_field("Provincia del domicilio fiscale", PR, 627, 2);
add_field("CAP del domicilio fiscale", NU, 629, 5);
add_field("Codice comune", AN, 634, 4);
add_field("Indirizzo del domicilio fiscale", AN, 638,35);
add_field("Stato", NU, 673, 1);
add_field("Situazione", NU, 674, 1);
add_field("Dicastero di appartenenza", CN, 675,11);
add_field("Redazione della dichiarazione", NU, 797, 1, 75); // 75
add_field("Numero comunicaz. lavoro dipendente", NU, 798, 8);
add_field("Numero comunicaz. lavoro autonomo", NU, 806, 8);
add_field("Casella prospetto SS", CB, 814, 1); // 78
add_field("Casella prospetto ST", CB, 815, 1);
add_field("Casella prospetto SV", CB, 816, 1);
add_field("Casella prospetto SX", CB, 817, 1); // 81
add_field("Casella prospetto SY", CB, 818, 1);
add_field("Presenza 770 ordinario " THIS_YEAR, CB, 819, 1);
add_field("Codice fiscale parte restante", CF, 820,16);
add_field("Protocollo telematico", NU, 836,17); // 85
add_field("Progressivo telematico", NU, 853, 6);
// dichiarazioni integrative o parziali
add_field("Casella prospetto SS", CB, 859, 1); // 87
add_field("Casella prospetto ST", CB, 860, 1);
add_field("Casella prospetto SV", CB, 861, 1);
add_field("Casella prospetto SX", CB, 862, 1);
add_field("Casella prospetto SY", CB, 863, 1);
add_field("Numero comunicaz. lavoro dipendente", NU, 864, 8);
add_field("Numero comunicaz. lavoro autonomo", NU, 872, 8); // 93
add_field("Firma del dichiarante", CB, 880, 1, 94); // 94
add_field("Codice fiscale", CF, 881,16);
add_field("Soggetto", NU, 897, 1);
add_field("Firma", CB, 898, 1); // 97
add_field("Codice fiscale", CF, 899,16);
add_field("Soggetto", NU, 915, 1);
add_field("Firma", CB, 916, 1); // 100
add_field("Codice fiscale", CF, 917,16);
add_field("Soggetto", NU, 933, 1);
add_field("Firma", CB, 934, 1); // 103
add_field("Codice fiscale", CF, 935,16);
add_field("Soggetto", NU, 951, 1);
add_field("Firma", CB, 952, 1); // 106
add_field("Codice fiscale", CF, 953,16);
add_field("Soggetto", NU, 969, 1);
add_field("Firma", CB, 970, 1); // 109
add_field("Non trasmissione ST, SV e/o SX", NU, 971, 1);
add_field("Casella Attestazione", CB, 972, 1);
add_field("Situazioni particolari", NU,1180,2, 116); // 116
add_field("Codice fiscale del rappresentante", CF,1396,16,126); // 126
add_field("Codice carica del rappresentante", NU,1412, 2);
add_field("Data carica del rappresentante", DT,1414, 8);
add_field("Cognome", AN,1493,24, 131); // 131
add_field("Nome", AN,1517,20);
add_field("Sesso", AN,1537, 1);
add_field("Data di nascita rappresentante", DT,1538, 8);
add_field("Comune di nascita", AN,1546,40); // 135
add_field("Provincia di nascita", PN,1586, 2);
add_field("Codice stato estero", NU,1588, 3); // 137
add_field("Stato federato, provincia, contea", AN,1591,24);
add_field("Località di residenza", AN,1615,24);
add_field("Indirizzo estero", AN,1639,35); // 140
add_field("Telefono cellulare rappresentante", AN,1674,12);
add_field("Data apertura fallimento", DT,1686, 8); // 142
add_field("Codice fiscale societa o dichiarante", NU,1694,11);
add_field("Invio avviso telematico", CB,1715, 1, 147); // 147
add_field("Ricezione avviso telematico", CB,1716, 1);
add_field("Codice fiscale intermediario", CF,1717,16);
add_field("Numero iscrizione C.A.F.", NU,1733, 5);
add_field("Impegno a trasmettere la dichiaraz.", NU,1738, 1); // 151
add_field("Data dell'impegno", DT,1739, 8);
add_field("Firma dell'intermediario", CB,1747, 1);
add_field("Codice fiscale responsabile C.A.F.", CF,1748,16);
add_field("Codice fiscale C.A.F.", CN,1764,11);
add_field("Codice fiscale professionista", CF,1775,16); // 156
add_field("Firma", CB,1791, 1);*/
add_field("Cognome", AN, 93, 24); // 12
add_field("Nome", AN,117, 20); //13
add_field("Denominazione (Alternativo a 25 e 26)",AN,137, 60);//14
add_field("indirizzo di posta elettronica", AN, 197, 100);//15
add_field("Telefono o Fax", AN, 297, 12);//16
add_field("Eventi eccezionali", NP, 309, 2);//17
add_field("Codice fiscale del rappresentante firmatario", CF, 311, 16); //18
add_field("Codice carica del rappresentante", NU, 327, 2);//19
add_field("Cognome", AN, 329, 24); // 20
add_field("Nome", AN, 353, 20); //21
add_field("Codice fiscale societa o dichiarante", CN, 373, 11);
add_filler(384, 18);
add_field("Numero comunicaz. lavoro autonomo", NU, 402, 8); // 24
add_field("Casella quadro CT", CB, 410, 1);//25
add_field("Firma del dichiarante", CB, 411, 1);
add_field("Codice fiscale intermediario", CF, 412, 16);
add_field("Impegno a trasmettere la dichiaraz.", NU, 428, 1);
add_field("Data dell'impegno", DT, 429, 8);
add_field("Firma dell'intermediario", CB, 437, 1);
add_filler(438, 1); //31
add_filler(439, 40);
add_filler(479, 2);
add_filler(481, 5);
add_filler(486, 35);
add_filler(521, 6);
add_field("Casella casi particolari", CB, 527, 1); // 37
add_filler(528, 11);
add_filler(539, 16);
add_filler(555, 1289);
add_field("Spazio riservato", AN, 1844, 20);
add_filler(1864, 7);
add_filler(1871, 3);
add_filler(1874, 3);
add_filler(1877, 1);
add_filler(1878, 1);
add_filler(1879, 1);
add_filler(1880, 1);
add_filler(1881, 1);
add_filler(1882, 1);
add_filler(1883, 15);
} else
if (tipo == 'E' || tipo == 'F')
{

View File

@ -20,7 +20,7 @@ enum { CODE_SIZE = 8, FIELD_SIZE = 16, BLOCK_SIZE = 24, HEADER_SIZE = 89, USEABL
// TRecord770
///////////////////////////////////////////////////////////
enum M770FieldType { AN, CF, CN, PI, DA, DT, NU, PN, PR, CB, VP, VN };
enum M770FieldType { AN, CF, CN, PI, DA, DT, NP, NU, PN, PR, CB, VP, VN };
struct TField770 : public TObject
{