From 4a569295a1f80b1d0ec20d1b409e3c11a4300a40 Mon Sep 17 00:00:00 2001 From: bonazzi Date: Tue, 13 Mar 2018 16:19:21 +0000 Subject: [PATCH] Patch level : 12.0 552 Files correlati : cg4.exe cg7.exe cg7600a.rep cg7700a.rep cg7800a.rep Modificato il calcolo dell' iva per cassa e differita nella liquidazione e nei quadri della dichiarazione, metteva in ivadiff dei righi di pagamaemnto di iva aesente che non avevano il rigo fattura, tolti. git-svn-id: svn://10.65.10.50/branches/R_10_00@24432 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/cg/cg4301.cpp | 26 +++++++++++++------------- src/cg/cg4304.cpp | 8 +++++--- src/cg/cg7600.cpp | 7 +++---- src/cg/cg7600a.rep | 17 +++++------------ src/cg/cg7700.cpp | 6 +++--- src/cg/cg7700a.rep | 2 +- src/cg/cg7800a.rep | 34 ++++++++++++++-------------------- 7 files changed, 44 insertions(+), 56 deletions(-) diff --git a/src/cg/cg4301.cpp b/src/cg/cg4301.cpp index e36468f6f..9e7c9eb2a 100755 --- a/src/cg/cg4301.cpp +++ b/src/cg/cg4301.cpp @@ -1371,6 +1371,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & if (!dok || sreg || rs8 || cmt) continue; + const tipo_sospensione sosp_imp = _reg->get_bool("B1") ? (tipo_sospensione) _reg->get_int("I9") : nessuna; /* @@ -1514,17 +1515,16 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & continue; TDate datafat; + const TDate datareg = _mov->get_date(MOV_DATAREG); + int mesereg = datareg.month(); + const bool ok = is_month_ok(month, mesereg) && (atoi(_year) == datareg.year()); + if (!ok && civa.senza_imposta()) + continue; + if (is_detr_diff == 1 && !ok) + continue; if (bRowIsMovDiff && tm == tm_fattura) { - const TDate datareg = _mov->get_date(MOV_DATAREG); - int mesereg = datareg.month(); - const bool ok = is_month_ok(month, mesereg) && (atoi(_year) == datareg.year()); - - if (!ok && civa.senza_imposta()) - continue; - if (is_detr_diff == 1 && !ok) - continue; datafat = datareg; sezfat = tipomov == vendita ? 'D' : 'A'; id.put(RMI_NUMREG, _rmoviva->get(RMI_NUMREG)); @@ -1559,8 +1559,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array & cantwrite_box(id.description()); } - if (!pagscatt.empty()) - { + if (bRowIsMovDiff && !pagscatt.empty()) + { const char sezpag = tipomov == vendita ? 'A' : 'D'; real totfat = _mov->get(MOV_TOTDOC); real tot = totfat; @@ -4597,13 +4597,13 @@ void TLiquidazione_app::recalc_annual(const char* att, real tot_reg, bool & firs switch (tipomov) { case 1: - volaff1 -= (sezione == 'D') ? imp : -imp; + volaff1 += (sezione == 'D') ? imp : -imp; break; case 2: - volaff1 += (sezione == 'A') ? imp : -imp; + volaff1 += (sezione == 'A') ? -imp : imp; break; case 3: - volaff1 += (sezione == 'A') ? imp : -imp; + volaff1 += (sezione == 'A') ? -imp : imp; break; default: break; diff --git a/src/cg/cg4304.cpp b/src/cg/cg4304.cpp index 17bf1b8ee..abc4c1bbc 100755 --- a/src/cg/cg4304.cpp +++ b/src/cg/cg4304.cpp @@ -2791,8 +2791,9 @@ static void imp2string(const real& n, TString& str) void TLiquidazione_app::set_iva_succ(int& rw) { TString query; - query << "USE IVADIFF KEY 2 SELECT (BETWEEN(DATAREG,#DAL,#AL))&&(BETWEEN(DATAREGP,0,#AL))" - << "\nFROM ANNOLIQ=" << _year; + + query << "USE IVADIFF KEY 2 SELECT (BETWEEN(DATAREG,#DAL,#AL))&&(BETWEEN(DATAREGP,0,#AL))" + << "\nFROM ANNOLIQ=" << _year; TISAM_recordset id(query); const TDate da_datareg(1, 1, atoi(_year)); const TDate a_datareg(31, 12, atoi(_year)); @@ -2815,6 +2816,7 @@ void TLiquidazione_app::set_iva_succ(int& rw) } const char sezione = id.get("SEZIONE").as_string()[0]; const TImporto imp(sezione, id.get(RMI_IMPONIBILE).as_real()); + if (!imp.is_zero()) { if (cur_tipoiva == 1) // Vendite @@ -2831,7 +2833,7 @@ void TLiquidazione_app::set_iva_succ(int& rw) if (!ven_diff.is_zero() || !ven_xcas.is_zero() || !acq_xcas.is_zero()) { - set_row(rw++,FR("@11g@bOPERAZIONI EFFETTUATE NELL'ANNO CON IMPOSTA ESIGIBILE NEGLI ANNI SUCCESSIVI@r")); + set_row(rw++,FR("@11g@bOPERAZIONI EFFETTUATE NELL'ANNO CON IMPOSTA ESIGIBILE NEGLI ANNI SUCCESSIVI@r")); const real vd = ven_diff.valore(); const real vc = ven_xcas.valore(); const real vt = vc+vd; diff --git a/src/cg/cg7600.cpp b/src/cg/cg7600.cpp index f8027c8ce..da8ce0058 100644 --- a/src/cg/cg7600.cpp +++ b/src/cg/cg7600.cpp @@ -3,6 +3,7 @@ #include #include +#include "cglib03.h" #include "cg7401.h" #include "cgpim.h" #include "cg7400a.h" @@ -280,9 +281,10 @@ void TQuadro_VE_recordset::load() cur_tipodiff = id.get(ID_TIPODIFF).as_int(); } + const TRectype & mov = cache().get(LF_MOV, numreg); const char sezione = id.get(ID_SEZIONE).as_string()[0]; const int tipomov = id.get(ID_TIPOMOV).as_int(); - const real imp = id.get(RMI_IMPONIBILE).as_real(); + const real imp = id.get(RMI_IMPONIBILE).as_real(); if (!imp.is_zero() && cur_tipoiva == 1) // Vendite { @@ -299,10 +301,7 @@ void TQuadro_VE_recordset::load() add_value("VE37.2", (sezione == 'A') ? -imp : imp); // VE37.2 iva per cassa da incassare break; case 3: - add_value("VE37.1", (sezione == 'A') ? -imp : imp); // VE37.1 2 iva sospensione da incassare add_value("VE39.1", (sezione == 'A') ? imp : -imp); // VE39.1 iva sospensione incassata - if (cur_tipodiff == 2) - add_value("VE37.2", (sezione == 'A') ? -imp : imp); // VE37.2 iva per cassa da incassare break; default: break; diff --git a/src/cg/cg7600a.rep b/src/cg/cg7600a.rep index 9f6f9d4c0..66a30fea1 100644 --- a/src/cg/cg7600a.rep +++ b/src/cg/cg7600a.rep @@ -140,20 +140,18 @@ #3002+#3003+#3004+#3005 - MESSAGE ADD,#B1.2301 - + VE31.1 - + VE32.1 - + VE33.1 - + VE34.1 - MESSAGE ADD,#B1.2301 VE35.2 @@ -179,9 +177,8 @@ VE35.9 - + #3502+#3503+#3504+#3505+#3506+#3507+#3508+#3509 - MESSAGE ADD,#B1.2301 VE36.1 @@ -194,19 +191,15 @@ VE38.1 - MESSAGE ADD,#B1.5001 VE39.1 - MESSAGE SUB,#B1.5001 VE40.1 - MESSAGE SUB,#B1.5001 #2401+#3010+#3101+#3201+#3301+#3401+#3510+#3601+#3701+#3801-#3901-#4001 - MESSAGE ADD,#B1.2301
diff --git a/src/cg/cg7700.cpp b/src/cg/cg7700.cpp index 8b91183f7..598a804bc 100644 --- a/src/cg/cg7700.cpp +++ b/src/cg/cg7700.cpp @@ -339,10 +339,10 @@ void TQuadro_VF_recordset::load() add_value("VF21.2", (sezione == 'D') ? -imp : imp); // VF21.2 iva per cassa da pagare break; case 3: - add_value("VF21.1", (sezione == 'D') ? -imp : imp); // VF21.1 iva sospensione da pagare +// add_value("VF21.1", (sezione == 'D') ? -imp : imp); // VF21.1 iva sospensione da pagare add_value("VF22.1", (sezione == 'D') ? imp : -imp); // VF22.1 iva sospensione pagata - if (cur_tipodiff == 2) - add_value("VF21.2", (sezione == 'D') ? -imp : imp); // VF21.2 iva per cassa da pagare +// if (cur_tipodiff == 2) +// add_value("VF21.2", (sezione == 'D') ? -imp : imp); // VF21.2 iva per cassa da pagare break; default: break; diff --git a/src/cg/cg7700a.rep b/src/cg/cg7700a.rep index fafd406fe..04d2df754 100644 --- a/src/cg/cg7700a.rep +++ b/src/cg/cg7700a.rep @@ -136,7 +136,7 @@ VF22.1 - #101+#201+#301+#401+#501+#601+#701+#801+#901+#1001+#1101+#1201+#1301+#1401+#1501+#1601+#1701+#1801+#1901+#2001+#2101+#2201 + #101+#201+#301+#401+#501+#601+#701+#801+#901+#1001+#1101+#1201+#1301+#1401+#1501+#1601+#1701+#1801+#1901+#2001+#2101-#2201 #102+#202+#302+#402+#502+#602+#702+#802+#902+#1002+#1102+#1202+#1302 diff --git a/src/cg/cg7800a.rep b/src/cg/cg7800a.rep index 5b375af48..a871ced76 100644 --- a/src/cg/cg7800a.rep +++ b/src/cg/cg7800a.rep @@ -90,34 +90,34 @@ VJ11.2 - + VJ12.1 - + VJ12.2 - + VJ13.1 - + VJ13.2 - + VJ14.1 - + VJ14.2 - + VJ15.1 - + VJ16.2 - + VJ16.1 - + VJ16.2 @@ -126,20 +126,14 @@ VJ17.2 - + VJ18.1 - + VJ18.2 - - VJ19.1 - - - VJ19.2 - - - #102+#202+#302+#402+#502+#602+#702+#802+#902+#1002+ #1102+#1202+#1302+#1402+#1502+#1602+#1702+#1802+#1902 + + #102+#202+#302+#402+#502+#602+#702+#802+#902+#1002+ #1102+#1202+#1302+#1402+#1502+#1602+#1702+#1802