1995-08-11 10:45:34 +00:00
|
|
|
|
|
|
|
|
|
// DOVE COMPARE !! SONO STATE FATTE MODIFICHE DA GIANLUCA O GUIDO
|
|
|
|
|
|
|
|
|
|
// !!
|
|
|
|
|
#include <rectypes.h>
|
|
|
|
|
#include <relation.h>
|
|
|
|
|
#include <tabutil.h>
|
|
|
|
|
|
|
|
|
|
int numerazione_definitiva( TLocalisamfile& doc )
|
1995-08-07 07:59:09 +00:00
|
|
|
|
{ TTable tabnum( "NUM" );
|
1995-08-11 10:45:34 +00:00
|
|
|
|
TRectype &rec= doc.curr();
|
1995-08-07 07:59:09 +00:00
|
|
|
|
|
1995-08-11 10:45:34 +00:00
|
|
|
|
doc.read( rec, _lock );
|
|
|
|
|
TRectype oldrec( doc.curr() );
|
1995-08-07 07:59:09 +00:00
|
|
|
|
tabnum.zero( );
|
1995-08-11 10:45:34 +00:00
|
|
|
|
tabnum.put( "CODTAB", rec.get( "CODNUM" ) );
|
|
|
|
|
int err = tabnum.read( _lock );
|
1995-08-07 07:59:09 +00:00
|
|
|
|
// Modifico la chiave del record passato!
|
1995-08-11 10:45:34 +00:00
|
|
|
|
rec.put( "NDOC", tabnum.get_long( "I1" ) );
|
|
|
|
|
rec.put( "PROVV", "D" );
|
|
|
|
|
// !! Matteo, qui non manca qualcosina!? (tipo, che so', la scrittura del record...)
|
1995-08-07 07:59:09 +00:00
|
|
|
|
if ( err == NOERR )
|
|
|
|
|
{ // Aggiorno la tabella!
|
|
|
|
|
tabnum.put( "I1", tabnum.get_long( "I1" ) + 1 );
|
|
|
|
|
err = tabnum.rewrite();
|
|
|
|
|
}
|
1995-08-11 10:45:34 +00:00
|
|
|
|
doc.read( rec, _unlock );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// !! che casino! non si pu<70> prendere un record, bloccarlo, cambiargli la chiave,
|
|
|
|
|
// !! riscriverlo e poi sbloccarlo: deve essere letto e duplicato, modificato nella copia
|
|
|
|
|
// !! con la nuova chiave, scritto e cancellato il vecchio (!)... almeno cos<6F> dice Guido.
|
|
|
|
|
// !! occhio! :-)
|
|
|
|
|
|
|
|
|
|
err = tabnum.read( _unlock );
|
1995-08-07 07:59:09 +00:00
|
|
|
|
if ( err = NOERR )
|
|
|
|
|
{
|
|
|
|
|
// carico le righe usando la vecchia chiave
|
|
|
|
|
TRecord_array righe_rec( LF_RIGHEDOC, "NRIGA" );
|
1995-08-11 10:45:34 +00:00
|
|
|
|
righe_rec.read( rec );
|
|
|
|
|
int last = righe_rec.last_row();
|
1995-08-07 07:59:09 +00:00
|
|
|
|
for ( int i = 1; i <= last; i ++ )
|
|
|
|
|
{ // Le aggiorno con la nuova chiave
|
1995-08-11 10:45:34 +00:00
|
|
|
|
TRectype &rigarec = righe_rec.row( i, TRUE );
|
|
|
|
|
rigarec.put( "PROVV", "D" );
|
|
|
|
|
rigarec.put( "NDOC", rec.get( "NDOC" ) );
|
1995-08-07 07:59:09 +00:00
|
|
|
|
}
|
1995-08-11 10:45:34 +00:00
|
|
|
|
righe_rec.write( );
|
1995-08-07 07:59:09 +00:00
|
|
|
|
};
|
|
|
|
|
return err;
|
|
|
|
|
};
|