Controllare !!!!
git-svn-id: svn://10.65.10.50/trunk@1702 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c431c94326
commit
20e6d0660a
@ -1,34 +1,51 @@
|
||||
int numerazione_definitiva( TRectype& rec )
|
||||
|
||||
// DOVE COMPARE !! SONO STATE FATTE MODIFICHE DA GIANLUCA O GUIDO
|
||||
|
||||
// !!
|
||||
#include <rectypes.h>
|
||||
#include <relation.h>
|
||||
#include <tabutil.h>
|
||||
|
||||
int numerazione_definitiva( TLocalisamfile& doc )
|
||||
{ TTable tabnum( "NUM" );
|
||||
TRectype* oldrec( rec.dup );
|
||||
TRectype &rec= doc.curr();
|
||||
|
||||
doc.read( rec, _lock );
|
||||
TRectype oldrec( doc.curr() );
|
||||
tabnum.zero( );
|
||||
tabnum.set( "CODTAB", rec.get( "CODNUM" ) );
|
||||
int err = tabnum.read( _islock );
|
||||
tabnum.put( "CODTAB", rec.get( "CODNUM" ) );
|
||||
int err = tabnum.read( _lock );
|
||||
// Modifico la chiave del record passato!
|
||||
rec.set( "NDOC", tabnum.get_long( "I1" ) );
|
||||
rec.set( "PROVV", "D" );
|
||||
|
||||
|
||||
rec.put( "NDOC", tabnum.get_long( "I1" ) );
|
||||
rec.put( "PROVV", "D" );
|
||||
// !! Matteo, qui non manca qualcosina!? (tipo, che so', la scrittura del record...)
|
||||
if ( err == NOERR )
|
||||
{ // Aggiorno la tabella!
|
||||
tabnum.put( "I1", tabnum.get_long( "I1" ) + 1 );
|
||||
err = tabnum.rewrite();
|
||||
}
|
||||
int err = tabnum.read( _isunlock );
|
||||
doc.read( rec, _unlock );
|
||||
|
||||
|
||||
// !! che casino! non si può 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ì dice Guido.
|
||||
// !! occhio! :-)
|
||||
|
||||
err = tabnum.read( _unlock );
|
||||
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();
|
||||
righe_rec.read( rec );
|
||||
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" ) );
|
||||
TRectype &rigarec = righe_rec.row( i, TRUE );
|
||||
rigarec.put( "PROVV", "D" );
|
||||
rigarec.put( "NDOC", rec.get( "NDOC" ) );
|
||||
}
|
||||
righe_rec.rewrite( );
|
||||
righe_rec.write( );
|
||||
};
|
||||
return err;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user