Patch level : 12.0 698
Files correlati : 777.exe 77tbca7.msk ba4200b.msk ba4200c.msk Certificazione unica (CU) 2019
This commit is contained in:
parent
178035aa4e
commit
aa8c627063
@ -565,7 +565,10 @@ bool TTrasferimentoCU::append_record_b()
|
|||||||
rec.set(16, numtel);
|
rec.set(16, numtel);
|
||||||
|
|
||||||
const TRectype& rec_anagr = cache().get(LF_ANAG, TString(rec_nditte.get("TIPOA")) << "|" << rec_nditte.get("CODANAGR"));
|
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 int evecc = rec_anagr.get_int("EVECC");
|
||||||
|
|
||||||
|
if (evecc == 1 || evecc == 5)
|
||||||
|
rec.set(17, evecc);
|
||||||
|
|
||||||
const TAnagrafica rapp(LF_ANAG, 'F', rec_nditte.get_long(NDT_RAPPR));
|
const TAnagrafica rapp(LF_ANAG, 'F', rec_nditte.get_long(NDT_RAPPR));
|
||||||
if (rapp.ok())
|
if (rapp.ok())
|
||||||
@ -664,6 +667,8 @@ bool TTrasferimentoCU::append_record_d(const TRectype& qla, TLog_report& log)
|
|||||||
rec.np_put("DA001010", _codatt_dic);
|
rec.np_put("DA001010", _codatt_dic);
|
||||||
// rec.np_put("DA001011", "1"); // Codice Sede ???
|
// rec.np_put("DA001011", "1"); // Codice Sede ???
|
||||||
|
|
||||||
|
if (perc.codice_fiscale() == "BRTTMS98M18832Z")
|
||||||
|
int i = 1;
|
||||||
rec.np_put("DA002001", perc.codice_fiscale());
|
rec.np_put("DA002001", perc.codice_fiscale());
|
||||||
if (perc.fisica())
|
if (perc.fisica())
|
||||||
{
|
{
|
||||||
@ -684,7 +689,10 @@ bool TTrasferimentoCU::append_record_d(const TRectype& qla, TLog_report& log)
|
|||||||
|
|
||||||
const TRectype& anag = cache().get_rec(LF_ANAG, qla.get("TIPOA"), qla.get("CODANAGR"));
|
const TRectype& anag = cache().get_rec(LF_ANAG, qla.get("TIPOA"), qla.get("CODANAGR"));
|
||||||
rec.np_put("DA002008", anag.get(ANA_CATPAR));
|
rec.np_put("DA002008", anag.get(ANA_CATPAR));
|
||||||
rec.np_put("DA002009", anag.get_long(ANA_EVECC));
|
const TString4 evecc = anag.get("EVECC");
|
||||||
|
|
||||||
|
if (evecc == "1" || evecc == "5")
|
||||||
|
rec.np_put("DA002009", evecc);
|
||||||
long int da2010 = anag.get_long(ANA_ESCPRECOMP);
|
long int da2010 = anag.get_long(ANA_ESCPRECOMP);
|
||||||
// Tolla 2017: Aggiunto questo controllo in quanto noi non gestiamo nessuno dei quadri che richiedono il valore 2
|
// Tolla 2017: Aggiunto questo controllo in quanto noi non gestiamo nessuno dei quadri che richiedono il valore 2
|
||||||
if(da2010 == 2) da2010 = 0;
|
if(da2010 == 2) da2010 = 0;
|
||||||
@ -791,7 +799,7 @@ bool TTrasferimentoCU::append_record_h(const TRectype& qla, int modulo, TLog_rep
|
|||||||
|
|
||||||
const TString4 causale = qla.get("CAUSALE");
|
const TString4 causale = qla.get("CAUSALE");
|
||||||
rec.np_put("AU001001", causale);
|
rec.np_put("AU001001", causale);
|
||||||
if (causale >= "G" && causale <= "I")
|
if ((causale >= "G" && causale <= "I")&& (qla.get_long("ANNO") < 2019L))
|
||||||
rec.np_put("AU001002", qla.get_long("ANNO")); // Potrebbe essere anche l'anno precedente
|
rec.np_put("AU001002", qla.get_long("ANNO")); // Potrebbe essere anche l'anno precedente
|
||||||
|
|
||||||
// rec.np_put("AU001003", "");
|
// rec.np_put("AU001003", "");
|
||||||
@ -818,8 +826,10 @@ bool TTrasferimentoCU::append_record_h(const TRectype& qla, int modulo, TLog_rep
|
|||||||
}
|
}
|
||||||
if (!altre_somme.is_zero())
|
if (!altre_somme.is_zero())
|
||||||
{
|
{
|
||||||
if (codice <= 0) codice = 7; // Regime minimi
|
if (codice <= 0) codice = 7; // Regime minimi
|
||||||
rec.np_put("AU001006", codice); // 1, 2, 5, 6, 7
|
if (codice == 2)
|
||||||
|
message_box("Anagrafica %c &ld : Il codice 2 somme non soggette è stato eliminato", tipoanag, codanagr);
|
||||||
|
rec.np_put("AU001006", codice); // 1, 5, 6, 7
|
||||||
rec.np_put("AU001007", altre_somme);
|
rec.np_put("AU001007", altre_somme);
|
||||||
}
|
}
|
||||||
rec.np_put("AU001008", imponibile); // 004 - 005 - 007
|
rec.np_put("AU001008", imponibile); // 004 - 005 - 007
|
||||||
@ -920,7 +930,7 @@ bool TTrasferimentoCU::split(const char* path)
|
|||||||
{
|
{
|
||||||
TRecordCU rec;
|
TRecordCU rec;
|
||||||
rec.tipo_record('A'); // Compila record di testata A
|
rec.tipo_record('A'); // Compila record di testata A
|
||||||
rec.set(3, "CUR18"); // Codice fornitura 2018
|
rec.set(3, "CUR19"); // Codice fornitura 2019
|
||||||
rec.set(4, 1); // Tipo fornitore: 01=Soggetto che invia la propria dichiarazione; 10=CAF
|
rec.set(4, 1); // Tipo fornitore: 01=Soggetto che invia la propria dichiarazione; 10=CAF
|
||||||
rec.set(5, _codfis_int.full() ? _codfis_int : cod_fis_dic()); // Codice fiscale del fornitore
|
rec.set(5, _codfis_int.full() ? _codfis_int : cod_fis_dic()); // Codice fiscale del fornitore
|
||||||
outfile << rec; // Scrive record testata
|
outfile << rec; // Scrive record testata
|
||||||
@ -1147,12 +1157,12 @@ void TCU_app::main_loop()
|
|||||||
void TCU_app::isUpdated()
|
void TCU_app::isUpdated()
|
||||||
{
|
{
|
||||||
TRelation anagr(LF_ANAG);
|
TRelation anagr(LF_ANAG);
|
||||||
TCursor c(&anagr);
|
/* TCursor c(&anagr);
|
||||||
long int items = c.items();
|
long int items = c.items();
|
||||||
TProgress_monitor p(items, "Aggiornamento valori per CU");
|
TProgress_monitor p(items, "Aggiornamento valori per CU");
|
||||||
bool trovato = false;
|
bool trovato = false;
|
||||||
// Eseguo questo controllo per verificare la presenza EVECC == 8
|
Eseguo questo controllo per verificare la presenza EVECC == 8
|
||||||
for(c=0; c.pos() < items && !trovato; ++c)
|
/*for(c=0; c.pos() < items && !trovato; ++c)
|
||||||
{
|
{
|
||||||
TRectype r = c.curr();
|
TRectype r = c.curr();
|
||||||
if(r.get_int("EVECC") == 8)
|
if(r.get_int("EVECC") == 8)
|
||||||
@ -1171,7 +1181,7 @@ void TCU_app::isUpdated()
|
|||||||
r.write_rewrite(anagr.lfile());
|
r.write_rewrite(anagr.lfile());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
}
|
}
|
||||||
|
|
||||||
int m777200(int argc, char* argv[])
|
int m777200(int argc, char* argv[])
|
||||||
|
@ -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 "2018"
|
#define THIS_YEAR "2019"
|
||||||
#define THIS_YEARN 2018
|
#define THIS_YEARN 2019
|
||||||
#define LAST_YEAR "2017"
|
#define LAST_YEAR "2018"
|
||||||
#define LAST_YEARN 2017
|
#define LAST_YEARN 2018
|
||||||
|
|
||||||
class TRecordCU;
|
class TRecordCU;
|
||||||
|
|
||||||
|
@ -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 "2018"
|
#define THIS_YEAR "2019"
|
||||||
#define THIS_YEARN 2018
|
#define THIS_YEARN 2019
|
||||||
#define LAST_YEAR "2017"
|
#define LAST_YEAR "2018"
|
||||||
#define LAST_YEARN 2017
|
#define LAST_YEARN 2018
|
||||||
|
|
||||||
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 };
|
||||||
|
|
||||||
|
@ -335,7 +335,6 @@ BEGIN
|
|||||||
INPUT F_IC
|
INPUT F_IC
|
||||||
ITEM " | "
|
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 "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 (50% dell'ammontare erogato), relative ai compensi percepiti dai soggetti che hanno avviato un'attività di lavoro autonomo di impresa, in base a quanto stabilito dall'articolo 16 del D.lgs. n. 147 del 2015 modificato dalla legge n. 232 dell'11 dicembre 2016"
|
ITEM "5|Nel caso di somme corrisposte che non hanno concorso a formare il reddito imponibile (50% dell'ammontare erogato), relative ai compensi percepiti dai soggetti che hanno avviato un'attività di lavoro autonomo di impresa, in base a quanto stabilito dall'articolo 16 del D.lgs. n. 147 del 2015 modificato dalla legge n. 232 dell'11 dicembre 2016"
|
||||||
ITEM "6|Nel caso di assegni di servizio civile di cui all'art.16 del D.lgs. n. 40 del 2017 per i quali la norma ha previsto la loro esenzione"
|
ITEM "6|Nel caso di assegni di servizio civile di cui all'art.16 del D.lgs. n. 40 del 2017 per i quali la norma ha previsto la loro esenzione"
|
||||||
ITEM "7|Erogazione di altri redditi non soggetti a ritenuta ovvero esenti"
|
ITEM "7|Erogazione di altri redditi non soggetti a ritenuta ovvero esenti"
|
||||||
|
BIN
src/m770/Allegato A Specifiche Tecniche 770 2018.pdf
Normal file
BIN
src/m770/Allegato A Specifiche Tecniche 770 2018.pdf
Normal file
Binary file not shown.
BIN
src/m770/CU 2019.pdf
Normal file
BIN
src/m770/CU 2019.pdf
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user