diff --git a/cg/cg4301.cpp b/cg/cg4301.cpp index 0c4202e4d..c585f3027 100755 --- a/cg/cg4301.cpp +++ b/cg/cg4301.cpp @@ -164,7 +164,7 @@ bool TLiquidazione_app::update_firm(int month, bool recalc) // lim c'e' solo per i trimestri bool ok = _lim->get_bool("B0"); if (ok && !recalc) return TRUE; - bool calc = (_recalc == ever || (_recalc == one && month == _month)); + bool calc = (_recalc == ever || (_recalc == one && is_month_ok(month,_month))); if (!calc && _recalc != never) calc = !ok; bool gheravergot = FALSE; bool quater = FALSE; @@ -326,7 +326,7 @@ bool TLiquidazione_app::update_att(int month, const char* codatt, look_plm(month, codatt, TRUE); bool ok = _plm->get_bool("B0"); if (ok && !recalc) return TRUE; - bool calc = _recalc == ever || (_recalc == one && month == _month); + bool calc = _recalc == ever || (_recalc == one && is_month_ok(month,_month)); if (!calc && _recalc != never) calc = !ok; if (calc || !recalc) @@ -1518,10 +1518,13 @@ void TLiquidazione_app::write_liq(int month, const char* codatts) real ivi = risultato * (interesse / CENTO); ivi.ceil(ROUND_LIRA); _lim->put("R14", ivi); - _lim->put("R10",interesse_trimestrale(_month)); } - // totale conguaglio su tutte le attivita' + // questo serve anche per la visualizzazione e per l'estrazione deleghe + if (_freqviva == "T" && month != 13 && !_isbenzinaro) + _lim->put("R10",interesse_trimestrale(_month)); + + // totale conguaglio su tutte le attivita' _lim->put("R7", tot_cong); _lim->put("R8", versamenti); _lim->put("R9", vers_int); diff --git a/cg/cg4302.cpp b/cg/cg4302.cpp index 344920e5e..64c6f2db9 100755 --- a/cg/cg4302.cpp +++ b/cg/cg4302.cpp @@ -613,10 +613,7 @@ real TLiquidazione_app::versamenti_IVA(int month, const char* types, bool intr) if (look_del(month,tp)) if (_del->get_bool("B0") || _is_visliq) // solo se stampata, a meno // che non sia per visliq - { ret += _del->get_real("R0"); - if (intr) ret += _del->get_real("R1"); - } } return ret; } diff --git a/cg/cg5500.cpp b/cg/cg5500.cpp index eaa880927..e973d9050 100755 --- a/cg/cg5500.cpp +++ b/cg/cg5500.cpp @@ -557,7 +557,7 @@ bool Visliq_app::vis_one(int m) } msk.field(F_DESCR1).set(desc1); - msk.field(F_DESCR2).set(desc1); + msk.field(F_DESCR2).set(desc2); msk.field(F_ACCONTO).set(acconto.string()); TExternal_app liq("cg4 -2"); @@ -584,7 +584,7 @@ bool Visliq_app::vis_one(int m) if (is_delega = look_del(m,1)) { - vers = _del->get_real("R0") + _del->get_real("R1"); + vers = _del->get_real("R0") /* + _del->get_real("R1") */; date = _del->get_date("D0"); abi = _del->get("S7"); cab = _del->get("S8"); @@ -781,7 +781,10 @@ void Visliq_app::recalc_liq_data(TViswin* vsw, real& rimb, real& rett, real& ver _lim->put("R12", riscr); _lim->put("R13", risdb); _lim->put("R14", intr); - + + _lim->put("S0", d1); + _lim->put("S1", d2); + // i dati dei versamenti si schiaffano in LIM: // D0 la data, S4/5/6 le tre cazzate ABI CAB CON _lim->put("D0", date); @@ -956,11 +959,16 @@ void Visliq_app::write_del() TString con(_lim->get("S6")); TDate date(_lim->get("D0")); real vers(_lim->get_real("R8")); + real intr(_lim->get_real("R10")); bool wasdel = look_del(month,1,TRUE); + // riapplica il tasso di interesse + real inter = vers*(intr/real(100.0)); + inter.ceil(); + _del->put("R0",vers); - _del->put("R1",""); + _del->put("R1",inter); _del->put("D0",date); _del->put("S7",abi); _del->put("S8",cab); diff --git a/cg/cg5500b.uml b/cg/cg5500b.uml index 5cef78237..6e2c03670 100755 --- a/cg/cg5500b.uml +++ b/cg/cg5500b.uml @@ -123,7 +123,7 @@ BEGIN ITEM "C|Credito" INPUT 104 OUTPUT 104 - FLAGS "D" + FLAGS "DU" END NUMBER 104 15 @@ -147,7 +147,8 @@ BEGIN ITEM "D|Debito" ITEM "C|Credito" INPUT 104 - OUTPUT 104 + OUTPUT 104 + FLAGS "U" END BUTTON DLG_OK 10 2 @@ -235,7 +236,8 @@ BEGIN ITEM "D|Debito" ITEM "C|Credito" INPUT 104 - OUTPUT 104 + OUTPUT 104 + FLAGS "U" END */ diff --git a/cg/cg5500c.uml b/cg/cg5500c.uml index 48b2f0ba9..cb39954db 100755 --- a/cg/cg5500c.uml +++ b/cg/cg5500c.uml @@ -101,7 +101,7 @@ BEGIN ITEM "C|Credito" INPUT 104 OUTPUT 104 - FLAGS "D" + FLAGS "DU" END NUMBER 104 15 @@ -125,7 +125,8 @@ BEGIN ITEM "D|Debito" ITEM "C|Credito" INPUT 104 - OUTPUT 104 + OUTPUT 104 + FLAGS "U" END BUTTON DLG_OK 10 2 @@ -212,7 +213,8 @@ BEGIN ITEM "D|Debito" ITEM "C|Credito" INPUT 104 - OUTPUT 104 + OUTPUT 104 + FLAGS "U" END */