diff --git a/src/cg/cg4501.cpp b/src/cg/cg4501.cpp index 9db14ae7b..e773d2523 100755 --- a/src/cg/cg4501.cpp +++ b/src/cg/cg4501.cpp @@ -104,6 +104,7 @@ bool TAp_iva::apertura_iva() //viene aggiornata la tabella dei registri. TRelation reg("REG"); TRectype & tabreg = reg.curr(); + TTable newreg("REG"); TString4 annoiva; annoiva.format("%04d", _annoiva); tabreg.put ("CODTAB", annoiva); @@ -111,15 +112,15 @@ bool TAp_iva::apertura_iva() TCursor cur_reg(®, "", 1, &tabreg, &tabreg); TRecnotype items = cur_reg.items(); - cur_reg.freeze(); - for (cur_reg = 0L; cur_reg.pos() < items; ++cur_reg) +/*cur_reg.freeze(); + for (cur_reg = 0L; cur_reg.pos() < items; ++cur_reg) { const int tiporeg = tabreg.get_int("I0"); if ((tiporeg == 1) || (tiporeg == 2) || (tiporeg == 3) || (tiporeg==9)) reg.remove(); - } + } + cur_reg.freeze(FALSE);*/ - cur_reg.freeze(FALSE); tabreg.zero(); tabreg.put ("CODTAB", _annop); cur_reg.setregion(tabreg, tabreg); @@ -133,20 +134,24 @@ bool TAp_iva::apertura_iva() TString8 cod = tabreg.get("CODTAB"); cod.overwrite(annoiva); - tabreg.put("CODTAB", cod); - tabreg.zero("I1"); - tabreg.zero("I2"); - tabreg.zero("I4"); - tabreg.zero("I5"); - tabreg.zero("I6"); - tabreg.zero("S1"); - tabreg.zero("D0"); - tabreg.zero("D2"); - tabreg.zero("D3"); - tabreg.zero("R1"); - tabreg.zero("R2"); - - reg.write(); + newreg.put("CODTAB", cod); + if (newreg.read(_isequal) != NOERR) + { + newreg.curr() = tabreg; + newreg.put("CODTAB", cod); + newreg.zero("I1"); + newreg.zero("I2"); + newreg.zero("I4"); + newreg.zero("I5"); + newreg.zero("I6"); + newreg.zero("S1"); + newreg.zero("D0"); + newreg.zero("D2"); + newreg.zero("D3"); + newreg.zero("R1"); + newreg.zero("R2"); + newreg.write(); + } } }