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:
parent
da36c82ed8
commit
3ba8cc85fc
@ -102,19 +102,21 @@ void TRighe_riepilogo::genera_la(TRectype& quadro, const TRectype& riga, const T
|
||||
quadro.put("ANNO", datapag.year());
|
||||
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);
|
||||
//somme -= riga.get_real(PAG_IMPCPA);
|
||||
somme -= riga.get_real(PAG_SOMREGCONV);
|
||||
quadro.put(QUD_SOMME, somme); // altre somme non soggette
|
||||
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
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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');
|
||||
|
@ -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;
|
||||
|
@ -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% dell’ammontare 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 l’80% dell’ammontare erogato per le lavoratrici ed il 70% per i lavoratori) per i lavoratori appartenenti alle categorie individuate con Decreto del Ministro dell’Economia e delle Finanze del 3 giugno 2011 in possesso dei requisiti previsti e che hanno richiesto di fruire del beneficio fiscale previsto dall’art. 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% dell’ammontare 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 l’80% dell’ammontare erogato per le lavoratrici ed il 70% per i lavoratori) per i lavoratori appartenenti alle categorie individuate con Decreto del Ministro dell’Economia e delle Finanze del 3 giugno 2011 in possesso dei requisiti previsti e che hanno richiesto di fruire del beneficio fiscale previsto dall’art. 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% dell’ammontare erogato), relative ai compensi percepiti dai soggetti che hanno avviato un’attività di lavoro autonomo o di impresa, in base a quanto stabilito dall’articolo 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user