From 3de31a3aff903bc8f5fef9e82aa7fd00ee65c1de Mon Sep 17 00:00:00 2001 From: bonazzi Date: Mon, 10 Apr 2017 13:37:40 +0000 Subject: [PATCH] Patch level : 12.0 374 Files correlati : cg4.exe Corretta l'esposizione dell' iva per cassa e differita nel caso di pro-rata (rif. Bellegotti) git-svn-id: svn://10.65.10.50/branches/R_10_00@23730 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/cg/cg4300.h | 2 +- src/cg/cg4301.cpp | 4 ++-- src/cg/cg4304.cpp | 29 ++++++++++++++++++++++++++++- src/cg/cg4400.cpp | 2 +- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/cg/cg4300.h b/src/cg/cg4300.h index b760a763b..c313b1f8d 100755 --- a/src/cg/cg4300.h +++ b/src/cg/cg4300.h @@ -589,7 +589,7 @@ public: void set_pim_head(_DescrItem& d); // void set_liqacc_1999(_DescrItem& d); - int calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas) const; + int calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas); int print_acc_diff_xcassa(const _DescrItem& d); void set_liqacc_2000(_DescrItem& d); diff --git a/src/cg/cg4301.cpp b/src/cg/cg4301.cpp index 3d04a7db3..616a3b805 100755 --- a/src/cg/cg4301.cpp +++ b/src/cg/cg4301.cpp @@ -2776,8 +2776,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & acquisti_iva += agr_detIA; } - _plm->put("R12", _prorata.percentuale(_year)); // per comodita' in stampa - _plm->put("R4", percentuale1); + _plm->put("R12", _prorata.percentuale(_year)); + _plm->put("R4", percentuale1); _plm->put("R16", percentuale2); _plm->put("R0", vendite_iva); _plm->put("R1", acquisti_iva); diff --git a/src/cg/cg4304.cpp b/src/cg/cg4304.cpp index e35dc226f..4ec6d2b75 100755 --- a/src/cg/cg4304.cpp +++ b/src/cg/cg4304.cpp @@ -1638,7 +1638,7 @@ void TLiquidazione_app::set_liqacc_1999(_DescrItem& d) } */ -int TLiquidazione_app::calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas) const +int TLiquidazione_app::calc_inc_diff(int tipoiva, real& imponibile_diff, real& imposta_diff, real& imponibile_xcas, real& imposta_xcas) { CHECKD(tipoiva == 1 || tipoiva == 2, "Bad tipo iva:", tipoiva); int flag = 0; @@ -1670,6 +1670,33 @@ int TLiquidazione_app::calc_inc_diff(int tipoiva, real& imponibile_diff, real& i } } + if (tipoiva == 2) + { + real perc_prorata; + + query = "USE PLM"; + query << "\nFROM CODTAB=" << _year << "\nTO CODTAB=" << _year; + TISAM_recordset ip(query); + const TRectype& recp = ip.cursor()->curr(); + for (bool ok = ip.move_first(); ok && perc_prorata == ZERO; ok = ip.move_next()) + { + int m = atoi(ip.get("CODTAB").as_string().mid(10)); + real p = ip.get("R12").as_real(); + if (m == _month && p != ZERO) + perc_prorata = p; + } + + if (perc_prorata > ZERO) + { + real ind = imposta_diff * perc_prorata / CENTO; + ind.round(TCurrency::get_firm_dec()); + imposta_diff -= ind; + ind = imposta_xcas * perc_prorata / CENTO; + ind.round(TCurrency::get_firm_dec()); + imposta_xcas -= ind; + } + } + return flag; } diff --git a/src/cg/cg4400.cpp b/src/cg/cg4400.cpp index 8cf9de447..ed0af0e6e 100755 --- a/src/cg/cg4400.cpp +++ b/src/cg/cg4400.cpp @@ -1984,7 +1984,7 @@ bool TStampa_registri_app::print_IVAxCassa(int da_month, int a_month) TString query; // query = "USE IVADIFF SELECT (BETWEEN(DATAREGP,#DAL,#AL))&&(MOV.REG=#REG)&&(STR((MESELIQ<13)&&(TIPOMOV>2)&&(MOV.TOTDOC>0)))"; - query = "USE IVADIFF SELECT (BETWEEN(DATAREGP,#DAL,#AL))&&(MOV.REG=#REG)&&(STR((MESELIQ<13)&&(TIPOMOV>2)&&(MOV.TOTDOC!=0)))"; // 17-11-2015 trasformato in MOV.TOTDOC!=0 + query = "USE IVADIFF SELECT (BETWEEN(DATAREGP,#DAL,#AL))&&(MOV.REG=#REG)&&(STR((MESELIQ<13)&&(TIPOMOV>2)&&(MOV.TOTDOC!=0)&&(IMPOSTA!=0)&&NUM(INDETR!='X')))"; // 17-11-2015 trasformato in MOV.TOTDOC!=0 query << "\nBY DATAREGP DATAREG NUMPRO"; query << "\nJOIN MOV INTO NUMREG==NUMREG"; query << "\nJOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF";