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" );
|
{ TTable tabnum( "NUM" );
|
||||||
TRectype* oldrec( rec.dup );
|
TRectype &rec= doc.curr();
|
||||||
|
|
||||||
|
doc.read( rec, _lock );
|
||||||
|
TRectype oldrec( doc.curr() );
|
||||||
tabnum.zero( );
|
tabnum.zero( );
|
||||||
tabnum.set( "CODTAB", rec.get( "CODNUM" ) );
|
tabnum.put( "CODTAB", rec.get( "CODNUM" ) );
|
||||||
int err = tabnum.read( _islock );
|
int err = tabnum.read( _lock );
|
||||||
// Modifico la chiave del record passato!
|
// Modifico la chiave del record passato!
|
||||||
rec.set( "NDOC", tabnum.get_long( "I1" ) );
|
rec.put( "NDOC", tabnum.get_long( "I1" ) );
|
||||||
rec.set( "PROVV", "D" );
|
rec.put( "PROVV", "D" );
|
||||||
|
// !! Matteo, qui non manca qualcosina!? (tipo, che so', la scrittura del record...)
|
||||||
|
|
||||||
if ( err == NOERR )
|
if ( err == NOERR )
|
||||||
{ // Aggiorno la tabella!
|
{ // Aggiorno la tabella!
|
||||||
tabnum.put( "I1", tabnum.get_long( "I1" ) + 1 );
|
tabnum.put( "I1", tabnum.get_long( "I1" ) + 1 );
|
||||||
err = tabnum.rewrite();
|
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 )
|
if ( err = NOERR )
|
||||||
{
|
{
|
||||||
// carico le righe usando la vecchia chiave
|
// carico le righe usando la vecchia chiave
|
||||||
TRecord_array righe_rec( LF_RIGHEDOC, "NRIGA" );
|
TRecord_array righe_rec( LF_RIGHEDOC, "NRIGA" );
|
||||||
righe_rec.read( r );
|
righe_rec.read( rec );
|
||||||
int last = righe_rec->last_row();
|
int last = righe_rec.last_row();
|
||||||
for ( int i = 1; i <= last; i ++ )
|
for ( int i = 1; i <= last; i ++ )
|
||||||
{ // Le aggiorno con la nuova chiave
|
{ // Le aggiorno con la nuova chiave
|
||||||
TRectype &rigarec = righe_rec->row( i, TRUE );
|
TRectype &rigarec = righe_rec.row( i, TRUE );
|
||||||
rigarec.set( "PROVV", "D" );
|
rigarec.put( "PROVV", "D" );
|
||||||
rigarec.set( "NDOC", rec.get( "NDOC" ) );
|
rigarec.put( "NDOC", rec.get( "NDOC" ) );
|
||||||
}
|
}
|
||||||
righe_rec.rewrite( );
|
righe_rec.write( );
|
||||||
};
|
};
|
||||||
return err;
|
return err;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user