Correzione alla rewrite

git-svn-id: svn://10.65.10.50/trunk@360 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-10-12 18:59:59 +00:00
parent 9aa0b8eae3
commit 5b4f9e0e88

View File

@ -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;
}