From 5b4f9e0e88f36593fdf90d610600c4bced9202d1 Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 12 Oct 1994 18:59:59 +0000 Subject: [PATCH] Correzione alla rewrite git-svn-id: svn://10.65.10.50/trunk@360 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg5300.cpp | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/cg/cg5300.cpp b/cg/cg5300.cpp index 22af7037b..5ac256eae 100755 --- a/cg/cg5300.cpp +++ b/cg/cg5300.cpp @@ -184,6 +184,7 @@ int CG5300_App::rewrite(const TMask& m) TSheet_field& sf = (TSheet_field&)m.field(F_SHEET_PLA); const TString16 year(m.get(F_YEAR)); int err = NOERR; + bool was = FALSE; for (int i = 0; err == NOERR && i < _atts.items(); i++) { @@ -192,6 +193,10 @@ int CG5300_App::rewrite(const TMask& m) const TString16 tips(tt.get(1)); _pla->zero(); + _pla->put("CODTAB", format("%s%s1", (const char *) year, (const char *) att)); + was =_pla->read() == NOERR; + if (!was) _pla->zero(); + _pla->put("CODTAB", format("%s%s1", (const char *) year, (const char *) att)); // scrive i campi (vedi a read() per i nomi) // in base alla riga sheet @@ -200,25 +205,32 @@ int CG5300_App::rewrite(const TMask& m) _pla->put("R5", tt.get()); // plafond art. 8 _pla->put("R6", tt.get()); // plafond art. 8bis _pla->put("R7", tt.get()); // plafond art. 9 - if ((err = _pla->write()) == _isreinsert) - err = _pla->rewrite(); - _pla->zero(); + err = (was ? _pla->rewrite() : _pla->write()); if (err == NOERR) { + _pla->zero(); + _pla->put("CODTAB", format("%s%s2", (const char *) year, (const char *) att)); + was =_pla->read() == NOERR; + if (!was) _pla->zero(); _pla->put("CODTAB", format("%s%s2", (const char *) year, (const char *) att)); // scrive i campi (vedi a read() per i nomi) // in base alla riga sheet _pla->put("S7", tips); // tipo attivita' - _pla->put("R8", tt.get()); // prorata + _pla->put("R8", tt.get(2)); // prorata _pla->put("R5", tt.get()); // plafond art. 8 _pla->put("R6", tt.get()); // plafond art. 8bis _pla->put("R7", tt.get()); // plafond art. 9 - if ((err = _pla->write()) == _isreinsert) - err = _pla->rewrite(); + err = (was ? _pla->rewrite() : _pla->write()); } } + TTable & lia = (TTable &) _rel->lfile(); + + lia.zero(); + lia.put("CODTAB", year); + was = lia.read() == NOERR; + if (!was) lia.zero(); m.autosave(); - if (err == NOERR) err = _rel->rewrite(); + if (err == NOERR) err = (was ? lia.rewrite() : lia.write()); return err; }