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:
ffuca 2021-02-15 18:21:47 +01:00
parent 444e00f36e
commit 52330e64b6
16 changed files with 201 additions and 57 deletions

View File

@ -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|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",
"DATAPAG|COMPENSO|SPESA|IMPONIBILE|PERC|RITENUTA|SOMREGCONV|ALQIMP10|CTSSNPERC|CTSSNCOMP|COD10|SPESERIMB|RITRIMB|SRNETRIT|NETTO|SOMNSRIT|AMMLORDO|QUOTAPROV|IMPNETTO|COMNETTO|NUMVERS|NUMREG",
"DATAPAG|COMPENSO|IMPCPA|IMPONIBILE|PERC|RITENUTA|SPESA|SOMREGCONV|SPESERIMB|RITRIMB|SRNETRIT|NETTO|SOMNSRIT|AMMLORDO|QUOTAPROV|IMPNETTO|COMNETTO|NUMVERS|NUMREG",
};
// Items per causale quadro SC
@ -972,6 +972,8 @@ void TSchedaPercipienti::rec2row(TToken_string& r, TRectype& rec, int row)
s.somregconv = rec.get_real(PAG_SOMREGCONV);
s.alqimp10 = rec.get_real(PAG_ALQIMP10);
s.cod10 = rec.get(PAG_COD10);
s.speserimb = rec.get_real(PAG_SPESERIMB);
s.ritrimb = rec.get_real(PAG_RITRIMB);
s.srnetrit = rec.get_real(PAG_SRNETRIT);
s.utpagati = rec.get_real(PAG_UTPAGATI);
s.utspett = rec.get_real(PAG_UTSPETT);
@ -1360,6 +1362,8 @@ void TSchedaPercipienti::mask2rel(const TMask& m)
r.put(PAG_SOMREGCONV, s.somregconv);
r.put(PAG_ALQIMP10, s.alqimp10);
r.put(PAG_COD10, s.cod10);
r.put(PAG_SPESERIMB, s.speserimb);
r.put(PAG_RITRIMB, s.ritrimb);
r.put(PAG_SRNETRIT, s.srnetrit);
r.put(PAG_UTPAGATI, s.utpagati);
r.put(PAG_UTSPETT, s.utspett);
@ -1717,6 +1721,14 @@ Pag_struct& TSchedaPercipienti::from_sheet_to_struct(TToken_string& t, Pag_struc
s.cod10 = t.get(pos);
// set imorti restituiti al netto della ritenuta
if ((pos = token_pos("SPESERIMB")) != -1)
s.speserimb = t.get_real(pos);
// set imorti restituiti al netto della ritenuta
if ((pos = token_pos("RITRIMB")) != -1)
s.ritrimb = t.get_real(pos);
// set importi restituiti al netto della ritenuta
if ((pos = token_pos("SRNETRIT")) != -1)
s.srnetrit = t.get_real(pos);
@ -1859,6 +1871,14 @@ 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("SPESERIMB")) != -1)
t.add(s.speserimb, pos);
// set imorti restituiti al netto della ritenuta
if ((pos = token_pos("RITRIMB")) != -1)
t.add(s.ritrimb, pos);
// set imorti restituiti al netto della ritenuta
if ((pos = token_pos("SRNETRIT")) != -1)
t.add(s.srnetrit, pos);
@ -1999,6 +2019,14 @@ 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("SPESERIMB")) != -1)
s.speserimb = m.get_real(dlg);
// set importi retituiti al netto della ritenuta
if ((dlg = token_dlg("RITRIMB")) != -1)
s.ritrimb = m.get_real(dlg);
// set importi retituiti al netto della ritenuta
if ((dlg = token_dlg("SRNETRIT")) != -1)
s.srnetrit = m.get_real(dlg);
@ -2133,7 +2161,15 @@ 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("SPESERIMB")) != -1)
m.set(dlg, s.speserimb);
// set importi retituiti al netto della ritenuta
if ((dlg = token_dlg("RITRIMB")) != -1)
m.set(dlg, s.ritrimb);
// set importi retituiti al netto della ritenuta
if ((dlg = token_dlg("SRNETRIT")) != -1)
m.set(dlg, s.srnetrit);
@ -2205,6 +2241,8 @@ Pag_struct& TSchedaPercipienti::clear_struct(Pag_struct& s) const
s.somregconv = ZERO;
s.alqimp10 = ZERO;
s.cod10 = "";
s.speserimb = ZERO;
s.ritrimb = ZERO;
s.srnetrit = ZERO;
s.utpagati = ZERO;
s.utspett = ZERO;

View File

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

View File

@ -97,23 +97,45 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "Somme Rest.Net.Rit."
PROMPT 2 10 "Spese rimborsate"
END
CURRENCY 109 15
BEGIN
PROMPT 33 10 ""
FIELD LF_RPAG->SRNETRIT
FIELD LF_RPAG->SPESERIMB
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "Compenso netto"
PROMPT 2 11 "Ritenute rimborsate"
END
CURRENCY 110 15
BEGIN
PROMPT 33 11 ""
FIELD LF_RPAG->RITRIMB
END
TEXT DLG_NULL
BEGIN
PROMPT 2 12 "Somme Rest.Net.Rit."
END
CURRENCY 111 15
BEGIN
PROMPT 33 12 ""
FIELD LF_RPAG->SRNETRIT
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "Compenso netto"
END
CURRENCY 112 15
BEGIN
PROMPT 33 13 ""
FLAGS "D"
FIELD LF_RPAG->NETTO
END
@ -121,42 +143,42 @@ END
// --------------------------------------------------
// Inizio campi gestiti a programma ma non a maschera
// --------------------------------------------------
CURRENCY 111 15
CURRENCY 113 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->SOMNSRIT
END
CURRENCY 112 15
CURRENCY 114 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->AMMLORDO
END
CURRENCY 113 15
CURRENCY 115 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->QUOTAPROV
END
CURRENCY 114 15
CURRENCY 116 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->IMPNETTO
END
CURRENCY 115 15
CURRENCY 117 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->COMNETTO
END
NUMBER 116 5
NUMBER 118 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
@ -166,9 +188,9 @@ END
// Fine campi gestiti a programma ma non a maschera
// ------------------------------------------------
NUMBER 117 7
NUMBER 119 7
BEGIN
PROMPT 33 11 "Registrazione num."
PROMPT 33 13 "Registrazione num."
FLAGS "DR"
FIELD LF_RPAG->NUMREG
END

View File

@ -141,26 +141,47 @@ BEGIN
WARNING "Il codice contributo Inps deve essere indicato"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "Somme Rest.Net.Rit."
PROMPT 2 13 "Spese rimborsate"
END
CURRENCY 112 15
BEGIN
PROMPT 33 13 ""
FIELD LF_RPAG->SPESERIMB
END
TEXT DLG_NULL
BEGIN
PROMPT 2 14 "Ritenute rimborsate"
END
CURRENCY 113 15
BEGIN
PROMPT 33 14 ""
FIELD LF_RPAG->RITRIMB
END
TEXT DLG_NULL
BEGIN
PROMPT 2 15 "Somme Rest.Net.Rit."
END
CURRENCY 114 15
BEGIN
PROMPT 33 15 ""
FIELD LF_RPAG->SRNETRIT
END
TEXT DLG_NULL
BEGIN
PROMPT 2 15 "Compenso netto"
PROMPT 2 16 "Compenso netto"
END
CURRENCY 113 15
CURRENCY 115 15
BEGIN
PROMPT 33 15 ""
PROMPT 33 16 ""
FLAGS "D"
FIELD LF_RPAG->NETTO
END
@ -168,42 +189,42 @@ END
// --------------------------------------------------
// Inizio campi gestiti a programma ma non a maschera
// --------------------------------------------------
CURRENCY 114 15
CURRENCY 116 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->SOMNSRIT
END
CURRENCY 115 15
CURRENCY 117 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->AMMLORDO
END
CURRENCY 116 15
CURRENCY 118 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->QUOTAPROV
END
CURRENCY 117 15
CURRENCY 119 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->IMPNETTO
END
CURRENCY 118 15
CURRENCY 120 15
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_RPAG->COMNETTO
END
NUMBER 119 5
NUMBER 121 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
@ -213,9 +234,9 @@ END
// Fine campi gestiti a programma ma non a maschera
// ------------------------------------------------
NUMBER 120 7
NUMBER 122 7
BEGIN
PROMPT 33 14 "Registrazione num. "
PROMPT 33 17 "Registrazione num. "
FLAGS "DR"
FIELD LF_RPAG->NUMREG
END

View File

@ -123,18 +123,22 @@ void TRighe_riepilogo::genera_la(TRectype& quadro, const TRectype& riga, const T
quadro.put(QUD_IMPORTO, riga.get(PAG_RITENUTA));
const real inps_tot = riga.get(PAG_INPSCOMP);
if (inps_tot > ZERO /*&& riga.get_real(PAG_IMPONIBILE) > 5000.0*/)
if (inps_tot > ZERO )
{
const real inps_perc = riga.get_real(PAG_INPSPERC);
const real inps_erog = inps_tot - inps_perc;
quadro.put(QUD_CTINPSEROG, inps_erog); // AUXXX020
quadro.put(QUD_CTINPSPERC, inps_perc); // AUXXX021
quadro.put(QUD_CTINPSEROG, inps_erog); // AUXXX034
quadro.put(QUD_CTINPSPERC, inps_perc); // AUXXX035
}
const real somm_rest = riga.get_real(PAG_SRNETRIT);
const real spese_rimb = riga.get_real(PAG_SPESERIMB); // AUXXX020
const real rit_rimb = riga.get_real(PAG_RITRIMB); // AUXXX021
const real somm_rest = riga.get_real(PAG_SRNETRIT); // AUXXX022
quadro.put(QUD_SPESERIMB, spese_rimb); // AUXXX020
quadro.put(QUD_RITRIMB, rit_rimb); // AUXXX021
quadro.put(QUD_SRNETRIT, somm_rest); // AUXXX022
if (somme.is_zero() && quadro.get(QUD_TOTALE) == quadro.get(QUD_IMPONIBILE))
{
@ -830,14 +834,19 @@ 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 spese_rimb = riga.get_real(PAG_SPESERIMB);
const real rit_rimb = riga.get_real(PAG_RITRIMB);
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);
inps_erog = inps_tot - inps_perc;
}
quadro.put(QUD_CTINPSEROG, inps_erog); // AUXXX020
quadro.put(QUD_CTINPSPERC, inps_perc); // AUXXX021
quadro.put(QUD_CTINPSEROG, inps_erog); // AUXXX034
quadro.put(QUD_CTINPSPERC, inps_perc); // AUXXX035
quadro.put(QUD_SRNETRIT, spese_rimb); // AUXXX020
quadro.put(QUD_SRNETRIT, rit_rimb); // AUXXX021
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));

View File

@ -142,6 +142,8 @@ BEGIN
ITEM "Categ."
ITEM "Contributi\nerogante@15"
ITEM "Contributi\npercipiente@15" //18
ITEM "Spese rimborsate"
ITEM "Ritenute rimborsate" //18
ITEM "Somme restit.\nnetto ritenute@15"
ITEM "Altri contributi"
ITEM "Contributi dovuti"
@ -293,13 +295,13 @@ BEGIN
FIELD RITANNIPRE
END
BOOLEAN 123
BOOLEAN 125
BEGIN
PROMPT 1 13 "Anticipazione"
FIELD ANTICIPAZ
END
BOOLEAN 124
BOOLEAN 126
BEGIN
PROMPT 31 13 "Riga generata da schede"
FLAGS "D"
@ -342,25 +344,37 @@ END
CURRENCY 119 15
BEGIN
PROMPT 1 4 "Somme restituite al netto ritenuta "
FIELD SRNETRIT
PROMPT 1 5 "Spese rimborsate "
FIELD SPESERIMB
END
CURRENCY 120 15
BEGIN
PROMPT 1 5 "Altri contributi "
FIELD ALTRICONTR
PROMPT 1 6 "Ritenute rimborsate "
FIELD RITRIMB
END
CURRENCY 121 15
BEGIN
PROMPT 1 6 "Contributi dovuti "
FIELD CONTRDOV
PROMPT 1 7 "Somme restituite al netto ritenuta "
FIELD SRNETRIT
END
CURRENCY 122 15
BEGIN
PROMPT 1 7 "Contributi versati "
PROMPT 1 7 "Altri contributi "
FIELD ALTRICONTR
END
CURRENCY 123 15
BEGIN
PROMPT 1 8 "Contributi dovuti "
FIELD CONTRDOV
END
CURRENCY 124 15
BEGIN
PROMPT 1 9 "Contributi versati "
FIELD CONTRVER
END

View File

@ -848,8 +848,8 @@ bool TTrasferimentoCU::append_record_h(const TRectype& qla, int modulo, TLog_rep
rec.np_put("AU001018", qla.get_real("IMPANNIPRE")); // imponibile 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("AU001021", qla.get_real("RITRIMB")); // ritenute rimborsate
rec.np_put("AU001020", qla.get_real(QUD_SPESERIMB)); // spese rimborsate
rec.np_put("AU001021", qla.get_real(QUD_RITRIMB)); // ritenute rimborsate
rec.np_put("AU001022", qla.get_real(QUD_SRNETRIT)); // somme restituite al netto della ritenuta subita
const real cce = qla.get_real(QUD_CTINPSEROG);

View File

@ -388,6 +388,8 @@ struct Pag_struct
real somregconv;
real alqimp10;
TString16 cod10;
real speserimb;
real ritrimb;
real srnetrit;
real utpagati;
real utspett;

View File

@ -1122,6 +1122,10 @@ bool Pag_struct::operator==(const Pag_struct& s) const
return 0;
if (cod10 != s.cod10)
return 0;
if (speserimb != s.speserimb)
return 0;
if (ritrimb != s.ritrimb)
return 0;
if (srnetrit != s.srnetrit)
return 0;
if (utpagati != s.utpagati)
@ -1174,6 +1178,8 @@ Pag_struct& Pag_struct::operator=(const TRectype& rec)
somregconv = rec.get_real(PAG_SOMREGCONV);
alqimp10 = rec.get_real(PAG_ALQIMP10);
cod10 = rec.get(PAG_COD10);
speserimb = rec.get_real(PAG_SPESERIMB);
ritrimb = rec.get_real(PAG_RITRIMB);
srnetrit = rec.get_real(PAG_SRNETRIT);
utpagati = rec.get_real(PAG_UTPAGATI);
utspett = rec.get_real(PAG_UTSPETT);
@ -1201,6 +1207,8 @@ Pag_struct& Pag_struct::operator+=(const Pag_struct& s)
spesa += s.spesa;
ctssnperc += s.ctssnperc;
ctssncomp += s.ctssncomp;
speserimb += s.speserimb;
ritrimb += s.ritrimb;
srnetrit += s.srnetrit;
ritlorda += s.ritlorda;
controbb += s.controbb;

View File

@ -274,26 +274,44 @@ END
VALUTA 120
BEGIN
KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL SOGGETTO EROGANTE"
KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL SOGGETTO EROGANTE"
PROMPT 120 9 ""
FIELD CTINPSEROG
SPECIAL STRING TRASFER "AU001020" "NP"
SPECIAL String TRASFER "AU001020" "NP"
MESSAGE _SOLO_CAUS_M
END
End
VALUTA 121
BEGIN
KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL PERCIPIENTE"
KEY "CONTRIBUTI PREVIDENZIALI A CARICO DEL PERCIPIENTE"
PROMPT 121 9 ""
FIELD CTINPSPERC
SPECIAL STRING TRASFER "AU001021" "NP"
SPECIAL String TRASFER "AU001021" "NP"
MESSAGE _SOLO_CAUS_M
End
VALUTA 122
BEGIN
KEY "SOMME RESTITUITE AL NETTO DELLA RITENUTA SUBITA"
KEY "SPESE RIMBORSATE"
PROMPT 122 9 ""
FIELD SPESERIMB
SPECIAL String TRASFER "AU001020" "NP"
MESSAGE _SOLO_CAUS_M
End
VALUTA 123
BEGIN
KEY "RITENUTE RIMBORSATE"
PROMPT 123 9 ""
FIELD RITRIMB
SPECIAL String TRASFER "AU001021" "NP"
MESSAGE _SOLO_CAUS_M
End
VALUTA 124
BEGIN
KEY "SOMME RESTITUITE AL NETTO DELLA RITENUTA SUBITA"
PROMPT 124 9 ""
FIELD SRNETRIT
SPECIAL String TRASFER "AU001022" "NP"
//MESSAGE _SOLO_CAUS_M

View File

@ -1,3 +1,3 @@
144
1
m770/quadrola|0|0|330|0|Quadro LA 770|||
m770/quadrola|0|0|366|0|Quadro LA 770|||

View File

@ -1,5 +1,5 @@
144
28
30
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Tipo anagrafica (Sempre 'F')
CODANAGR|3|5|0|Codice anagrafica
@ -21,6 +21,8 @@ RITANNIPRE|4|18|3|Ritenute anni precedenti
SOMREGCONV|4|18|3|Somme non soggette a ritenuta per reg. conv.
CTINPSEROG|4|18|3|Contribuiti previdenziali a carico dell'erogante
CTINPSPERC|4|18|3|Contribuiti previdenziali a carico del percipiente
SPESERIMB|4|18|3|Spese rimborsate
RITRIMB|4|18|3|Ritenute rimborsate
SRNETRIT|4|18|3|Somme restituite al netto della ritenuta
ENTEPREV|1|8|0|Ente previdenziale
CATEGORIA|1|2|0|Categoria previdenziale

View File

@ -1,3 +1,3 @@
41
1
m770/rpag|0|0|494|0|Righe di pagamento|#9||
m770/rpag|0|0|530|0|Righe di pagamento|#9||

View File

@ -1,5 +1,5 @@
41
37
39
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Tipo percipiente
CODANAGR|3|5|0|Codice percipiente
@ -31,6 +31,8 @@ RITUTPAG|4|18|2|Ritenute utili pagati (G)
RITUTSPE|4|18|2|Ritenute utili spettanti (G)
NQUOTE|4|6|2|Numero quote (G)
SOMNSRIT|4|18|2|Somme non soggette a ritenuta (calc)
SPESERIMB|4|18|2|Spese rimborsate
RITRIMB|4|18|2|Ritenute rimborsate
SRNETRIT|4|18|2|Somme restituite al netto delle ritenute
AMMLORDO|4|18|2|Ammontare lordo corrisposto (calc)
QUOTAPROV|4|18|2|Quota provvigioni (calc)

View File

@ -17,6 +17,8 @@
#define QUD_SOMREGCONV "SOMREGCONV"
#define QUD_CTINPSEROG "CTINPSEROG"
#define QUD_CTINPSPERC "CTINPSPERC"
#define QUD_SPESERIMB "SPESERIMB"
#define QUD_RITRIMB "RITRIMB"
#define QUD_SRNETRIT "SRNETRIT"
#define QUD_GENERATA "GENERATA"

View File

@ -18,7 +18,9 @@
#define PAG_NUMPAG "NUMPAG"
#define PAG_SPESA "SPESA"
#define PAG_INPSPERC "CTSSNPERC"
#define PAG_SRNETRIT "SRNETRIT"
#define PAG_SPESERIMB "SPESERIMB"
#define PAG_RITRIMB "RITRIMB"
#define PAG_SRNETRIT "SRNETRIT"
#define PAG_INPSCOMP "CTSSNCOMP"
#define PAG_RITLORDA "RITLORDA"
#define PAG_CONTROBB "CONTROBB"