From 4962f76047a60be292243c1a8c7b97b2e77cae76 Mon Sep 17 00:00:00 2001 From: bonazzi Date: Mon, 2 Oct 2017 17:34:37 +0000 Subject: [PATCH] Patch level : 12.0 454 Files correlati : cg4.exe L'apertura dell'esercizio IVA cancellava tutti i registri esistenti. Ora li preserva e aggiunge solamente quelli che mancano. git-svn-id: svn://10.65.10.50/branches/R_10_00@24123 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/cg/cg4501.cpp | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) 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(); + } } }