diff --git a/src/m770/770100.cpp b/src/m770/770100.cpp index b10aabfcc..8d4338dc6 100755 --- a/src/m770/770100.cpp +++ b/src/m770/770100.cpp @@ -22,8 +22,8 @@ // Token_string pilota per relazione tra l'informazione e la // sua posizione nello sheet, ogni riga individua uno sheet diverso const char* PILOT_SHEET[] = { - "DATAPAG|COMPENSO|SPESA|IMPONIBILE|PERC|RITENUTA|SOMREGCONV|ALQIMP10|CTSSNPERC|CTSSNCOMP|COD10|NETTO|SOMNSRIT|AMMLORDO|QUOTAPROV|IMPNETTO|COMNETTO|NUMVERS|NUMREG", - "DATAPAG|COMPENSO|IMPCPA|IMPONIBILE|PERC|RITENUTA|SPESA|SOMREGCONV|NETTO|SOMNSRIT|AMMLORDO|QUOTAPROV|IMPNETTO|COMNETTO|NUMVERS|NUMREG", + "DATAPAG|COMPENSO|SPESA|IMPONIBILE|PERC|RITENUTA|SOMREGCONV|ALQIMP10|CTSSNPERC|CTSSNCOMP|COD10|SRNETRIT|NETTO|SOMNSRIT|AMMLORDO|QUOTAPROV|IMPNETTO|COMNETTO|NUMVERS|NUMREG", + "DATAPAG|COMPENSO|IMPCPA|IMPONIBILE|PERC|RITENUTA|SPESA|SOMREGCONV|SRNETRIT|NETTO|SOMNSRIT|AMMLORDO|QUOTAPROV|IMPNETTO|COMNETTO|NUMVERS|NUMREG", }; // Items per causale quadro SC @@ -952,36 +952,37 @@ void TSchedaPercipienti::rec2row(TToken_string& r, TRectype& rec, int row) Pag_struct s; // compilo campi struttura - s.datapag = rec.get_date("DATAPAG"); - s.imponibile = rec.get_real("IMPONIBILE"); - s.perc = rec.get_real("PERC"); - s.ritenuta = rec.get_real("RITENUTA"); - s.compenso = rec.get_real("COMPENSO"); - s.netto = rec.get_real("NETTO"); - s.numvers = rec.get_long("NUMVERS"); - s.spesa = rec.get_real("SPESA"); - s.ctssnperc = rec.get_real("CTSSNPERC"); - s.ctssncomp = rec.get_real("CTSSNCOMP"); - s.ritlorda = rec.get_real("RITLORDA"); - s.controbb = rec.get_real("CONTROBB"); - s.detfamil = rec.get_real("DETFAMIL"); - s.detlavdip = rec.get_real("DETLAVDIP"); - s.totdet = rec.get_real("TOTDET"); - s.giolavdip = rec.get_int("GIOLAVDIP"); - s.impcpa = rec.get_real("IMPCPA"); - s.somregconv = rec.get_real("SOMREGCONV"); - s.alqimp10 = rec.get_real("ALQIMP10"); - s.cod10 = rec.get("COD10"); - s.utpagati = rec.get_real("UTPAGATI"); - s.utspett = rec.get_real("UTSPETT"); - s.ritutpag = rec.get_real("RITUTPAG"); - s.ritutspe = rec.get_real("RITUTSPE"); - s.nquote = rec.get_real("NQUOTE"); - s.somnsrit = rec.get_real("SOMNSRIT"); - s.ammlordo = rec.get_real("AMMLORDO"); - s.quotaprov = rec.get_real("QUOTAPROV"); - s.impnetto = rec.get_real("IMPNETTO"); - s.comnetto = rec.get_real("COMNETTO"); + s.datapag = rec.get_date(PAG_DATAPAG); + s.imponibile = rec.get_real(PAG_IMPONIBILE); + s.perc = rec.get_real(PAG_PERC); + s.ritenuta = rec.get_real(PAG_RITENUTA); + s.compenso = rec.get_real(PAG_COMPENSO); + s.netto = rec.get_real(PAG_NETTO); + s.numvers = rec.get_long(PAG_NUMVERS); + s.spesa = rec.get_real(PAG_SPESA); + s.ctssnperc = rec.get_real(PAG_INPSPERC); + s.ctssncomp = rec.get_real(PAG_INPSCOMP); + s.ritlorda = rec.get_real(PAG_RITLORDA); + s.controbb = rec.get_real(PAG_CONTROBB); + s.detfamil = rec.get_real(PAG_DETFAMIL); + s.detlavdip = rec.get_real(PAG_DETLAVDIP); + s.totdet = rec.get_real(PAG_TOTDET); + s.giolavdip = rec.get_int(PAG_GIOLAVDIP); + s.impcpa = rec.get_real(PAG_IMPCPA); + s.somregconv = rec.get_real(PAG_SOMREGCONV); + s.alqimp10 = rec.get_real(PAG_ALQIMP10); + s.cod10 = rec.get(PAG_COD10); + s.srnetrit = rec.get_real(PAG_SRNETRIT); + s.utpagati = rec.get_real(PAG_UTPAGATI); + s.utspett = rec.get_real(PAG_UTSPETT); + s.ritutpag = rec.get_real(PAG_RITUTPAG); + s.ritutspe = rec.get_real(PAG_RITUTSPE); + s.nquote = rec.get_real(PAG_NQUOTE); + s.somnsrit = rec.get_real(PAG_SOMNSRIT); + s.ammlordo = rec.get_real(PAG_AMMLORDO); + s.quotaprov = rec.get_real(PAG_QUOTAPROV); + s.impnetto = rec.get_real(PAG_IMPNETTO); + s.comnetto = rec.get_real(PAG_COMNETTO); s.numreg = rec.get_long(PAG_NUMREG); // compilo riga di sheet @@ -1339,36 +1340,37 @@ void TSchedaPercipienti::mask2rel(const TMask& m) h_CodNonSogg); // compilo restanti campi - r.put("DATAPAG", s.datapag); - r.put("IMPONIBILE",s.imponibile); - r.put("PERC", s.perc); - r.put("RITENUTA", s.ritenuta); - r.put("COMPENSO", s.compenso); - r.put("NETTO",s.netto); - r.put("NUMVERS", s.numvers); - r.put("SPESA", s.spesa); - r.put("CTSSNPERC", s.ctssnperc); - r.put("CTSSNCOMP", s.ctssncomp); - r.put("RITLORDA", s.ritlorda); - r.put("CONTROBB", s.controbb); - r.put("DETFAMIL", s.detfamil); - r.put("DETLAVDIP", s.detlavdip); - r.put("TOTDET", s.totdet); - r.put("GIOLAVDIP", s.giolavdip); - r.put("IMPCPA", s.impcpa); - r.put("SOMREGCONV", s.somregconv); - r.put("ALQIMP10", s.alqimp10); - r.put("COD10", s.cod10); - r.put("UTPAGATI", s.utpagati); - r.put("UTSPETT", s.utspett); - r.put("RITUTPAG", s.ritutpag); - r.put("RITUTSPE", s.ritutspe); - r.put("NQUOTE", s.nquote); - r.put("SOMNSRIT", s.somnsrit); - r.put("AMMLORDO", s.ammlordo); - r.put("QUOTAPROV", s.quotaprov); - r.put("IMPNETTO", s.impnetto); - r.put("COMNETTO", s.comnetto); + r.put(PAG_DATAPAG, s.datapag); + r.put(PAG_IMPONIBILE,s.imponibile); + r.put(PAG_PERC, s.perc); + r.put(PAG_RITENUTA, s.ritenuta); + r.put(PAG_COMPENSO, s.compenso); + r.put(PAG_NETTO,s.netto); + r.put(PAG_NUMVERS, s.numvers); + r.put(PAG_SPESA, s.spesa); + r.put(PAG_INPSPERC, s.ctssnperc); + r.put(PAG_INPSCOMP, s.ctssncomp); + r.put(PAG_RITLORDA, s.ritlorda); + r.put(PAG_CONTROBB, s.controbb); + r.put(PAG_DETFAMIL, s.detfamil); + r.put(PAG_DETLAVDIP, s.detlavdip); + r.put(PAG_TOTDET, s.totdet); + r.put(PAG_GIOLAVDIP, s.giolavdip); + r.put(PAG_IMPCPA, s.impcpa); + r.put(PAG_SOMREGCONV, s.somregconv); + r.put(PAG_ALQIMP10, s.alqimp10); + r.put(PAG_COD10, s.cod10); + r.put(PAG_SRNETRIT, s.srnetrit); + r.put(PAG_UTPAGATI, s.utpagati); + r.put(PAG_UTSPETT, s.utspett); + r.put(PAG_RITUTPAG, s.ritutpag); + r.put(PAG_RITUTSPE, s.ritutspe); + r.put(PAG_NQUOTE, s.nquote); + r.put(PAG_SOMNSRIT, s.somnsrit); + r.put(PAG_AMMLORDO, s.ammlordo); + r.put(PAG_QUOTAPROV, s.quotaprov); + r.put(PAG_IMPNETTO, s.impnetto); + r.put(PAG_COMNETTO, s.comnetto); r.put(PAG_NUMREG, s.numreg); } @@ -1712,7 +1714,11 @@ Pag_struct& TSchedaPercipienti::from_sheet_to_struct(TToken_string& t, Pag_struc // set codice contributo 10% if ((pos = token_pos("COD10")) != -1) - s.cod10 = t.get(pos); + s.cod10 = t.get(pos); + + // set imorti restituiti al netto della ritenuta + if ((pos = token_pos("SRNETRIT")) != -1) + s.srnetrit = t.get_real(pos); // set utili pagati if ((pos = token_pos("UTPAGATI")) != -1) @@ -1853,6 +1859,10 @@ void TSchedaPercipienti::from_struct_to_sheet(const Pag_struct& s, TToken_string if ((pos = token_pos("COD10")) != -1) t.add(s.cod10, pos); + // set imorti restituiti al netto della ritenuta + if ((pos = token_pos("SRNETRIT")) != -1) + t.add(s.srnetrit, pos); + // set utili pagati if ((pos = token_pos("UTPAGATI")) != -1) t.add(s.utpagati.string(), pos); @@ -1989,6 +1999,10 @@ Pag_struct& TSchedaPercipienti::from_mask_to_struct(const TMask& m, Pag_struct& if ((dlg = token_dlg("COD10")) != -1) s.cod10 = m.get(dlg); + // set importi retituiti al netto della ritenuta + if ((dlg = token_dlg("SRNETRIT")) != -1) + s.srnetrit = m.get_real(dlg); + // set utili pagati if ((dlg = token_dlg("UTPAGATI")) != -1) s.utpagati = m.get_real(dlg); @@ -2119,6 +2133,10 @@ void TSchedaPercipienti::from_struct_to_mask(const Pag_struct& s, TMask& m) cons // set codice contributo 10% if ((dlg = token_dlg("COD10")) != -1) m.set(dlg, s.cod10); + + // set importi retituiti al netto della ritenuta + if ((dlg = token_dlg("SRNETRIT")) != -1) + m.set(dlg, s.srnetrit); // set utili pagati if ((dlg = token_dlg("UTPAGATI")) != -1) @@ -2187,6 +2205,7 @@ Pag_struct& TSchedaPercipienti::clear_struct(Pag_struct& s) const s.somregconv = ZERO; s.alqimp10 = ZERO; s.cod10 = ""; + s.srnetrit = ZERO; s.utpagati = ZERO; s.utspett = ZERO; s.ritutpag = ZERO; diff --git a/src/m770/770100b.uml b/src/m770/770100b.uml index 45a0a8e02..bb39688bc 100755 --- a/src/m770/770100b.uml +++ b/src/m770/770100b.uml @@ -251,6 +251,7 @@ BEGIN ITEM "Con.10% perc.@15" ITEM "Con.10% compl.@15" ITEM "Cod.10%" + ITEM "Somme restituite\n netto ritenuta@15" ITEM "Compenso netto@15" ITEM "Som.non sog.rit@15" ITEM "Ammontare lordo@15" @@ -273,6 +274,7 @@ BEGIN ITEM "Ritenuta@15" ITEM "Spese@15" ITEM "Somme reg.conv.@15" + ITEM "Somme restituite\n netto ritenuta@15" ITEM "Compenso netto@15" ITEM "Som.non sog.rit@15" ITEM "Ammontare lordo@15" diff --git a/src/m770/770100e.uml b/src/m770/770100e.uml index 1f675d9e9..1efc403af 100755 --- a/src/m770/770100e.uml +++ b/src/m770/770100e.uml @@ -1,7 +1,7 @@ // m70100e.uml - masksheet riga pagamento quadri D,D1,E,E1 // con l'ultima versione dei quadri si utilizza con SF SG (tanto per complicarci la vita) -PAGE "Pagamento " -1 -1 50 19 +PAGE "Pagamento " -1 -1 80 25 DATE 101 BEGIN @@ -97,12 +97,23 @@ END TEXT DLG_NULL BEGIN - PROMPT 2 10 "Compenso netto" + PROMPT 2 10 "Somme Rest.Net.Rit." END CURRENCY 109 15 BEGIN PROMPT 33 10 "" + FIELD LF_RPAG->SRNETRIT +END + +TEXT DLG_NULL +BEGIN + PROMPT 2 11 "Compenso netto" +END + +CURRENCY 110 15 +BEGIN + PROMPT 33 11 "" FLAGS "D" FIELD LF_RPAG->NETTO END @@ -110,42 +121,42 @@ END // -------------------------------------------------- // Inizio campi gestiti a programma ma non a maschera // -------------------------------------------------- -CURRENCY 110 15 +CURRENCY 111 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->SOMNSRIT END -CURRENCY 111 15 +CURRENCY 112 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->AMMLORDO END -CURRENCY 112 15 +CURRENCY 113 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->QUOTAPROV END -CURRENCY 113 15 +CURRENCY 114 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->IMPNETTO END -CURRENCY 114 15 +CURRENCY 115 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->COMNETTO END -NUMBER 115 5 +NUMBER 116 5 BEGIN PROMPT 80 80 "" FLAGS "D" @@ -155,7 +166,7 @@ END // Fine campi gestiti a programma ma non a maschera // ------------------------------------------------ -NUMBER 116 7 +NUMBER 117 7 BEGIN PROMPT 33 11 "Registrazione num." FLAGS "DR" diff --git a/src/m770/770100f.uml b/src/m770/770100f.uml index 6bf9de2ad..585d1177c 100755 --- a/src/m770/770100f.uml +++ b/src/m770/770100f.uml @@ -1,7 +1,7 @@ // m70100f.uml - masksheet riga pagamento quadri Dbis // con l'ultima versione dei quadri si utilizza con SC SE (incasiniamoci) -PAGE "Pagamento " -1 -1 50 19 +PAGE "Pagamento " -1 -1 80 24 DATE 101 BEGIN @@ -141,14 +141,26 @@ BEGIN WARNING "Il codice contributo Inps deve essere indicato" END + TEXT DLG_NULL BEGIN - PROMPT 2 13 "Compenso netto" + PROMPT 2 13 "Somme Rest.Net.Rit." END CURRENCY 112 15 BEGIN PROMPT 33 13 "" + FIELD LF_RPAG->SRNETRIT +END + +TEXT DLG_NULL +BEGIN + PROMPT 2 15 "Compenso netto" +END + +CURRENCY 113 15 +BEGIN + PROMPT 33 15 "" FLAGS "D" FIELD LF_RPAG->NETTO END @@ -156,42 +168,42 @@ END // -------------------------------------------------- // Inizio campi gestiti a programma ma non a maschera // -------------------------------------------------- -CURRENCY 113 15 +CURRENCY 114 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->SOMNSRIT END -CURRENCY 114 15 +CURRENCY 115 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->AMMLORDO END -CURRENCY 115 15 +CURRENCY 116 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->QUOTAPROV END -CURRENCY 116 15 +CURRENCY 117 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->IMPNETTO END -CURRENCY 117 15 +CURRENCY 118 15 BEGIN PROMPT 80 80 "" FLAGS "D" FIELD LF_RPAG->COMNETTO END -NUMBER 118 5 +NUMBER 119 5 BEGIN PROMPT 80 80 "" FLAGS "D" @@ -201,7 +213,7 @@ END // Fine campi gestiti a programma ma non a maschera // ------------------------------------------------ -NUMBER 119 7 +NUMBER 120 7 BEGIN PROMPT 33 14 "Registrazione num. " FLAGS "DR" diff --git a/src/m770/771230.cpp b/src/m770/771230.cpp index bf0f04aee..d2b7095d7 100755 --- a/src/m770/771230.cpp +++ b/src/m770/771230.cpp @@ -127,12 +127,15 @@ void TRighe_riepilogo::genera_la(TRectype& quadro, const TRectype& riga, const T { const real inps_perc = riga.get_real(PAG_INPSPERC); const real inps_erog = inps_tot - inps_perc; - const real somm_rest = riga.get_real(PAG_NETRIT); + + quadro.put(QUD_CTINPSEROG, inps_erog); // AUXXX020 quadro.put(QUD_CTINPSPERC, inps_perc); // AUXXX021 - quadro.put(QUD_SRNETRIT, somm_rest); // AUXXX022 } + const real somm_rest = riga.get_real(PAG_SRNETRIT); + + quadro.put(QUD_SRNETRIT, somm_rest); // AUXXX022 if (somme.is_zero() && quadro.get(QUD_TOTALE) == quadro.get(QUD_IMPONIBILE)) { const TRectype& ca7 = cache().get("%CA7", codcaus); @@ -827,7 +830,7 @@ void TQuadroC_E2::genera_la(TRectype& quadro, const TRectype& riga, const TStrin const real inps_tot = riga.get(PAG_INPSCOMP); real inps_erog, inps_perc; - const real somm_rest = riga.get_real(PAG_NETRIT); + const real somm_rest = riga.get_real(PAG_SRNETRIT); if (inps_tot > ZERO && riga.get_real(PAG_IMPONIBILE) > real(5000)) { inps_perc = riga.get_real(PAG_INPSPERC); @@ -835,7 +838,7 @@ void TQuadroC_E2::genera_la(TRectype& quadro, const TRectype& riga, const TStrin } quadro.put(QUD_CTINPSEROG, inps_erog); // AUXXX020 quadro.put(QUD_CTINPSPERC, inps_perc); // AUXXX021 - quadro.put(QUD_SRNETRIT, somm_rest); // AUXXX022 + quadro.put(QUD_SRNETRIT, somm_rest); // AUXXX022 const TRectype& perc = cache().get_rec(LF_PERC, quadro.get(SPR_CODDITTA), quadro.get(SPR_TIPOA), quadro.get(SPR_CODANAGR)); quadro.put("ENTEPREV", perc.get("ENTEPREV")); // AUXXX029 / 32 diff --git a/src/m770/777100.cpp b/src/m770/777100.cpp index 931e2b2e1..2df307bcb 100755 --- a/src/m770/777100.cpp +++ b/src/m770/777100.cpp @@ -572,7 +572,7 @@ void TCache770::destroy() /////////////////////////////////////////////////////////// const char* TTrasferimento770::default_name() const -{ return "MOD77015"; } +{ return "MOD77021"; } bool TTrasferimento770::open(const char* path, char mode, int volume) { diff --git a/src/m770/777200.cpp b/src/m770/777200.cpp index 66c1793ab..5ced4658c 100755 --- a/src/m770/777200.cpp +++ b/src/m770/777200.cpp @@ -20,6 +20,7 @@ #include #include "base.h" #include "quadroc.h" +#include "quadrod.h" /////////////////////////////////////////////////////////// // Utilities @@ -751,6 +752,7 @@ bool TTrasferimentoCU::append_record_d(const TRectype& qla, TLog_report& log) else // Estero aggiunta 2021 { TString stato_estero; + rec.np_put("DA002011", stato_estero); } @@ -848,10 +850,10 @@ bool TTrasferimentoCU::append_record_h(const TRectype& qla, int modulo, TLog_rep rec.np_put("AU001019", qla.get_real("RITANNIPRE")); // ritenute anni precedenti rec.np_put("AU001020", qla.get_real("SPESERIMB")); // spese rimborsate rec.np_put("AU001021", qla.get_real("RITRIMB")); // ritenute rimborsate - rec.np_put("AU001022", qla.get_real("SRNETRIT")); // somme restituite al netto della ritenuta subita + rec.np_put("AU001022", qla.get_real(QUD_SRNETRIT)); // somme restituite al netto della ritenuta subita - const real cce = qla.get_real("CTINPSEROG"); - const real ccp = qla.get_real("CTINPSPERC"); + const real cce = qla.get_real(QUD_CTINPSEROG); + const real ccp = qla.get_real(QUD_CTINPSPERC); const real cal = qla.get_real("ALTRICONTR"); const real cdo = qla.get_real("CONTRDOV"); const real cve = qla.get_real("CONTRVER"); diff --git a/src/m770/777200.h b/src/m770/777200.h index 157c0c8f7..4534d288d 100644 --- a/src/m770/777200.h +++ b/src/m770/777200.h @@ -6,10 +6,10 @@ #endif // Nota che sono stati definiti anche in 777lib -#define THIS_YEAR "2020" -#define THIS_YEARN 2020 -#define LAST_YEAR "2019" -#define LAST_YEARN 2019 +#define THIS_YEAR "2021" +#define THIS_YEARN 2021 +#define LAST_YEAR "2020" +#define LAST_YEARN 2020 class TRecordCU; diff --git a/src/m770/777201.cpp b/src/m770/777201.cpp index a10fec58b..9895f937d 100644 --- a/src/m770/777201.cpp +++ b/src/m770/777201.cpp @@ -725,7 +725,6 @@ void TCU_report::create_D() add_labeled_field(body, 1, 49, 3, "#DA002008", "Categorie\nparticolari", 'C'); add_labeled_number(body,1, 55, 3, "#DA002009", "Eventi\neccezionali", 'C'); add_labeled_number(body,1, 61, 3, "#DA002010", "Casi di esclusione\ndalla precompilata", 'C'); - add_labeled_number(body,1, 67, 3, "#DA002011", "Stato\nEstero", 'C'); end_paragraph(body); begin_paragraph(body, CU_AFTER_LAST, 8, ""); @@ -749,9 +748,6 @@ void TCU_report::create_D() add_labeled_field(body, 0, 0, 16, "#DA002040", "Codice di identificazione fiscale estero"); add_labeled_field(body, 0, CU_AFTER_LAST, CU_ALIGN_RIGHT, "#DA002041", "Località di residenza estera"); add_labeled_field(body, 1, 0, 50, "#DA002042", "Via e numero civico"); - - // 2015 - //add_labeled_field(body, 1, CU_ALIGN_RIGHT, 5, "#DA002043", "Codice Stato estero", 'C'); // 2016 add_labeled_field(body, 1, CU_AFTER_LAST, 5, "#DA002043", "Non residenti\nShumacker", 'C'); add_labeled_field(body, 1, CU_ALIGN_RIGHT, 5, "#DA002044", "Codice Stato estero", 'C'); @@ -785,15 +781,15 @@ void TCU_report::create_H() title->set_picture("CERTIFICAZIONE LAVORO AUTONOMO, PROVVIGIONI E REDDITI DIVERSI"); title->set_font(fnt_big); body.add(title); - add_band(body, 5, _syntetic ? 44: 58); + add_band(body, 5, _syntetic ? 46 : 63); const int tab0 = 2, tab1 = 6, tab2 = 27, tab3 = CU_ALIGN_RIGHT; - begin_paragraph(body, 5, 3, "DATI RELATIVI ALLE SOMME EROGATE\nTIPOLOGIA REDDITUALE", 0x3); + begin_paragraph(body, 5, 5, "DATI RELATIVI ALLE SOMME EROGATE\nTIPOLOGIA REDDITUALE"); // , 0x3); add_labeled_field(body, 0, tab0, 2, "#AU001001", "Causale"); end_paragraph(body); - begin_paragraph(body, -1, 18, "DATI FISCALI"); + begin_paragraph(body, -1, _syntetic ? 18 : 21, "DATI FISCALI"); add_labeled_number(body, 0, tab1-1, 4, "#AU001002", "Anno", 'C'); add_labeled_bool (body, 0, CU_AFTER_LAST, 2, "#AU001003", "Anticipazione"); add_labeled_number(body, 0, tab2, CU_EURO_LEN, "#AU001004", "Ammontare lordo corrisposto", 'C'); @@ -819,7 +815,8 @@ void TCU_report::create_H() add_labeled_number(body, 5, tab1, CU_EURO_LEN, "#AU001019", "Ritenute operate anni precedenti", 'C'); add_labeled_number(body, 5, tab2, CU_EURO_LEN, "#AU001020", "Spese rimborsate", 'C'); add_labeled_number(body, 5, tab3, CU_EURO_LEN, "#AU001021", "Ritenute rimborsate", 'C'); - add_labeled_number(body, 5, tab3, CU_EURO_LEN, "#AU001022", "Somme restituite al netto della ritenuta subita", 'C'); + if (!_syntetic) + add_labeled_number(body, 6, tab1, CU_EURO_LEN, "#AU001022", "Somme restituite al netto della ritenuta subita", 'C'); end_paragraph(body); // 2016 diff --git a/src/m770/777lib.h b/src/m770/777lib.h index 19e7e76c5..7333e8f8c 100644 --- a/src/m770/777lib.h +++ b/src/m770/777lib.h @@ -9,10 +9,10 @@ #define CF_PRODUTTORE get_iva_sirio(); // Nota che sono anche definiti in 777200.h -#define THIS_YEAR "2020" -#define THIS_YEARN 2020 -#define LAST_YEAR "2019" -#define LAST_YEARN 2019 +#define THIS_YEAR "2021" +#define THIS_YEARN 2021 +#define LAST_YEAR "2020" +#define LAST_YEARN 2020 enum { CODE_SIZE = 8, FIELD_SIZE = 16, BLOCK_SIZE = 24, HEADER_SIZE = 89, USEABLE_SIZE = 1800, TOTAL_SIZE = 1900 }; diff --git a/src/m770/77lib.h b/src/m770/77lib.h index cc4ea5505..0d4565b39 100755 --- a/src/m770/77lib.h +++ b/src/m770/77lib.h @@ -388,6 +388,7 @@ struct Pag_struct real somregconv; real alqimp10; TString16 cod10; + real srnetrit; real utpagati; real utspett; real ritutpag; diff --git a/src/m770/77lib01.cpp b/src/m770/77lib01.cpp index 93542fefd..a05da46cb 100755 --- a/src/m770/77lib01.cpp +++ b/src/m770/77lib01.cpp @@ -1082,65 +1082,67 @@ bool TVersamento_stampa::find(TVersamento& vers) // overloading operatore di confronto per la struct dei pagamenti bool Pag_struct::operator==(const Pag_struct& s) const { - if (this->datapag != s.datapag) + if (datapag != s.datapag) return 0; - if (this->imponibile != s.imponibile) + if (imponibile != s.imponibile) return 0; - if (this->perc != s.perc) + if (perc != s.perc) return 0; - if (this->ritenuta != s.ritenuta) + if (ritenuta != s.ritenuta) return 0; - if (this->compenso != s.compenso) + if (compenso != s.compenso) return 0; - if (this->netto != s.netto) + if (netto != s.netto) return 0; - if (this->numvers != s.numvers) + if (numvers != s.numvers) return 0; - if (this->spesa != s.spesa) + if (spesa != s.spesa) return 0; - if (this->ctssnperc != s.ctssnperc) + if (ctssnperc != s.ctssnperc) return 0; - if (this->ctssncomp != s.ctssncomp) + if (ctssncomp != s.ctssncomp) return 0; - if (this->ritlorda != s.ritlorda) + if (ritlorda != s.ritlorda) return 0; - if (this->controbb != s.controbb) + if (controbb != s.controbb) return 0; - if (this->detfamil != s.detfamil) + if (detfamil != s.detfamil) return 0; - if (this->detlavdip != s.detlavdip) + if (detlavdip != s.detlavdip) return 0; - if (this->totdet != s.totdet) + if (totdet != s.totdet) return 0; - if (this->giolavdip != s.giolavdip) + if (giolavdip != s.giolavdip) return 0; - if (this->impcpa != s.impcpa) + if (impcpa != s.impcpa) return 0; - if (this->somregconv != s.somregconv) + if (somregconv != s.somregconv) return 0; - if (this->alqimp10 != s.alqimp10) + if (alqimp10 != s.alqimp10) return 0; - if (this->cod10 != s.cod10) + if (cod10 != s.cod10) return 0; - if (this->utpagati != s.utpagati) + if (srnetrit != s.srnetrit) return 0; - if (this->utspett != s.utspett) + if (utpagati != s.utpagati) return 0; - if (this->ritutpag != s.ritutpag) + if (utspett != s.utspett) return 0; - if (this->ritutspe != s.ritutspe) + if (ritutpag != s.ritutpag) return 0; - if (this->nquote != s.nquote) + if (ritutspe != s.ritutspe) return 0; - if (this->somnsrit != s.somnsrit) + if (nquote != s.nquote) return 0; - if (this->ammlordo != s.ammlordo) + if (somnsrit != s.somnsrit) return 0; - if (this->quotaprov != s.quotaprov) + if (ammlordo != s.ammlordo) return 0; - if (this->impnetto != s.impnetto) + if (quotaprov != s.quotaprov) return 0; - if (this->comnetto != s.comnetto) + if (impnetto != s.impnetto) + return 0; + if (comnetto != s.comnetto) return 0; // strutture uguali @@ -1152,37 +1154,38 @@ bool Pag_struct::operator==(const Pag_struct& s) const Pag_struct& Pag_struct::operator=(const TRectype& rec) { // compila struttura con valori del record - this->datapag = rec.get_date("DATAPAG"); - this->imponibile = rec.get_real("IMPONIBILE"); - this->perc = rec.get_real("PERC"); - this->ritenuta = rec.get_real("RITENUTA"); - this->compenso = rec.get_real("COMPENSO"); - this->netto = rec.get_real("NETTO"); - this->numvers = rec.get_long("NUMVERS"); - this->spesa = rec.get_real("SPESA"); - this->ctssnperc = rec.get_real("CTSSNPERC"); - this->ctssncomp = rec.get_real("CTSSNCOMP"); - this->ritlorda = rec.get_real("RITLORDA"); - this->controbb = rec.get_real("CONTROBB"); - this->detfamil = rec.get_real("DETFAMIL"); - this->detlavdip = rec.get_real("DETLAVDIP"); - this->totdet = rec.get_real("TOTDET"); - this->giolavdip = rec.get_int("GIOLAVDIP"); - this->impcpa = rec.get_real("IMPCPA"); - this->somregconv = rec.get_real("SOMREGCONV"); - this->alqimp10 = rec.get_real("ALQIMP10"); - this->cod10 = rec.get("COD10"); - this->utpagati = rec.get_real("UTPAGATI"); - this->utspett = rec.get_real("UTSPETT"); - this->ritutpag = rec.get_real("RITUTPAG"); - this->ritutspe = rec.get_real("RITUTSPE"); - this->nquote = rec.get_real("NQUOTE"); - this->somnsrit = rec.get_real("SOMNSRIT"); - this->ammlordo = rec.get_real("AMMLORDO"); - this->quotaprov = rec.get_real("QUOTAPROV"); - this->impnetto = rec.get_real("IMPNETTO"); - this->comnetto = rec.get_real(PAG_COMNETTO); - this->numreg = rec.get_long(PAG_NUMREG); + datapag = rec.get_date(PAG_DATAPAG); + imponibile = rec.get_real(PAG_IMPONIBILE); + perc = rec.get_real(PAG_PERC); + ritenuta = rec.get_real(PAG_RITENUTA); + compenso = rec.get_real(PAG_COMPENSO); + netto = rec.get_real(PAG_NETTO); + numvers = rec.get_long(PAG_NUMVERS); + spesa = rec.get_real(PAG_SPESA); + ctssnperc = rec.get_real(PAG_INPSPERC); + ctssncomp = rec.get_real(PAG_INPSCOMP); + ritlorda = rec.get_real(PAG_RITLORDA); + controbb = rec.get_real(PAG_CONTROBB); + detfamil = rec.get_real(PAG_DETFAMIL); + detlavdip = rec.get_real(PAG_DETLAVDIP); + totdet = rec.get_real(PAG_TOTDET); + giolavdip = rec.get_int(PAG_GIOLAVDIP); + impcpa = rec.get_real(PAG_IMPCPA); + somregconv = rec.get_real(PAG_SOMREGCONV); + alqimp10 = rec.get_real(PAG_ALQIMP10); + cod10 = rec.get(PAG_COD10); + srnetrit = rec.get_real(PAG_SRNETRIT); + utpagati = rec.get_real(PAG_UTPAGATI); + utspett = rec.get_real(PAG_UTSPETT); + ritutpag = rec.get_real(PAG_RITUTPAG); + ritutspe = rec.get_real(PAG_RITUTSPE); + nquote = rec.get_real(PAG_NQUOTE); + somnsrit = rec.get_real(PAG_SOMNSRIT); + ammlordo = rec.get_real(PAG_AMMLORDO); + quotaprov = rec.get_real(PAG_QUOTAPROV); + impnetto = rec.get_real(PAG_IMPNETTO); + comnetto = rec.get_real(PAG_COMNETTO); + numreg = rec.get_long(PAG_NUMREG); return *this; } @@ -1191,28 +1194,29 @@ Pag_struct& Pag_struct::operator=(const TRectype& rec) Pag_struct& Pag_struct::operator+=(const Pag_struct& s) { // aggiunge agli importi i valori della struttura passata - this->imponibile += s.imponibile; - this->ritenuta += s.ritenuta; - this->compenso += s.compenso; - this->netto += s.netto; - this->spesa += s.spesa; - this->ctssnperc += s.ctssnperc; - this->ctssncomp += s.ctssncomp; - this->ritlorda += s.ritlorda; - this->controbb += s.controbb; - this->detfamil += s.detfamil; - this->detlavdip += s.detlavdip; - this->totdet += s.totdet; - this->impcpa += s.impcpa; - this->somregconv += s.somregconv; - this->utpagati += s.utpagati; - this->utspett += s.utspett; - this->ritutpag += s.ritutpag; - this->ritutspe += s.ritutspe; - this->somnsrit += s.somnsrit; - this->ammlordo += s.ammlordo; - this->quotaprov += s.quotaprov; - this->impnetto += s.impnetto; + imponibile += s.imponibile; + ritenuta += s.ritenuta; + compenso += s.compenso; + netto += s.netto; + spesa += s.spesa; + ctssnperc += s.ctssnperc; + ctssncomp += s.ctssncomp; + srnetrit += s.srnetrit; + ritlorda += s.ritlorda; + controbb += s.controbb; + detfamil += s.detfamil; + detlavdip += s.detlavdip; + totdet += s.totdet; + impcpa += s.impcpa; + somregconv += s.somregconv; + utpagati += s.utpagati; + utspett += s.utspett; + ritutpag += s.ritutpag; + ritutspe += s.ritutspe; + somnsrit += s.somnsrit; + ammlordo += s.ammlordo; + quotaprov += s.quotaprov; + impnetto += s.impnetto; this->comnetto += s.comnetto; return *this; diff --git a/src/m770/rpag.h b/src/m770/rpag.h index cd2ae6953..70e955d75 100755 --- a/src/m770/rpag.h +++ b/src/m770/rpag.h @@ -18,7 +18,7 @@ #define PAG_NUMPAG "NUMPAG" #define PAG_SPESA "SPESA" #define PAG_INPSPERC "CTSSNPERC" -#define PAG_NETRIT "SRNETRIT" +#define PAG_SRNETRIT "SRNETRIT" #define PAG_INPSCOMP "CTSSNCOMP" #define PAG_RITLORDA "RITLORDA" #define PAG_CONTROBB "CONTROBB"