Patch level : 12.0 698

Files correlati     : 777.exe 77tbca7.msk ba4200b.msk ba4200c.msk

Certificazione unica (CU) 2019
This commit is contained in:
AlexBonazzi 2019-02-12 20:20:32 +01:00
parent 178035aa4e
commit aa8c627063
6 changed files with 31 additions and 22 deletions

View File

@ -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[])

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 "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;

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 "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 };

View File

@ -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% dellammontare 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% dellammontare 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 l80% dellammontare erogato per le lavoratrici ed il 70% per i lavoratori) per i lavoratori appartenenti alle categorie individuate con Decreto del Ministro dellEconomia e delle Finanze del 3 giugno 2011 in possesso dei requisiti previsti e che hanno richiesto di fruire del beneficio fiscale previsto dallart. 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"

Binary file not shown.

BIN
src/m770/CU 2019.pdf Normal file

Binary file not shown.