Patch level : 12.0 344

Files correlati     : 
Commento            : Aggiornamento CU 2017

git-svn-id: svn://10.65.10.50/branches/R_10_00@23604 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
mtollari 2017-02-10 13:29:29 +00:00
parent da36c82ed8
commit 3ba8cc85fc
7 changed files with 53 additions and 41 deletions

View File

@ -103,12 +103,6 @@ void TRighe_riepilogo::genera_la(TRectype& quadro, const TRectype& riga, const T
quadro.put(QUD_PERC, riga.get(PAG_PERC));
quadro.put(QUD_CODCAUS, codcaus);
real ammlordo = imponibile;
ammlordo += riga.get_real(PAG_SOMNSRIT);
ammlordo += riga.get_real(PAG_CONTROBB);
ammlordo += riga.get_real(PAG_SOMREGCONV);
quadro.put(QUD_TOTALE, ammlordo);
real somme = compenso;
somme -= imponibile;
somme += riga.get_real(PAG_SPESA);
@ -116,6 +110,14 @@ void TRighe_riepilogo::genera_la(TRectype& quadro, const TRectype& riga, const T
somme -= riga.get_real(PAG_SOMREGCONV);
quadro.put(QUD_SOMME, somme); // altre somme non soggette
// 26/01/17: Spostato qua questo blocco per aggiungere somme e tenere un filo logico di tutto insieme
real ammlordo = imponibile;
ammlordo += riga.get_real(PAG_SOMNSRIT);
ammlordo += riga.get_real(PAG_CONTROBB);
ammlordo += riga.get_real(PAG_SOMREGCONV);
ammlordo += somme;
quadro.put(QUD_TOTALE, ammlordo);
quadro.put(QUD_SOMREGCONV, riga.get(PAG_SOMREGCONV));
quadro.put(QUD_IMPONIBILE, imponibile); // AUXXX008
quadro.put(QUD_IMPORTO, riga.get(PAG_RITENUTA));

View File

@ -518,7 +518,7 @@ void TQuadroF::calcola_ritenuta_operata(TMask& m, char prosp)
real sogg = m.get_real(id_sogg);
real ali = m.get_real(id_ali);
real rope = (sogg * ali) / 100.00;
real rope = (sogg * ali) / CENTO;
rope.round();
if (rope != ZERO) // Evita di scrivere "0" nel campo (v. reqif_func nella msk)

View File

@ -455,14 +455,14 @@ bool TQuadroG::calc_rit(TMask_field& f, KEY k)
if (real::is_real(al))
{
const real a1 = al;
if (a1 != 0.0 && m.field(ALIQUOTA).enabled())
if (a1 != ZERO && m.field(ALIQUOTA).enabled())
{
al = real::ita2eng(a1.string(".2"));
m.set(ALIQUOTA,al);
}
if (a1 >= 0.0 && a1 <= 100.0)
if (a1 >= ZERO && a1 <= CENTO)
{
real res = ((r1 + r2) / 100.0 * a1);
real res = ((r1 + r2) / CENTO * a1);
res.round();
m.set(ROPE,res);
}
@ -472,7 +472,7 @@ bool TQuadroG::calc_rit(TMask_field& f, KEY k)
else
return f.error_box("Aliquota non valida.");
if (f.dlg() == ALIQUOTA && al.empty() && (r1 != 0.0 || r2 != 0.0))
if (f.dlg() == ALIQUOTA && al.empty() && (r1 != ZERO || r2 != ZERO))
return f.error_box("Il campo aliquota e' obbligatorio.");
}
if (k == K_ENTER && f.dlg() == ALIQUOTA)
@ -555,7 +555,7 @@ bool TQuadroG::tit_hndlr(TMask_field& f, KEY k)
real r2(m.get(UTILI2S));
TString16 tit(f.get());
if (tit.empty() && (r1 != 0.0 || r2 != 0.0))
if (tit.empty() && (r1 != ZERO || r2 != ZERO))
return f.error_box("Il campo titolo e' obbligatorio.");
}
return TRUE;

View File

@ -92,7 +92,7 @@ TTracciatoCU::TTracciatoCU(char tipo)
add_field("Denominazione (Alternativo a 12 e 13)",AN,137, 60);
add_field("Indirizzo E-mail", AN,197,100);
add_field("Telefono o Fax", AN,297, 12);
add_field("Eventi Eccezionali", AN,309, 1); // 17
add_field("Eventi Eccezionali", NU,309, 1,17); // 17
add_field("Codice fiscale del rappresentante", CF,310,16); // 18
add_field("Codice carica del rappresentante", NU,326, 2);
@ -100,7 +100,7 @@ TTracciatoCU::TTracciatoCU(char tipo)
add_field("Nome", AN,352,20);
add_field("Codice fiscale del dichiarante", CN,372,11);
add_filler(383,19); // 23
add_filler(383,19); // 23
add_field("Numero comunicaz. relative a certificazioni",NU, 402, 8);
add_field("Casella quadro CT", CB, 410, 1);
add_field("Firma del dichiarante", CB, 411, 1);
@ -109,6 +109,7 @@ 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);
@ -134,34 +135,36 @@ TTracciatoCU::TTracciatoCU(char tipo)
add_filler(1898, 1); // 52
add_filler(1899, 2); // 53
*/
} else
if (tipo == 'D')
{
add_field("Codice fiscale del sostituto", CF, 2, 16); // 2
add_field("Progressivo modulo", NU, 18, 8); // 3
add_field("Codice fiscale percipiente", CF, 26, 16); // 4
add_field("Progressivo certificazione", NU, 42, 5); // 5
add_field("Identificativo dell'invio", NU, 47, 17); // 6
add_field("Progressivo singola C.U.", NU, 64, 6); // 7
add_field("Codice fiscale del sostituto", CF, 2, 16, 2); // 2
add_field("Progressivo modulo", NU, 18, 8, 3); // 3
add_field("Codice fiscale percipiente", CF, 26, 16, 4); // 4
add_field("Progressivo certificazione", NU, 42, 5, 5); // 5
add_field("Identificativo dell'invio", NU, 47, 17, 6); // 6
add_field("Progressivo singola C.U.", NU, 64, 6, 7); // 7
add_filler(70, 14);
add_field("Tipo Operazione", AN, 84, 1, 9); // 9
add_filler(85, 4);
add_field("Conferma singola certificazione", CB, 89, 1); // 11
add_field("Conferma singola certificazione", CB, 89, 1, 11); // 11
} else
if (tipo == 'H')
{
add_field("Codice fiscale del sostituto", CF, 2, 16); // 2
add_field("Progressivo modulo", NU, 18, 8); // 3
add_field("Codice fiscale percipiente", CF, 26, 16); // 4
add_field("Progressivo certificazione", NU, 42, 5); // 5
add_field("Codice fiscale del sostituto", CF, 2, 16, 2); // 2
add_field("Progressivo modulo", NU, 18, 8, 3); // 3
add_field("Codice fiscale percipiente", CF, 26, 16, 4); // 4
add_field("Progressivo certificazione", NU, 42, 5, 5); // 5
add_filler(47, 17); // 6
add_field("Spazio a disposizione dell'utente", NU, 64, 6); // 7
add_field("Spazio a disposizione dell'utente", NU, 64, 6, 6); // 7
/*
add_filler(70, 14); // 8
add_filler(84, 1); // 9
add_filler(85, 4); // 10
add_filler(89, 1); // 11
*/
} else
if (tipo == 'Z')
{
@ -171,6 +174,7 @@ TTracciatoCU::TTracciatoCU(char tipo)
add_field("Numero record di tipo 'D'", NU, 34, 9);
add_field("Numero record di tipo 'G'", NU, 43, 9); // 6
add_field("Numero record di tipo 'H'", NU, 52, 9);
/*
add_filler(31,9);
add_filler(70,9);
add_filler(79,9);
@ -178,6 +182,7 @@ TTracciatoCU::TTracciatoCU(char tipo)
add_filler(1898,1); // 11
add_filler(1899,2); //12
*/
}
}
@ -563,6 +568,9 @@ bool TTrasferimentoCU::append_record_b()
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"));
rec.set(17, rec_anagr.get_int("EVECC"));
const TAnagrafica rapp(LF_ANAG, 'F', rec_nditte.get_long(NDT_RAPPR));
if (rapp.ok())
{
@ -745,7 +753,7 @@ bool TTrasferimentoCU::append_record_h(const TRectype& qla, int modulo, TLog_rep
real imponibile = qla.get_real("IMPONIBILE");
const TString4 codcaus = qla.get("CODCAUS");
long codice = atol(cache().get("%CA7", codcaus, "I1")); // 1, 2, 3
long codice = atol(cache().get("%CA7", codcaus, "I1")); // 1, 2, 5, 6
if (altre_somme.is_zero() && codice == 3)
{
altre_somme = imponibile;
@ -753,8 +761,8 @@ bool TTrasferimentoCU::append_record_h(const TRectype& qla, int modulo, TLog_rep
}
if (!altre_somme.is_zero())
{
if (codice <= 0) codice = 3; // Regime minimi
rec.np_put("AU001006", codice); // 1, 2, 3
if (codice <= 0) codice = 6; // Regime minimi
rec.np_put("AU001006", codice); // 1, 2, 5, 6
rec.np_put("AU001007", altre_somme);
}
rec.np_put("AU001008", imponibile); // 004 - 005 - 007

View File

@ -586,7 +586,7 @@ void TCU_report::add_underlined_text(TReport_section& body, int row, const char*
void TCU_report::create_logo(TReport_section& header)
{
add_big_text(header, 4, 0, "CERTIFICAZIONE", COLOR_GRAY).set_vertical_alignment('T');
add_big_text(header, 3, 0, "CERTIFICAZIONE", COLOR_GRAY).set_vertical_alignment('T');
add_big_text(header, 6, 0, "UNICA", COLOR_BLACK).set_vertical_alignment('B');
add_big_text(header, 6,12, "2017", COLOR_LTGRAY).set_vertical_alignment('B');
@ -613,8 +613,9 @@ void TCU_report::create_B()
add_band(header, 13, 27);
begin_paragraph(header, 13, 2, "TIPO DI COMUNICAZIONE");
add_prompted_bool(header, 0, 0, 2, "#10", "Annullamento");
add_prompted_bool(header, 0, 28, 2, "#11", "Sostituzione");
add_prompted_bool(header, 0, 0, 2, "#8", "Annullamento");
add_prompted_bool(header, 0, 28, 2, "#9", "Sostituzione");
add_prompted_bool(header, 0, 50, 2, "#10", "Eventi eccezionali");
end_paragraph(header);
begin_paragraph(header, CU_AFTER_LAST, 9, "DATI RELATIVI\nAL SOSTITUTO");
@ -827,7 +828,7 @@ void TCU_report::create_H()
add_labeled_field (body, 1, tab2, CU_EURO_LEN/2, "#AU001033", "Categoria", 'C');
add_labeled_number(body, 2, tab1, CU_EURO_LEN, "#AU001034", "Contributi previdenziali\na carico del soggetto erogante", 'C');
add_labeled_number(body, 2, tab2, CU_EURO_LEN, "#AU001035", "Contributi previdenziali\na carico del percipiente", 'C');
add_labeled_bool (body, 2, tab3, CU_EURO_LEN/4, "#AU001036", "Altri contributi");
add_labeled_bool (body, 2, 60, CU_EURO_LEN/4, "#AU001036", "Altri contributi");
add_labeled_number(body, 3, tab1, CU_EURO_LEN, "#AU001037", "Importo altri contributi", 'C');
add_labeled_number(body, 3, tab2, CU_EURO_LEN, "#AU001038", "Contributi dovuti", 'C');
add_labeled_number(body, 3, tab3, CU_EURO_LEN, "#AU001039", "Contributi versati", 'C');

View File

@ -211,7 +211,7 @@ void TQuadroG1::arr2rel(const TMask& m)
const real racc2s = row.get(); tot += racc2s;
const real rimp1s = row.get(); tot += rimp1s;
const real rimp2s = row.get(); tot += rimp2s;
if (i == 0 || tot > 0.0)
if (i == 0 || tot > ZERO)
{
if (i < 3)
last_saved = i;

View File

@ -330,9 +330,10 @@ BEGIN
SHEET "Codice|Descrizione@450"
INPUT F_IC
ITEM " | "
ITEM "1|somme che non hanno concorso a formare il reddito imponibile (90% dellammontare erogato), relativo ai compensi percepiti dai docenti e dai ricercatori in base a quanto stabilito dal D.L. 29 novembre 2008, n. 185 convertito, con modificazioni dalla L. n. 2 del 28 gennaio 2009. Vanno altresì inseriti i relativi rimborsi spese"
ITEM "2|somme che non hanno concorso a formare il reddito imponibile (rispettivamente l80% dellammontare erogato per le lavoratrici ed il 70% per i lavoratori) per i lavoratori appartenenti alle categorie individuate con Decreto del Ministro dellEconomia e delle Finanze del 3 giugno 2011 in possesso dei requisiti previsti e che hanno richiesto di fruire del beneficio fiscale previsto dallart. 3 della L. 30 dicembre 2010, n. 238"
ITEM "3|erogazione di altri redditi non soggetti a ritenuta ovvero esenti"
ITEM "1|Somme che non hanno concorso a formare il reddito imponibile (90% dellammontare erogato), relativo ai compensi percepiti dai docenti e dai ricercatori in base a quanto stabilito dal D.L. 29 novembre 2008, n. 185 convertito, con modificazioni dalla L. n. 2 del 28 gennaio 2009. Vanno altresì inseriti i relativi rimborsi spese"
ITEM "2|Somme che non hanno concorso a formare il reddito imponibile (rispettivamente l80% dellammontare erogato per le lavoratrici ed il 70% per i lavoratori) per i lavoratori appartenenti alle categorie individuate con Decreto del Ministro dellEconomia e delle Finanze del 3 giugno 2011 in possesso dei requisiti previsti e che hanno richiesto di fruire del beneficio fiscale previsto dallart. 3 della L. 30 dicembre 2010, n. 238"
ITEM "5|Nel caso di somme corrisposte che non hanno concorso a formare il reddito imponibile (30% dellammontare erogato), relative ai compensi percepiti dai soggetti che hanno avviato unattività di lavoro autonomo o di impresa, in base a quanto stabilito dallarticolo 16 del D.lgs. n. 147 del 2015."
ITEM "6|Erogazione di altri redditi non soggetti a ritenuta ovvero esenti"
OUTPUT F_ALTRENONSOGG
FIELD I1
END