diff --git a/cg/cg4301.cpp b/cg/cg4301.cpp index 18ba27ee6..1d2859d55 100755 --- a/cg/cg4301.cpp +++ b/cg/cg4301.cpp @@ -514,7 +514,7 @@ void TLiquidazione_app::zero_att(int month, const char* codatt) year = codtab.mid(0,4); if (m == month && att == codatt && year == _year) { - for (int j = 0; j < 34; j++) // Ciclo per i campi del record da azzerare + for (int j = 0; j < 37; j++) // Ciclo per i campi del record da azzerare (34 + 3) tab->zero(flds[j]); tab->rewrite(); } @@ -603,6 +603,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt) real acquisti_cd2_2 = ZERO; // non imponibili real acquisti_cd2_3 = ZERO; // esenti real acquisti_cd2_4 = ZERO; // intra + real acquisti_cd2_5 = ZERO; // beni strumentali real oroargento_cd3_1 = ZERO; // imponibile acquisto oro e argento real oroargento_cd3_2 = ZERO; // imposta acquisto oro e argento real rottami_cd3_3 = ZERO; // imponibile acquisto rottami @@ -1217,12 +1218,18 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt) case acquisto: // CD2 - 1 2 3 4 { acquisti_cd2_1 += imponibile; + if (iva_vpn.starts_with("CD2")) + { + if (tipocr == 2 || tipocr == 3) + acquisti_cd2_5 += imponibile; + } if (!cau_intra) { - if (iva_vpn == "CD22") - acquisti_cd2_2 += imponibile; else - if (iva_vpn == "CD23") - acquisti_cd2_3 += imponibile; + if (iva_vpn == "CD22") + acquisti_cd2_2 += imponibile; + else + if (iva_vpn == "CD23") + acquisti_cd2_3 += imponibile; } else { @@ -2201,6 +2208,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt) _pum->put("R23", oroargento_cd3_2); _pum->put("R24", rottami_cd3_3); _pum->put("R25", rottami_cd3_4); + _pum->put("R26", acquisti_cd2_5); _pam->put("R0", acquisti); _pam->put("R1", vendite); _pam->put("R6", assp_imp); diff --git a/cg/cg5700.cpp b/cg/cg5700.cpp index 4195fb909..4e9b9584b 100755 --- a/cg/cg5700.cpp +++ b/cg/cg5700.cpp @@ -299,6 +299,7 @@ void TDich_periodica_iva_mask::read_iva_data() real cd2_2 = ZERO; real cd2_3 = ZERO; real cd2_4 = ZERO; + real cd2_5 = ZERO; real cd3_1 = ZERO; real cd3_2 = ZERO; real cd3_3 = ZERO; @@ -335,12 +336,13 @@ void TDich_periodica_iva_mask::read_iva_data() cd3_2 += pum.get_real("R23"); cd3_3 += pum.get_real("R24"); cd3_4 += pum.get_real("R25"); + cd2_5 += pum.get_real("R26"); } } // Arrotondare tutto all'Euro cd1_1.round(); cd1_2.round(); cd1_3.round(); cd1_4.round(); - cd2_1.round(); cd2_2.round(); cd2_3.round(); cd2_4.round(); + cd2_1.round(); cd2_2.round(); cd2_3.round(); cd2_4.round(); cd2_5.round(); cd3_1.round(); cd3_2.round(); cd3_3.round(); cd3_3.round(); const real rettifica = lim.get_real("R5"); // Rettifiche @@ -364,7 +366,7 @@ void TDich_periodica_iva_mask::read_iva_data() cd6_2 = -cd6; set(F_CD1_1, cd1_1); set(F_CD1_2, cd1_2); set(F_CD1_3, cd1_3); set(F_CD1_4, cd1_4); - set(F_CD2_1, cd2_1); set(F_CD2_2, cd2_2); set(F_CD2_3, cd2_3); set(F_CD2_4, cd2_4); + set(F_CD2_1, cd2_1); set(F_CD2_2, cd2_2); set(F_CD2_3, cd2_3); set(F_CD2_4, cd2_4); set(F_CD2_5, cd2_5); set(F_CD3_1, cd3_1); set(F_CD3_2, cd3_2); set(F_CD3_3, cd3_3); set(F_CD3_4, cd3_4); set(F_CD4, cd4); set(F_CD5, cd5); set(F_CD6_1, cd6_1); set(F_CD6_2, cd6_2); @@ -390,6 +392,7 @@ void TDich_periodica_iva_mask::print_prospect() frm.find_field('B', odd_page, FF_CD2_2).set(get(F_CD2_2)); frm.find_field('B', odd_page, FF_CD2_3).set(get(F_CD2_3)); frm.find_field('B', odd_page, FF_CD2_4).set(get(F_CD2_4)); + frm.find_field('B', odd_page, FF_CD2_5).set(get(F_CD2_5)); frm.find_field('B', odd_page, FF_CD3_1).set(get(F_CD3_1)); frm.find_field('B', odd_page, FF_CD3_2).set(get(F_CD3_2)); diff --git a/cg/cg5700.h b/cg/cg5700.h index 79097d867..95b3a23c8 100755 --- a/cg/cg5700.h +++ b/cg/cg5700.h @@ -18,6 +18,7 @@ #define F_CD5 118 #define F_CD6_1 119 #define F_CD6_2 120 +#define F_CD2_5 121 #define FF_YEAR 101 #define FF_CODDITTA 102 @@ -38,3 +39,4 @@ #define FF_CD5 118 #define FF_CD6_1 119 #define FF_CD6_2 120 +#define FF_CD2_5 121 diff --git a/cg/cg5700a.frm b/cg/cg5700a.frm index fc29c9fbe..635df1fe3 100755 --- a/cg/cg5700a.frm +++ b/cg/cg5700a.frm @@ -172,7 +172,6 @@ BEGIN PROMPT 60 21 "@b" END - STRINGA -1 BEGIN PROMPT 2 22 "______________________________________________________________________________" @@ -233,116 +232,128 @@ END STRINGA -1 BEGIN - KEY "CD3 - Descrizione" - PROMPT 2 29 "@b-Importazioni d'oro industriale e argento puro senza pagamento IVA in dogana-" + KEY "CD2_4 - Descrizione" + PROMPT 6 28 "di cui: acquisti beni strumentali" +END + +VALUTA FF_CD2_5 18 +BEGIN + KEY "CD2_5 - Valore" + PROMPT 40 28 "@b" END STRINGA -1 BEGIN - PROMPT 2 30 "@bCD3@r Imponibile" + KEY "CD3 - Descrizione" + PROMPT 2 30 "@b-Importazioni d'oro industriale e argento puro senza pagamento IVA in dogana-" +END + +STRINGA -1 +BEGIN + PROMPT 2 31 "@bCD3@r Imponibile" END VALUTA FF_CD3_1 18 BEGIN KEY "CD3_1 - Imponibile" - PROMPT 20 30 "@b" + PROMPT 20 31 "@b" END STRINGA -1 BEGIN - PROMPT 50 30 "@rImposta" + PROMPT 50 31 "@rImposta" END VALUTA FF_CD3_2 18 BEGIN KEY "CD3_2 - Imposta " - PROMPT 60 30 "@b" + PROMPT 60 31 "@b" END STRINGA -1 BEGIN KEY "CD3 - Descrizione" - PROMPT 2 31 "@b-Rottami e altri materiali di recupero-" + PROMPT 2 32 "@b-Rottami e altri materiali di recupero-" END STRINGA -1 BEGIN - PROMPT 2 32 "@bCD3@r Imponibile" + PROMPT 2 33 "@bCD3@r Imponibile" END VALUTA FF_CD3_3 18 BEGIN KEY "CD3_1 - Imponibile" - PROMPT 20 33 "@b" + PROMPT 20 34 "@b" END STRINGA -1 BEGIN - PROMPT 50 32 "@rImposta" + PROMPT 50 33 "@rImposta" END VALUTA FF_CD3_4 18 BEGIN KEY "CD3_2 - Imposta " - PROMPT 60 33 "@b" + PROMPT 60 34 "@b" END STRINGA -1 BEGIN - PROMPT 2 34 "______________________________________________________________________________" + PROMPT 2 35 "______________________________________________________________________________" END STRINGA -1 BEGIN KEY "IVA esigibile" - PROMPT 2 35 "@bCD4@r IVA esigibile" + PROMPT 2 36 "@bCD4@r IVA esigibile" END VALUTA FF_CD4 18 BEGIN KEY "IVA esigibile" - PROMPT 20 35 "@b" + PROMPT 20 36 "@b" END STRINGA -1 BEGIN KEY "IVA esigibile" - PROMPT 2 37 "@bCD5@r IVA detratta" + PROMPT 2 38 "@bCD5@r IVA detratta" END VALUTA FF_CD5 18 BEGIN KEY "CD5 - IVA detratta" - PROMPT 60 37 "@b" + PROMPT 60 38 "@b" END STRINGA -1 BEGIN KEY "CD6_1 - IVA dovuta" - PROMPT 2 39 "@bCD6@r IVA dovuta" + PROMPT 2 40 "@bCD6@r IVA dovuta" END VALUTA FF_CD6_1 18 BEGIN KEY "CD6_1 - IVA dovuta" - PROMPT 20 39 "@b" + PROMPT 20 40 "@b" END STRINGA -1 BEGIN KEY "CD6_2 - IVA a credito" - PROMPT 49 39 "@ro a credito" + PROMPT 49 40 "@ro a credito" END VALUTA FF_CD6_2 18 BEGIN KEY "CD6_2 - IVA a credito" - PROMPT 60 39 "@b" + PROMPT 60 40 "@b" END STRINGA -1 BEGIN - PROMPT 2 40 "______________________________________________________________________________" + PROMPT 2 41 "______________________________________________________________________________" END END diff --git a/cg/cg5700b.uml b/cg/cg5700b.uml index 58d7ec327..dbb37a41e 100755 --- a/cg/cg5700b.uml +++ b/cg/cg5700b.uml @@ -88,6 +88,12 @@ BEGIN FLAGS "D" END +CURRENCY F_CD2_5 18 +BEGIN + PROMPT 1 13 " di cui: acq. beni strument. " + FLAGS "D" +END + TEXT -1 BEGIN PROMPT 1 14 "@bImportazioni di oro industriale e argento puro senza IVA alla dogana "