Gestione C.U. 2015

git-svn-id: svn://10.65.10.50/branches/R_10_00@23057 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2015-03-31 06:18:02 +00:00
parent 9ca7526e5a
commit 8d59b4ec1e
10 changed files with 120 additions and 84 deletions

View File

@ -1425,7 +1425,7 @@ bool TSchedaPercipienti::activate_pag_sheet(TMask& m)
int prev_col = num_sheet_column() + 1;
// leggo codice quadro
TString16 qua(m.get(F_CODQUA));
const TString& qua = m.get(F_CODQUA);
// abilito sheet
TSheet_field& curr_s = enable_pag_sheet(m, qua);
@ -1516,14 +1516,14 @@ int TSchedaPercipienti::token_pos(const char* t) const
return columns.get_pos(t);
}
int TSchedaPercipienti::token_dlg(const char* t) const
short TSchedaPercipienti::token_dlg(const char* t) const
{
// reperisco la Token_string pilota
TToken_string columns(pilot_sheet());
// ritorno l'identificatore del token richiesto
int dlg = columns.get_pos(t);
if (dlg != -1)
short dlg = columns.get_pos(t);
if (dlg >= 0)
dlg += 101;
return dlg;
}
@ -1534,12 +1534,12 @@ const char* TSchedaPercipienti::pilot_sheet() const
TSheet_field& s = pag_sheet_enabled(TheMask());
// individuo la testata giusta
char* columns;
const char* columns = NULL;
int dlg = s.dlg();
switch(dlg)
{
case F_PAGAMENTI_C : columns = (char*)PILOT_SHEET[0]; break;
case F_PAGAMENTI_D : columns = (char*)PILOT_SHEET[1]; break;
case F_PAGAMENTI_C : columns = PILOT_SHEET[0]; break;
case F_PAGAMENTI_D : columns = PILOT_SHEET[1]; break;
// esistevano nel vecchio caso
// case F_PAGAMENTI_DB : columns = (char*)PILOT_SHEET[2]; break;
// case F_PAGAMENTI_G : columns = (char*)PILOT_SHEET[3]; break;
@ -1832,7 +1832,7 @@ void TSchedaPercipienti::from_struct_to_sheet(const Pag_struct& s, TToken_string
t.add(s.numreg, pos);
}
Pag_struct& TSchedaPercipienti::from_mask_to_struct(TMask& m, Pag_struct& s)
Pag_struct& TSchedaPercipienti::from_mask_to_struct(const TMask& m, Pag_struct& s) const
{
// reperisco la Token_string pilota
TToken_string columns(pilot_sheet());
@ -1966,7 +1966,7 @@ Pag_struct& TSchedaPercipienti::from_mask_to_struct(TMask& m, Pag_struct& s)
return s;
}
void TSchedaPercipienti::from_struct_to_mask(Pag_struct& s, TMask& m)
void TSchedaPercipienti::from_struct_to_mask(const Pag_struct& s, TMask& m) const
{
// reperisco la Token_string pilota
TToken_string columns(pilot_sheet());

View File

@ -772,12 +772,14 @@ bool TSchedaPercipienti::pag_standard_handler(TMask_field& f, KEY k)
static Pag_struct s;
static Pag_struct c;
static Pag_struct nullpag;
app().clear_struct(nullpag);
const TSchedaPercipienti& a = app();
a.clear_struct(nullpag);
// reperisco dati documento
TMask& mm = app().curr_mask();
TMask& mm = a.curr_mask();
const bool d_forzatura = mm.get_bool(F_FORCED);
TString16 d_codqua(mm.get(F_CODQUA));
const TString& d_codqua = mm.get(F_CODQUA);
// eseguo calcolo solo per K_TAB (singolo campo),
// oppure per K_ENTER, ma solo per il primo campo,
@ -796,28 +798,27 @@ bool TSchedaPercipienti::pag_standard_handler(TMask_field& f, KEY k)
const real h_PercCommitInps = mm.get_real(F_PERC_COMMIT_INPS);
// inizializzo struttura calcolati
app().clear_struct(c);
a.clear_struct(c);
// riempimento struttura pagamento
app().from_mask_to_struct(f.mask(), s);
a.from_mask_to_struct(f.mask(), s);
// non proseguo se riga vuota
// non proseguo se riga identica
if (s == c) return true;
// richiamo calcolo di riga
app().calcola_riga_pag(s,
c,
FALSE,
h_PercAssImp,
h_PercCassaPrev,
h_PercRitenuta,
h_PercInps,
h_PercAssImpInps,
h_PercCommitInps);
a.calcola_riga_pag(s,
c,
FALSE,
h_PercAssImp,
h_PercCassaPrev,
h_PercRitenuta,
h_PercInps,
h_PercAssImpInps,
h_PercCommitInps);
// riporto valori a maschera
app().from_struct_to_mask(s, f.mask());
a.from_struct_to_mask(s, f.mask());
}

View File

@ -128,7 +128,7 @@ class TSchedaPercipienti : public TRelation_application
// ritorna la posizione del Token t all'interno dello sheet attivo
int token_pos(const char* t) const;
// ritorna l'identificatore del Token t all'interno dello sheet attivo
int token_dlg(const char* t) const;
short token_dlg(const char* t) const;
// ritorna la Token_string pilota dello sheet attivo
const char* pilot_sheet() const;
// riempe la struttura pagamento da una riga di sheet
@ -136,9 +136,9 @@ class TSchedaPercipienti : public TRelation_application
// riempe una riga di sheet dalla struttura pagamento
void from_struct_to_sheet(const Pag_struct& s, TToken_string& t);
// riempe la struttura pagamento dalla maschera di sheet
Pag_struct& from_mask_to_struct(TMask& m, Pag_struct& s);
Pag_struct& from_mask_to_struct(const TMask& m, Pag_struct& s) const;
// riempe la maschera di sheet dalla struttura pagamento
void from_struct_to_mask(Pag_struct& s, TMask& m);
void from_struct_to_mask(const Pag_struct& s, TMask& m) const;
// abilita lo sheet pagamenti in base al quadro
TSheet_field& enable_pag_sheet(TMask& m, const TString& quadro) const;
// aggancia handler allo sheet passato

View File

@ -11,6 +11,7 @@
#define F_RIGHE 107
#define H_CODANAGR 114
#define H_RAGSOC 116
#define F_COFI 117
#define F_GENERA 201
#define F_PROSPETTO 202

View File

@ -8,12 +8,12 @@ PAGE "Riepilogo LA" -1 -1 78 18
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 1 "Percipiente"
PROMPT 1 0 "Percipiente"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 4 2 "Ditta "
PROMPT 4 1 "Ditta "
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
@ -25,7 +25,7 @@ END
STRING F_RAGDITTA 50
BEGIN
PROMPT 24 2 ""
PROMPT 24 1 ""
FLAGS "D"
END
@ -40,7 +40,7 @@ END
LIST F_TIPOA 1 17
BEGIN
PROMPT 4 3 "Tipo percipiente "
PROMPT 4 2 "Tipo percipiente "
FIELD TIPOA
ITEM "F|Persona Fisica"
ITEM "G|Persona Giuridica"
@ -49,7 +49,7 @@ END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 4 4 "Codice "
PROMPT 4 3 "Codice "
FIELD CODANAGR
KEY 1
USE LF_QUALA SELECT NPROG=1
@ -63,13 +63,39 @@ BEGIN
DISPLAY "Codice Fiscale@16" LF_ANAG->COFI
DISPLAY "Partita IVA@13" LF_ANAG->PAIV
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_RAGSOC LF_ANAG->RAGSOC
OUTPUT F_COFI LF_ANAG->COFI
CHECKTYPE REQUIRED
END
STRING F_COFI 16
BEGIN
PROMPT 53 2 "C.F. "
USE LF_ANAG KEY 3 SELECT LF_QUALA->NPROG>0
JOIN LF_QUALA INTO CODDITTA=#F_CODDITTA TIPOA=TIPOA CODANAGR=CODANAGR
INPUT TIPOA F_TIPOA SELECT
INPUT COFI F_COFI
DISPLAY "Codice Fiscale@16" LF_ANAG->COFI
DISPLAY "Denominazione@50" LF_ANAG->RAGSOC
DISPLAY "Partita IVA@13" LF_ANAG->PAIV
DISPLAY "Codice" CODANAGR
COPY OUTPUT F_CODANAGR
CHECKTYPE NORMAL
END
STRING F_RAGSOC 50
BEGIN
PROMPT 24 4 ""
FLAGS "D"
PROMPT 24 3 ""
USE LF_ANAG KEY 2 SELECT LF_QUALA->NPROG>0
JOIN LF_QUALA INTO CODDITTA=#F_CODDITTA TIPOA=TIPOA CODANAGR=CODANAGR
INPUT TIPOA F_TIPOA SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Codice Fiscale@16" LF_ANAG->COFI
DISPLAY "Partita IVA@13" LF_ANAG->PAIV
DISPLAY "Codice" CODANAGR
COPY OUTPUT F_CODANAGR
CHECKTYPE SEARCH
END
NUMBER H_CODANAGR 5
@ -92,12 +118,12 @@ END
BUTTON F_GENERA 24 1
BEGIN
PROMPT 2 6 "~Generazione da schede"
PROMPT 2 5 "~Generazione da schede"
END
SPREADSHEET F_RIGHE
BEGIN
PROMPT 0 7 ""
PROMPT 0 6 ""
ITEM "Cod.\ncau.@4"
ITEM "Aliq."
ITEM "Cau."
@ -150,7 +176,7 @@ BEGIN
FIELD PERC
END
STRING 103 1
STRING 103 2
BEGIN
PROMPT 1 2 "Causale "
FLAGS "U"
@ -166,8 +192,12 @@ BEGIN
ITEM "H|Idennita' corrisposte per la cessazione dei rapporti di agenzia delle persone fisiche"
ITEM "I|Idennita' corrisposte per la cessazione da funzionari notarili"
ITEM "L|Utilizzaz. economica, da parte di sogg. diverso dall'autore o dall'inventore, di opere dell'ingegno, di brevetti industiali e di processi, formule e informaz. relativi ad esperienze acquisite in campo industriale, commerciale, scientifico"
ITEM "L1|Redditi derivanti dallutilizzazione economica di opere dellingegno, di brevetti industriali e di processi, formule e informazioni relativi a esperienze acquisite in campo industriale, commerciale o scientifico, che sono percepiti da soggetti che abbiano acquistato a titolo oneroso i diritti alla loro utilizzazione"
ITEM "M|Prestazioni di lavoro autonomo non esercitate abitualmente"
ITEM "M1|Redditi derivanti dallassunzione di obblighi di fare, di non fare o permettere"
ITEM "N|Idennita' di trasferta, rinborso forfetario di spese, premi e compensi erogati nell' esercizio diretto di attivita' sportiva dilettantistiche"
ITEM "O|Prestazioni di lavoro autonomo non esercitate abitualmente, per le quali non sussiste lobbligo di iscrizione alla gestione separata"
ITEM "O1|Redditi derivanti dallassunzione di obblighi di fare, di non fare o permettere, per le quali non sussiste lobbligo di iscrizione alla gestione separata (Circ. INPS n. 104/2001)"
ITEM "P|Prestazioni in forma di capitale e riscatti erogati dalle forme di previdenza complementare di cui al D.Lgs 21 aprile 1993,n. 124 e sucessive modificazioni a lavoratori autonomi e imprenditori individuali"
ITEM "Q|Provvigioni corrisposte ad agente o rappresentante di commercio monomandatario"
ITEM "R|Provvigioni corrisposte ad agente o rappresentante plurimandatario"
@ -175,7 +205,10 @@ BEGIN
ITEM "T|Provvigioni corrisposte a mediatore"
ITEM "U|Provvigioni corrisposte a procacciatore di affari"
ITEM "V|Provvigioni corrisposte a incaricato per le vendite a domicilio"
ITEM "V1|redditi derivanti da attività commerciali non esercitate abitualmente (ad esempio, provvigioni corrisposte per prestazioni occasionali ad agente o rappresentante di commercio, mediatore, procacciatore daffari o incaricato per le vendite a domicilio)"
ITEM "W|Provvigioni corrisposte a incaricato per la vendita porta a porta e per la vendita ambulante di giornali quotidiani e periodici (L. 25 febbraio 1987, n. 67)"
ITEM "X|Canoni corrisposti nel 2004 da società o enti residenti ovvero da stabili organizzazioni di società estere"
ITEM "Y|Canoni corrisposti dal 1° gennaio 2005 al 26 luglio 2005 da società o enti residenti ovvero da stabili organizzazioni di società estere"
ITEM "Z|Titolo diverso dai precedenti"
OUTPUT 103
WANING "La causale deve essere compresa tra A ed Z"

View File

@ -476,28 +476,21 @@ void TTrasferimentoCU::set_operazione(char t, const TString& iden)
TRecnotype TTrasferimentoCU::conta_certificazioni() const
{
int anno = _anno;
if (anno < 2010)
if (anno < 2014)
anno = 2014;
TString query;
if (_anagiu)
query.format("USE %d SELECT ANNO=%d\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
LF_QUALA, anno, _cod_ditta, _cod_ditta);
else
query.format("USE %d SELECT (ANNO=%d)&&(TIPOA=\"F\")\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
LF_QUALA, anno, _cod_ditta, _cod_ditta);
query.format("USE %d SELECT ANNO=%d\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
LF_QUALA, anno, _cod_ditta, _cod_ditta);
TRecnotype nc = 0;
TISAM_recordset recset(query);
long last_cod = 0;
for (bool ok = recset.move_first(); ok; ok = recset.move_next())
{
const char tipoanag = recset.get("TIPO").as_string()[0];
const long codanagr = recset.get("CODANAGR").as_int();
if (codanagr > 0 && codanagr != last_cod)
{
if (tipoanag >= 'F' && codanagr > 0)
nc++;
last_cod = codanagr;
}
}
CHECKD(nc <= recset.items(), "Numero certificazioni errato:", nc);
return nc;
@ -539,7 +532,6 @@ 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);
}
else
{
@ -567,7 +559,7 @@ bool TTrasferimentoCU::append_record_d(const TRectype& qla, TLog_report& log)
{
const char tipoanag = qla.get_char("TIPOA");
const long codanagr = qla.get_long("CODANAGR");
if ((tipoanag != 'F' && !_anagiu) || codanagr <= 0)
if (tipoanag < 'F' || codanagr <= 0)
{
TString msg; msg.format(FR("Scartato percipiente non valido %c/%ld"), tipoanag, codanagr);
log.log(2, msg);
@ -661,21 +653,18 @@ bool TTrasferimentoCU::append_record_d(const TRectype& qla, TLog_report& log)
rec.np_put("DA002043", perc.stato_estero_UNICO());
}
rec.np_put("DA003001", TDate(TODAY));
rec.np_put("DA003001", _data_tra);
rec.np_put("DA003002", true);
_data.add(rec);
return true;
}
bool TTrasferimentoCU::append_record_h(const TRectype& qla, int modulo, TLog_report& log)
bool TTrasferimentoCU::append_record_h(const TRectype& qla, TLog_report& log)
{
const char tipoanag = qla.get_char("TIPOA");
if (tipoanag != 'F')
int cazzone = 1;
const long codanagr = qla.get_long("CODANAGR");
if ((tipoanag != 'F' && !_anagiu) || codanagr <= 0)
if (tipoanag < 'F' && codanagr <= 0)
{
TString msg; msg.format(FR("Scartato percipiente non valido %c/%ld"), tipoanag, codanagr);
log.log(2, msg);
@ -692,7 +681,7 @@ bool TTrasferimentoCU::append_record_h(const TRectype& qla, int modulo, TLog_rep
TRecordCU rec('H'); // Compila record H
rec.set(2, cod_fis_dic()); // Codice fiscale sostituto
rec.set(3, modulo); // Progressivo modulo
rec.set(3, 1L); // Progressivo modulo
rec.set(4, perc.codice_fiscale()); // Codice fiscale del percipiente
rec.set(5, _certificazione); // Progressivo certificazione
@ -771,8 +760,8 @@ bool TTrasferimentoCU::split(const char* path)
TRecordCU rec;
rec.tipo_record('A'); // Compila record di testata A
rec.set(3, "CUR15"); // Codice fornitura
rec.set(4, 1); // Tipo fornitore 01 = Soggetto che invia la propria dichiarazione
rec.set(5, cod_fis_dic()); // Codice fiscale del fornitore
rec.set(4, 1); // Tipo fornitore: 01=Soggetto che invia la propria dichiarazione; 10=CAF
rec.set(5, _codfis_int.full() ? _codfis_int : cod_fis_dic()); // Codice fiscale del fornitore
outfile << rec; // Scrive record testata
}
@ -793,7 +782,7 @@ bool TTrasferimentoCU::split(const char* path)
if (written >= records_per_disk)
break;
if (!pi.addstatus(1))
if (!pi.add_status())
{
good = false;
break;
@ -826,12 +815,17 @@ void TTrasferimentoCU::remove()
}
TTrasferimentoCU::TTrasferimentoCU(const char* path, char mode)
: _save_headers(true), _anagiu(true), _data_imp(TODAY), _tipo_operazione(' ')
: _save_headers(true), _data_imp(TODAY), _data_tra(TODAY), _tipo_operazione(' ')
{
if (mode == 'r')
load(path);
else
{
_name = path;
while (_data_tra.month() > 2 || _data_tra.wday() > 5 || _data_tra.is_holiday())
--_data_tra;
}
}
TTrasferimentoCU::~TTrasferimentoCU()
@ -939,12 +933,9 @@ void TCU_app::main_loop()
t.read_codfis_dic(base);
t.append_record_b();
if (t.anagiu_included())
query.format("USE %d SELECT (ANNO=%d)\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
LF_QUALA, anno, codditta, codditta);
else
query.format("USE %d SELECT (TIPOA=\"F\")&&(ANNO=%d)\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
LF_QUALA, anno, codditta, codditta);
query.format("USE %d SELECT (ANNO=%d)\nBY TIPOA,CODANAGR,CAUSALE\nFROM CODDITTA=%ld\nTO CODDITTA=%ld",
LF_QUALA, anno, codditta, codditta);
TISAM_recordset perc(query);
const TRecnotype nperc = perc.items();
if (nperc > 0)
@ -952,18 +943,19 @@ void TCU_app::main_loop()
TProgress_monitor pp(nperc, TR("Generazione record percipienti"));
const TRectype& rec = perc.cursor()->curr();
long last_perc = 0;
int modulo = 1;
TString4 last_caus;
const int modulo = 1;
for (bool ok = perc.move_first(); ok; ok = perc.move_next())
{
const long codanagr = rec.get_long("CODANAGR");
if (codanagr != last_perc)
const TString4 codcaus = rec.get_long("CAUSALE");
if (codanagr != last_perc || codcaus != last_caus)
{
last_perc = codanagr;
last_caus = codcaus;
t.append_record_d(rec, log);
modulo = 1;
}
if (t.append_record_h(rec, modulo, log))
modulo++;
t.append_record_h(rec, log);
pp.add_status();
}
}

View File

@ -620,8 +620,10 @@ void TCU_report::create_B()
begin_paragraph(header, CU_AFTER_LAST, 6, "DATI RELATIVI AL RAPPRESENTANTE FIRMATARIO DELLA COMUNICAZIONE");
add_labeled_field(header, 0, 0, 24, "#18", "Codice Fiscale");
add_labeled_field(header, 0,32, 3, "#19", "Codice carica", 'C');
add_gridded_field(header, 0,CU_ALIGN_RIGHT, 11, "#2", "Codice fiscale societŕ o ente dichiarante");
TReport_field& cc = add_labeled_field(header, 0,32, 3, "#19", "Codice carica", 'C');
cc.set_type('N'); cc.hide_zeroes(true);
TReport_field& pi = add_gridded_field(header, 0,CU_ALIGN_RIGHT, 11, "#22", "Codice fiscale società o ente dichiarante");
pi.set_type('N'); pi.hide_zeroes(true);
add_labeled_field(header, 1, 0, 36, "#20", "Cognome");
add_labeled_field(header, 1,CU_AFTER_LAST, CU_ALIGN_RIGHT, "#21", "Nome");
end_paragraph(header);
@ -764,7 +766,7 @@ void TCU_report::create_H()
const int tab0 = 2, tab1 = 6, tab2 = 27, tab3 = CU_ALIGN_RIGHT;
begin_paragraph(body, 10, 4, "DATI RELATIVI ALLE SOMME EROGATE\nTIPOLOGIA REDDITUALE", 0x3);
add_labeled_field(body, 0, tab0, 1, "#AU001001", "Causale");
add_labeled_field(body, 0, tab0, 2, "#AU001001", "Causale");
end_paragraph(body);
begin_paragraph(body, -1, 21, "DATI FISCALI");

View File

@ -115,11 +115,11 @@ BEGIN
MESSAGE COPY,F_DESCR1,1,22
END
STRING TCF_CAUSD 1
STRING TCF_CAUSD 2
BEGIN
PROMPT 1 6 "Causale LA "
FLAGS "U"
SHEET "Codice|Descrizione@250"
SHEET "Codice|Descrizione@320"
INPUT TCF_CAUSD
ITEM " | "
ITEM "A|Prestazioni di lavoro autonomo rientranti nell'esercizio di arte o professione abituale"
@ -132,8 +132,12 @@ BEGIN
ITEM "H|Idennita' corrisposte per la cessazione dei rapporti di agenzia delle persone fisiche"
ITEM "I|Idennita' corrisposte per la cessazione da funzionari notarili"
ITEM "L|Utilizzaz. economica, da parte di sogg. diverso dall'autore o dall'inventore, di opere dell'ingegno, di brevetti industiali e di processi, formule e informaz. relativi ad esperienze acquisite in campo industriale, commerciale, scientifico"
ITEM "L1|Redditi derivanti dallutilizzazione economica di opere dellingegno, di brevetti industriali e di processi, formule e informazioni relativi a esperienze acquisite in campo industriale, commerciale o scientifico, che sono percepiti da soggetti che abbiano acquistato a titolo oneroso i diritti alla loro utilizzazione"
ITEM "M|Prestazioni di lavoro autonomo non esercitate abitualmente"
ITEM "M1|Redditi derivanti dallassunzione di obblighi di fare, di non fare o permettere"
ITEM "N|Idennita' di trasferta, rinborso forfetario di spese, premi e compensi erogati nell' esercizio diretto di attivita' sportiva dilettantistiche"
ITEM "O|Prestazioni di lavoro autonomo non esercitate abitualmente, per le quali non sussiste lobbligo di iscrizione alla gestione separata"
ITEM "O1|Redditi derivanti dallassunzione di obblighi di fare, di non fare o permettere, per le quali non sussiste lobbligo di iscrizione alla gestione separata (Circ. INPS n. 104/2001)"
ITEM "P|Prestazioni in forma di capitale e riscatti erogati dalle forme di previdenza complementare di cui al D.Lgs 21 aprile 1993,n. 124 e sucessive modificazioni a lavoratori autonomi e imprenditori individuali"
ITEM "Q|Provvigioni corrisposte ad agente o rappresentante di commercio monomandatario"
ITEM "R|Provvigioni corrisposte ad agente o rappresentante plurimandatario"
@ -141,7 +145,10 @@ BEGIN
ITEM "T|Provvigioni corrisposte a mediatore"
ITEM "U|Provvigioni corrisposte a procacciatore di affari"
ITEM "V|Provvigioni corrisposte a incaricato per le vendite a domicilio"
ITEM "V1|redditi derivanti da attività commerciali non esercitate abitualmente (ad esempio, provvigioni corrisposte per prestazioni occasionali ad agente o rappresentante di commercio, mediatore, procacciatore daffari o incaricato per le vendite a domicilio)"
ITEM "W|Provvigioni corrisposte a incaricato per la vendita porta a porta e per la vendita ambulante di giornali quotidiani e periodici (L. 25 febbraio 1987, n. 67)"
ITEM "X|Canoni corrisposti nel 2004 da società o enti residenti ovvero da stabili organizzazioni di società estere"
ITEM "Y|Canoni corrisposti dal 1° gennaio 2005 al 26 luglio 2005 da società o enti residenti ovvero da stabili organizzazioni di società estere"
ITEM "Z|Titolo diverso dai precedenti"
OUTPUT TCF_CAUSD
OUTPUT TCF_CAUSD_DESCR
@ -155,9 +162,9 @@ BEGIN
GROUP GR_NOCAUE1
END
STRING TCF_CAUSD_DESCR 250 60
MEMO TCF_CAUSD_DESCR 56 4
BEGIN
PROMPT 16 6 ""
PROMPT 18 5 ""
FLAGS "D"
GROUP GR_CAUDD1
GROUP GR_NOCAUC

View File

@ -1,3 +1,3 @@
144
1
m770/quadrola|0|0|247|0|Quadro LA 770|||
m770/quadrola|0|0|248|0|Quadro LA 770|||

View File

@ -5,7 +5,7 @@ TIPOA|1|1|0|Tipo anagrafica (Sempre 'F')
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progressivo di riga
CODCAUS|9|2|0|Codice causale
CAUSALE|1|1|0|Causale
CAUSALE|1|2|0|Causale
ANNO|3|4|0|Anno
ANTICIPAZ|8|1|0|Anticipazione
TOTALE|4|18|3|Ammontare lordo corrisposto