Patch level : 12.0 1032

Files correlati     : 770.exe 770100b.uml 771mod.exe 777.exe

Commento :

Certificazione Unica 2021

Interno

Da contollare l'invio e la corrispondenza delmodul cetificazione unica.
This commit is contained in:
Alessandro Bonazzi 2021-02-14 19:22:49 +01:00
parent e4ff08bd51
commit 4dfa874deb
13 changed files with 240 additions and 189 deletions

View File

@ -22,8 +22,8 @@
// Token_string pilota per relazione tra l'informazione e la // Token_string pilota per relazione tra l'informazione e la
// sua posizione nello sheet, ogni riga individua uno sheet diverso // sua posizione nello sheet, ogni riga individua uno sheet diverso
const char* PILOT_SHEET[] = { 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|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|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 // Items per causale quadro SC
@ -952,36 +952,37 @@ void TSchedaPercipienti::rec2row(TToken_string& r, TRectype& rec, int row)
Pag_struct s; Pag_struct s;
// compilo campi struttura // compilo campi struttura
s.datapag = rec.get_date("DATAPAG"); s.datapag = rec.get_date(PAG_DATAPAG);
s.imponibile = rec.get_real("IMPONIBILE"); s.imponibile = rec.get_real(PAG_IMPONIBILE);
s.perc = rec.get_real("PERC"); s.perc = rec.get_real(PAG_PERC);
s.ritenuta = rec.get_real("RITENUTA"); s.ritenuta = rec.get_real(PAG_RITENUTA);
s.compenso = rec.get_real("COMPENSO"); s.compenso = rec.get_real(PAG_COMPENSO);
s.netto = rec.get_real("NETTO"); s.netto = rec.get_real(PAG_NETTO);
s.numvers = rec.get_long("NUMVERS"); s.numvers = rec.get_long(PAG_NUMVERS);
s.spesa = rec.get_real("SPESA"); s.spesa = rec.get_real(PAG_SPESA);
s.ctssnperc = rec.get_real("CTSSNPERC"); s.ctssnperc = rec.get_real(PAG_INPSPERC);
s.ctssncomp = rec.get_real("CTSSNCOMP"); s.ctssncomp = rec.get_real(PAG_INPSCOMP);
s.ritlorda = rec.get_real("RITLORDA"); s.ritlorda = rec.get_real(PAG_RITLORDA);
s.controbb = rec.get_real("CONTROBB"); s.controbb = rec.get_real(PAG_CONTROBB);
s.detfamil = rec.get_real("DETFAMIL"); s.detfamil = rec.get_real(PAG_DETFAMIL);
s.detlavdip = rec.get_real("DETLAVDIP"); s.detlavdip = rec.get_real(PAG_DETLAVDIP);
s.totdet = rec.get_real("TOTDET"); s.totdet = rec.get_real(PAG_TOTDET);
s.giolavdip = rec.get_int("GIOLAVDIP"); s.giolavdip = rec.get_int(PAG_GIOLAVDIP);
s.impcpa = rec.get_real("IMPCPA"); s.impcpa = rec.get_real(PAG_IMPCPA);
s.somregconv = rec.get_real("SOMREGCONV"); s.somregconv = rec.get_real(PAG_SOMREGCONV);
s.alqimp10 = rec.get_real("ALQIMP10"); s.alqimp10 = rec.get_real(PAG_ALQIMP10);
s.cod10 = rec.get("COD10"); s.cod10 = rec.get(PAG_COD10);
s.utpagati = rec.get_real("UTPAGATI"); s.srnetrit = rec.get_real(PAG_SRNETRIT);
s.utspett = rec.get_real("UTSPETT"); s.utpagati = rec.get_real(PAG_UTPAGATI);
s.ritutpag = rec.get_real("RITUTPAG"); s.utspett = rec.get_real(PAG_UTSPETT);
s.ritutspe = rec.get_real("RITUTSPE"); s.ritutpag = rec.get_real(PAG_RITUTPAG);
s.nquote = rec.get_real("NQUOTE"); s.ritutspe = rec.get_real(PAG_RITUTSPE);
s.somnsrit = rec.get_real("SOMNSRIT"); s.nquote = rec.get_real(PAG_NQUOTE);
s.ammlordo = rec.get_real("AMMLORDO"); s.somnsrit = rec.get_real(PAG_SOMNSRIT);
s.quotaprov = rec.get_real("QUOTAPROV"); s.ammlordo = rec.get_real(PAG_AMMLORDO);
s.impnetto = rec.get_real("IMPNETTO"); s.quotaprov = rec.get_real(PAG_QUOTAPROV);
s.comnetto = rec.get_real("COMNETTO"); s.impnetto = rec.get_real(PAG_IMPNETTO);
s.comnetto = rec.get_real(PAG_COMNETTO);
s.numreg = rec.get_long(PAG_NUMREG); s.numreg = rec.get_long(PAG_NUMREG);
// compilo riga di sheet // compilo riga di sheet
@ -1339,36 +1340,37 @@ void TSchedaPercipienti::mask2rel(const TMask& m)
h_CodNonSogg); h_CodNonSogg);
// compilo restanti campi // compilo restanti campi
r.put("DATAPAG", s.datapag); r.put(PAG_DATAPAG, s.datapag);
r.put("IMPONIBILE",s.imponibile); r.put(PAG_IMPONIBILE,s.imponibile);
r.put("PERC", s.perc); r.put(PAG_PERC, s.perc);
r.put("RITENUTA", s.ritenuta); r.put(PAG_RITENUTA, s.ritenuta);
r.put("COMPENSO", s.compenso); r.put(PAG_COMPENSO, s.compenso);
r.put("NETTO",s.netto); r.put(PAG_NETTO,s.netto);
r.put("NUMVERS", s.numvers); r.put(PAG_NUMVERS, s.numvers);
r.put("SPESA", s.spesa); r.put(PAG_SPESA, s.spesa);
r.put("CTSSNPERC", s.ctssnperc); r.put(PAG_INPSPERC, s.ctssnperc);
r.put("CTSSNCOMP", s.ctssncomp); r.put(PAG_INPSCOMP, s.ctssncomp);
r.put("RITLORDA", s.ritlorda); r.put(PAG_RITLORDA, s.ritlorda);
r.put("CONTROBB", s.controbb); r.put(PAG_CONTROBB, s.controbb);
r.put("DETFAMIL", s.detfamil); r.put(PAG_DETFAMIL, s.detfamil);
r.put("DETLAVDIP", s.detlavdip); r.put(PAG_DETLAVDIP, s.detlavdip);
r.put("TOTDET", s.totdet); r.put(PAG_TOTDET, s.totdet);
r.put("GIOLAVDIP", s.giolavdip); r.put(PAG_GIOLAVDIP, s.giolavdip);
r.put("IMPCPA", s.impcpa); r.put(PAG_IMPCPA, s.impcpa);
r.put("SOMREGCONV", s.somregconv); r.put(PAG_SOMREGCONV, s.somregconv);
r.put("ALQIMP10", s.alqimp10); r.put(PAG_ALQIMP10, s.alqimp10);
r.put("COD10", s.cod10); r.put(PAG_COD10, s.cod10);
r.put("UTPAGATI", s.utpagati); r.put(PAG_SRNETRIT, s.srnetrit);
r.put("UTSPETT", s.utspett); r.put(PAG_UTPAGATI, s.utpagati);
r.put("RITUTPAG", s.ritutpag); r.put(PAG_UTSPETT, s.utspett);
r.put("RITUTSPE", s.ritutspe); r.put(PAG_RITUTPAG, s.ritutpag);
r.put("NQUOTE", s.nquote); r.put(PAG_RITUTSPE, s.ritutspe);
r.put("SOMNSRIT", s.somnsrit); r.put(PAG_NQUOTE, s.nquote);
r.put("AMMLORDO", s.ammlordo); r.put(PAG_SOMNSRIT, s.somnsrit);
r.put("QUOTAPROV", s.quotaprov); r.put(PAG_AMMLORDO, s.ammlordo);
r.put("IMPNETTO", s.impnetto); r.put(PAG_QUOTAPROV, s.quotaprov);
r.put("COMNETTO", s.comnetto); r.put(PAG_IMPNETTO, s.impnetto);
r.put(PAG_COMNETTO, s.comnetto);
r.put(PAG_NUMREG, s.numreg); r.put(PAG_NUMREG, s.numreg);
} }
@ -1714,6 +1716,10 @@ Pag_struct& TSchedaPercipienti::from_sheet_to_struct(TToken_string& t, Pag_struc
if ((pos = token_pos("COD10")) != -1) 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 // set utili pagati
if ((pos = token_pos("UTPAGATI")) != -1) if ((pos = token_pos("UTPAGATI")) != -1)
s.utpagati = t.get(pos); s.utpagati = t.get(pos);
@ -1853,6 +1859,10 @@ void TSchedaPercipienti::from_struct_to_sheet(const Pag_struct& s, TToken_string
if ((pos = token_pos("COD10")) != -1) if ((pos = token_pos("COD10")) != -1)
t.add(s.cod10, pos); 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 // set utili pagati
if ((pos = token_pos("UTPAGATI")) != -1) if ((pos = token_pos("UTPAGATI")) != -1)
t.add(s.utpagati.string(), pos); 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) if ((dlg = token_dlg("COD10")) != -1)
s.cod10 = m.get(dlg); 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 // set utili pagati
if ((dlg = token_dlg("UTPAGATI")) != -1) if ((dlg = token_dlg("UTPAGATI")) != -1)
s.utpagati = m.get_real(dlg); s.utpagati = m.get_real(dlg);
@ -2120,6 +2134,10 @@ void TSchedaPercipienti::from_struct_to_mask(const Pag_struct& s, TMask& m) cons
if ((dlg = token_dlg("COD10")) != -1) if ((dlg = token_dlg("COD10")) != -1)
m.set(dlg, s.cod10); 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 // set utili pagati
if ((dlg = token_dlg("UTPAGATI")) != -1) if ((dlg = token_dlg("UTPAGATI")) != -1)
m.set(dlg, s.utpagati); m.set(dlg, s.utpagati);
@ -2187,6 +2205,7 @@ Pag_struct& TSchedaPercipienti::clear_struct(Pag_struct& s) const
s.somregconv = ZERO; s.somregconv = ZERO;
s.alqimp10 = ZERO; s.alqimp10 = ZERO;
s.cod10 = ""; s.cod10 = "";
s.srnetrit = ZERO;
s.utpagati = ZERO; s.utpagati = ZERO;
s.utspett = ZERO; s.utspett = ZERO;
s.ritutpag = ZERO; s.ritutpag = ZERO;

View File

@ -251,6 +251,7 @@ BEGIN
ITEM "Con.10% perc.@15" ITEM "Con.10% perc.@15"
ITEM "Con.10% compl.@15" ITEM "Con.10% compl.@15"
ITEM "Cod.10%" ITEM "Cod.10%"
ITEM "Somme restituite\n netto ritenuta@15"
ITEM "Compenso netto@15" ITEM "Compenso netto@15"
ITEM "Som.non sog.rit@15" ITEM "Som.non sog.rit@15"
ITEM "Ammontare lordo@15" ITEM "Ammontare lordo@15"
@ -273,6 +274,7 @@ BEGIN
ITEM "Ritenuta@15" ITEM "Ritenuta@15"
ITEM "Spese@15" ITEM "Spese@15"
ITEM "Somme reg.conv.@15" ITEM "Somme reg.conv.@15"
ITEM "Somme restituite\n netto ritenuta@15"
ITEM "Compenso netto@15" ITEM "Compenso netto@15"
ITEM "Som.non sog.rit@15" ITEM "Som.non sog.rit@15"
ITEM "Ammontare lordo@15" ITEM "Ammontare lordo@15"

View File

@ -1,7 +1,7 @@
// m70100e.uml - masksheet riga pagamento quadri D,D1,E,E1 // 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) // 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 DATE 101
BEGIN BEGIN
@ -97,12 +97,23 @@ END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 10 "Compenso netto" PROMPT 2 10 "Somme Rest.Net.Rit."
END END
CURRENCY 109 15 CURRENCY 109 15
BEGIN BEGIN
PROMPT 33 10 "" 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" FLAGS "D"
FIELD LF_RPAG->NETTO FIELD LF_RPAG->NETTO
END END
@ -110,42 +121,42 @@ END
// -------------------------------------------------- // --------------------------------------------------
// Inizio campi gestiti a programma ma non a maschera // Inizio campi gestiti a programma ma non a maschera
// -------------------------------------------------- // --------------------------------------------------
CURRENCY 110 15 CURRENCY 111 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->SOMNSRIT FIELD LF_RPAG->SOMNSRIT
END END
CURRENCY 111 15 CURRENCY 112 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->AMMLORDO FIELD LF_RPAG->AMMLORDO
END END
CURRENCY 112 15 CURRENCY 113 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->QUOTAPROV FIELD LF_RPAG->QUOTAPROV
END END
CURRENCY 113 15 CURRENCY 114 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->IMPNETTO FIELD LF_RPAG->IMPNETTO
END END
CURRENCY 114 15 CURRENCY 115 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->COMNETTO FIELD LF_RPAG->COMNETTO
END END
NUMBER 115 5 NUMBER 116 5
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
@ -155,7 +166,7 @@ END
// Fine campi gestiti a programma ma non a maschera // Fine campi gestiti a programma ma non a maschera
// ------------------------------------------------ // ------------------------------------------------
NUMBER 116 7 NUMBER 117 7
BEGIN BEGIN
PROMPT 33 11 "Registrazione num." PROMPT 33 11 "Registrazione num."
FLAGS "DR" FLAGS "DR"

View File

@ -1,7 +1,7 @@
// m70100f.uml - masksheet riga pagamento quadri Dbis // m70100f.uml - masksheet riga pagamento quadri Dbis
// con l'ultima versione dei quadri si utilizza con SC SE (incasiniamoci) // 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 DATE 101
BEGIN BEGIN
@ -141,14 +141,26 @@ BEGIN
WARNING "Il codice contributo Inps deve essere indicato" WARNING "Il codice contributo Inps deve essere indicato"
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 13 "Compenso netto" PROMPT 2 13 "Somme Rest.Net.Rit."
END END
CURRENCY 112 15 CURRENCY 112 15
BEGIN BEGIN
PROMPT 33 13 "" 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" FLAGS "D"
FIELD LF_RPAG->NETTO FIELD LF_RPAG->NETTO
END END
@ -156,42 +168,42 @@ END
// -------------------------------------------------- // --------------------------------------------------
// Inizio campi gestiti a programma ma non a maschera // Inizio campi gestiti a programma ma non a maschera
// -------------------------------------------------- // --------------------------------------------------
CURRENCY 113 15 CURRENCY 114 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->SOMNSRIT FIELD LF_RPAG->SOMNSRIT
END END
CURRENCY 114 15 CURRENCY 115 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->AMMLORDO FIELD LF_RPAG->AMMLORDO
END END
CURRENCY 115 15 CURRENCY 116 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->QUOTAPROV FIELD LF_RPAG->QUOTAPROV
END END
CURRENCY 116 15 CURRENCY 117 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->IMPNETTO FIELD LF_RPAG->IMPNETTO
END END
CURRENCY 117 15 CURRENCY 118 15
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
FIELD LF_RPAG->COMNETTO FIELD LF_RPAG->COMNETTO
END END
NUMBER 118 5 NUMBER 119 5
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 80 80 ""
FLAGS "D" FLAGS "D"
@ -201,7 +213,7 @@ END
// Fine campi gestiti a programma ma non a maschera // Fine campi gestiti a programma ma non a maschera
// ------------------------------------------------ // ------------------------------------------------
NUMBER 119 7 NUMBER 120 7
BEGIN BEGIN
PROMPT 33 14 "Registrazione num. " PROMPT 33 14 "Registrazione num. "
FLAGS "DR" FLAGS "DR"

View File

@ -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_perc = riga.get_real(PAG_INPSPERC);
const real inps_erog = inps_tot - inps_perc; 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_CTINPSEROG, inps_erog); // AUXXX020
quadro.put(QUD_CTINPSPERC, inps_perc); // AUXXX021 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)) if (somme.is_zero() && quadro.get(QUD_TOTALE) == quadro.get(QUD_IMPONIBILE))
{ {
const TRectype& ca7 = cache().get("%CA7", codcaus); 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); const real inps_tot = riga.get(PAG_INPSCOMP);
real inps_erog, inps_perc; 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)) if (inps_tot > ZERO && riga.get_real(PAG_IMPONIBILE) > real(5000))
{ {
inps_perc = riga.get_real(PAG_INPSPERC); inps_perc = riga.get_real(PAG_INPSPERC);

View File

@ -572,7 +572,7 @@ void TCache770::destroy()
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
const char* TTrasferimento770::default_name() const const char* TTrasferimento770::default_name() const
{ return "MOD77015"; } { return "MOD77021"; }
bool TTrasferimento770::open(const char* path, char mode, int volume) bool TTrasferimento770::open(const char* path, char mode, int volume)
{ {

View File

@ -20,6 +20,7 @@
#include <nditte.h> #include <nditte.h>
#include "base.h" #include "base.h"
#include "quadroc.h" #include "quadroc.h"
#include "quadrod.h"
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// Utilities // Utilities
@ -751,6 +752,7 @@ bool TTrasferimentoCU::append_record_d(const TRectype& qla, TLog_report& log)
else // Estero aggiunta 2021 else // Estero aggiunta 2021
{ {
TString stato_estero; TString stato_estero;
rec.np_put("DA002011", 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("AU001019", qla.get_real("RITANNIPRE")); // ritenute anni precedenti
rec.np_put("AU001020", qla.get_real("SPESERIMB")); // spese rimborsate rec.np_put("AU001020", qla.get_real("SPESERIMB")); // spese rimborsate
rec.np_put("AU001021", qla.get_real("RITRIMB")); // ritenute 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 cce = qla.get_real(QUD_CTINPSEROG);
const real ccp = qla.get_real("CTINPSPERC"); const real ccp = qla.get_real(QUD_CTINPSPERC);
const real cal = qla.get_real("ALTRICONTR"); const real cal = qla.get_real("ALTRICONTR");
const real cdo = qla.get_real("CONTRDOV"); const real cdo = qla.get_real("CONTRDOV");
const real cve = qla.get_real("CONTRVER"); const real cve = qla.get_real("CONTRVER");

View File

@ -6,10 +6,10 @@
#endif #endif
// Nota che sono stati definiti anche in 777lib // Nota che sono stati definiti anche in 777lib
#define THIS_YEAR "2020" #define THIS_YEAR "2021"
#define THIS_YEARN 2020 #define THIS_YEARN 2021
#define LAST_YEAR "2019" #define LAST_YEAR "2020"
#define LAST_YEARN 2019 #define LAST_YEARN 2020
class TRecordCU; class TRecordCU;

View File

@ -725,7 +725,6 @@ void TCU_report::create_D()
add_labeled_field(body, 1, 49, 3, "#DA002008", "Categorie\nparticolari", 'C'); 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, 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, 61, 3, "#DA002010", "Casi di esclusione\ndalla precompilata", 'C');
add_labeled_number(body,1, 67, 3, "#DA002011", "Stato\nEstero", 'C');
end_paragraph(body); end_paragraph(body);
begin_paragraph(body, CU_AFTER_LAST, 8, ""); 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, 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, 0, CU_AFTER_LAST, CU_ALIGN_RIGHT, "#DA002041", "Località di residenza estera");
add_labeled_field(body, 1, 0, 50, "#DA002042", "Via e numero civico"); 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 // 2016
add_labeled_field(body, 1, CU_AFTER_LAST, 5, "#DA002043", "Non residenti\nShumacker", 'C'); 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'); 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_picture("CERTIFICAZIONE LAVORO AUTONOMO, PROVVIGIONI E REDDITI DIVERSI");
title->set_font(fnt_big); title->set_font(fnt_big);
body.add(title); 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; 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"); add_labeled_field(body, 0, tab0, 2, "#AU001001", "Causale");
end_paragraph(body); 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_number(body, 0, tab1-1, 4, "#AU001002", "Anno", 'C');
add_labeled_bool (body, 0, CU_AFTER_LAST, 2, "#AU001003", "Anticipazione"); 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'); 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, 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, 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, "#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); end_paragraph(body);
// 2016 // 2016

View File

@ -9,10 +9,10 @@
#define CF_PRODUTTORE get_iva_sirio(); #define CF_PRODUTTORE get_iva_sirio();
// Nota che sono anche definiti in 777200.h // Nota che sono anche definiti in 777200.h
#define THIS_YEAR "2020" #define THIS_YEAR "2021"
#define THIS_YEARN 2020 #define THIS_YEARN 2021
#define LAST_YEAR "2019" #define LAST_YEAR "2020"
#define LAST_YEARN 2019 #define LAST_YEARN 2020
enum { CODE_SIZE = 8, FIELD_SIZE = 16, BLOCK_SIZE = 24, HEADER_SIZE = 89, USEABLE_SIZE = 1800, TOTAL_SIZE = 1900 }; enum { CODE_SIZE = 8, FIELD_SIZE = 16, BLOCK_SIZE = 24, HEADER_SIZE = 89, USEABLE_SIZE = 1800, TOTAL_SIZE = 1900 };

View File

@ -388,6 +388,7 @@ struct Pag_struct
real somregconv; real somregconv;
real alqimp10; real alqimp10;
TString16 cod10; TString16 cod10;
real srnetrit;
real utpagati; real utpagati;
real utspett; real utspett;
real ritutpag; real ritutpag;

View File

@ -1082,65 +1082,67 @@ bool TVersamento_stampa::find(TVersamento& vers)
// overloading operatore di confronto per la struct dei pagamenti // overloading operatore di confronto per la struct dei pagamenti
bool Pag_struct::operator==(const Pag_struct& s) const bool Pag_struct::operator==(const Pag_struct& s) const
{ {
if (this->datapag != s.datapag) if (datapag != s.datapag)
return 0; return 0;
if (this->imponibile != s.imponibile) if (imponibile != s.imponibile)
return 0; return 0;
if (this->perc != s.perc) if (perc != s.perc)
return 0; return 0;
if (this->ritenuta != s.ritenuta) if (ritenuta != s.ritenuta)
return 0; return 0;
if (this->compenso != s.compenso) if (compenso != s.compenso)
return 0; return 0;
if (this->netto != s.netto) if (netto != s.netto)
return 0; return 0;
if (this->numvers != s.numvers) if (numvers != s.numvers)
return 0; return 0;
if (this->spesa != s.spesa) if (spesa != s.spesa)
return 0; return 0;
if (this->ctssnperc != s.ctssnperc) if (ctssnperc != s.ctssnperc)
return 0; return 0;
if (this->ctssncomp != s.ctssncomp) if (ctssncomp != s.ctssncomp)
return 0; return 0;
if (this->ritlorda != s.ritlorda) if (ritlorda != s.ritlorda)
return 0; return 0;
if (this->controbb != s.controbb) if (controbb != s.controbb)
return 0; return 0;
if (this->detfamil != s.detfamil) if (detfamil != s.detfamil)
return 0; return 0;
if (this->detlavdip != s.detlavdip) if (detlavdip != s.detlavdip)
return 0; return 0;
if (this->totdet != s.totdet) if (totdet != s.totdet)
return 0; return 0;
if (this->giolavdip != s.giolavdip) if (giolavdip != s.giolavdip)
return 0; return 0;
if (this->impcpa != s.impcpa) if (impcpa != s.impcpa)
return 0; return 0;
if (this->somregconv != s.somregconv) if (somregconv != s.somregconv)
return 0; return 0;
if (this->alqimp10 != s.alqimp10) if (alqimp10 != s.alqimp10)
return 0; return 0;
if (this->cod10 != s.cod10) if (cod10 != s.cod10)
return 0; return 0;
if (this->utpagati != s.utpagati) if (srnetrit != s.srnetrit)
return 0; return 0;
if (this->utspett != s.utspett) if (utpagati != s.utpagati)
return 0; return 0;
if (this->ritutpag != s.ritutpag) if (utspett != s.utspett)
return 0; return 0;
if (this->ritutspe != s.ritutspe) if (ritutpag != s.ritutpag)
return 0; return 0;
if (this->nquote != s.nquote) if (ritutspe != s.ritutspe)
return 0; return 0;
if (this->somnsrit != s.somnsrit) if (nquote != s.nquote)
return 0; return 0;
if (this->ammlordo != s.ammlordo) if (somnsrit != s.somnsrit)
return 0; return 0;
if (this->quotaprov != s.quotaprov) if (ammlordo != s.ammlordo)
return 0; return 0;
if (this->impnetto != s.impnetto) if (quotaprov != s.quotaprov)
return 0; return 0;
if (this->comnetto != s.comnetto) if (impnetto != s.impnetto)
return 0;
if (comnetto != s.comnetto)
return 0; return 0;
// strutture uguali // strutture uguali
@ -1152,37 +1154,38 @@ bool Pag_struct::operator==(const Pag_struct& s) const
Pag_struct& Pag_struct::operator=(const TRectype& rec) Pag_struct& Pag_struct::operator=(const TRectype& rec)
{ {
// compila struttura con valori del record // compila struttura con valori del record
this->datapag = rec.get_date("DATAPAG"); datapag = rec.get_date(PAG_DATAPAG);
this->imponibile = rec.get_real("IMPONIBILE"); imponibile = rec.get_real(PAG_IMPONIBILE);
this->perc = rec.get_real("PERC"); perc = rec.get_real(PAG_PERC);
this->ritenuta = rec.get_real("RITENUTA"); ritenuta = rec.get_real(PAG_RITENUTA);
this->compenso = rec.get_real("COMPENSO"); compenso = rec.get_real(PAG_COMPENSO);
this->netto = rec.get_real("NETTO"); netto = rec.get_real(PAG_NETTO);
this->numvers = rec.get_long("NUMVERS"); numvers = rec.get_long(PAG_NUMVERS);
this->spesa = rec.get_real("SPESA"); spesa = rec.get_real(PAG_SPESA);
this->ctssnperc = rec.get_real("CTSSNPERC"); ctssnperc = rec.get_real(PAG_INPSPERC);
this->ctssncomp = rec.get_real("CTSSNCOMP"); ctssncomp = rec.get_real(PAG_INPSCOMP);
this->ritlorda = rec.get_real("RITLORDA"); ritlorda = rec.get_real(PAG_RITLORDA);
this->controbb = rec.get_real("CONTROBB"); controbb = rec.get_real(PAG_CONTROBB);
this->detfamil = rec.get_real("DETFAMIL"); detfamil = rec.get_real(PAG_DETFAMIL);
this->detlavdip = rec.get_real("DETLAVDIP"); detlavdip = rec.get_real(PAG_DETLAVDIP);
this->totdet = rec.get_real("TOTDET"); totdet = rec.get_real(PAG_TOTDET);
this->giolavdip = rec.get_int("GIOLAVDIP"); giolavdip = rec.get_int(PAG_GIOLAVDIP);
this->impcpa = rec.get_real("IMPCPA"); impcpa = rec.get_real(PAG_IMPCPA);
this->somregconv = rec.get_real("SOMREGCONV"); somregconv = rec.get_real(PAG_SOMREGCONV);
this->alqimp10 = rec.get_real("ALQIMP10"); alqimp10 = rec.get_real(PAG_ALQIMP10);
this->cod10 = rec.get("COD10"); cod10 = rec.get(PAG_COD10);
this->utpagati = rec.get_real("UTPAGATI"); srnetrit = rec.get_real(PAG_SRNETRIT);
this->utspett = rec.get_real("UTSPETT"); utpagati = rec.get_real(PAG_UTPAGATI);
this->ritutpag = rec.get_real("RITUTPAG"); utspett = rec.get_real(PAG_UTSPETT);
this->ritutspe = rec.get_real("RITUTSPE"); ritutpag = rec.get_real(PAG_RITUTPAG);
this->nquote = rec.get_real("NQUOTE"); ritutspe = rec.get_real(PAG_RITUTSPE);
this->somnsrit = rec.get_real("SOMNSRIT"); nquote = rec.get_real(PAG_NQUOTE);
this->ammlordo = rec.get_real("AMMLORDO"); somnsrit = rec.get_real(PAG_SOMNSRIT);
this->quotaprov = rec.get_real("QUOTAPROV"); ammlordo = rec.get_real(PAG_AMMLORDO);
this->impnetto = rec.get_real("IMPNETTO"); quotaprov = rec.get_real(PAG_QUOTAPROV);
this->comnetto = rec.get_real(PAG_COMNETTO); impnetto = rec.get_real(PAG_IMPNETTO);
this->numreg = rec.get_long(PAG_NUMREG); comnetto = rec.get_real(PAG_COMNETTO);
numreg = rec.get_long(PAG_NUMREG);
return *this; return *this;
} }
@ -1191,28 +1194,29 @@ Pag_struct& Pag_struct::operator=(const TRectype& rec)
Pag_struct& Pag_struct::operator+=(const Pag_struct& s) Pag_struct& Pag_struct::operator+=(const Pag_struct& s)
{ {
// aggiunge agli importi i valori della struttura passata // aggiunge agli importi i valori della struttura passata
this->imponibile += s.imponibile; imponibile += s.imponibile;
this->ritenuta += s.ritenuta; ritenuta += s.ritenuta;
this->compenso += s.compenso; compenso += s.compenso;
this->netto += s.netto; netto += s.netto;
this->spesa += s.spesa; spesa += s.spesa;
this->ctssnperc += s.ctssnperc; ctssnperc += s.ctssnperc;
this->ctssncomp += s.ctssncomp; ctssncomp += s.ctssncomp;
this->ritlorda += s.ritlorda; srnetrit += s.srnetrit;
this->controbb += s.controbb; ritlorda += s.ritlorda;
this->detfamil += s.detfamil; controbb += s.controbb;
this->detlavdip += s.detlavdip; detfamil += s.detfamil;
this->totdet += s.totdet; detlavdip += s.detlavdip;
this->impcpa += s.impcpa; totdet += s.totdet;
this->somregconv += s.somregconv; impcpa += s.impcpa;
this->utpagati += s.utpagati; somregconv += s.somregconv;
this->utspett += s.utspett; utpagati += s.utpagati;
this->ritutpag += s.ritutpag; utspett += s.utspett;
this->ritutspe += s.ritutspe; ritutpag += s.ritutpag;
this->somnsrit += s.somnsrit; ritutspe += s.ritutspe;
this->ammlordo += s.ammlordo; somnsrit += s.somnsrit;
this->quotaprov += s.quotaprov; ammlordo += s.ammlordo;
this->impnetto += s.impnetto; quotaprov += s.quotaprov;
impnetto += s.impnetto;
this->comnetto += s.comnetto; this->comnetto += s.comnetto;
return *this; return *this;

View File

@ -18,7 +18,7 @@
#define PAG_NUMPAG "NUMPAG" #define PAG_NUMPAG "NUMPAG"
#define PAG_SPESA "SPESA" #define PAG_SPESA "SPESA"
#define PAG_INPSPERC "CTSSNPERC" #define PAG_INPSPERC "CTSSNPERC"
#define PAG_NETRIT "SRNETRIT" #define PAG_SRNETRIT "SRNETRIT"
#define PAG_INPSCOMP "CTSSNCOMP" #define PAG_INPSCOMP "CTSSNCOMP"
#define PAG_RITLORDA "RITLORDA" #define PAG_RITLORDA "RITLORDA"
#define PAG_CONTROBB "CONTROBB" #define PAG_CONTROBB "CONTROBB"