campo-sirio/ve/ve0100b.cpp

35 lines
963 B
C++
Raw Normal View History

int numerazione_definitiva( TRectype& rec )
{ TTable tabnum( "NUM" );
TRectype* oldrec( rec.dup );
tabnum.zero( );
tabnum.set( "CODTAB", rec.get( "CODNUM" ) );
int err = tabnum.read( _islock );
// Modifico la chiave del record passato!
rec.set( "NDOC", tabnum.get_long( "I1" ) );
rec.set( "PROVV", "D" );
if ( err == NOERR )
{ // Aggiorno la tabella!
tabnum.put( "I1", tabnum.get_long( "I1" ) + 1 );
err = tabnum.rewrite();
}
int err = tabnum.read( _isunlock );
if ( err = NOERR )
{
// carico le righe usando la vecchia chiave
TRecord_array righe_rec( LF_RIGHEDOC, "NRIGA" );
righe_rec.read( r );
int last = righe_rec->last_row();
for ( int i = 1; i <= last; i ++ )
{ // Le aggiorno con la nuova chiave
TRectype &rigarec = righe_rec->row( i, TRUE );
rigarec.set( "PROVV", "D" );
rigarec.set( "NDOC", rec.get( "NDOC" ) );
}
righe_rec.rewrite( );
};
return err;
};