Patch level : 10.0

Files correlati     : lv3
Ricompilazione Demo : [ ]
Commento            :
Ridefiniti metodi rewrite e write delle TMotore_application in modo da evitare la scrittura - rirscrittura di righe documento con quantità di consegnato e ritirato entrambe nulle


git-svn-id: svn://10.65.10.50/trunk@17897 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2008-12-15 10:43:35 +00:00
parent 662a00e424
commit 761260d8e6

View File

@ -239,6 +239,8 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
if (f->is_edit())
f->on_hit();
}
sheet.set_focus();
sheet.select(0);
}
return ok;
}
@ -269,12 +271,16 @@ class TGestione_bolle_app : public TMotore_application
protected:
virtual TMask* get_mask( int mode );
virtual int write( const TMask& m );
virtual int rewrite( const TMask& m );
public:
TGestione_bolle_app() {}
};
inline TGestione_bolle_app& gbapp() { return (TGestione_bolle_app &) main_app(); };
//ridefinisco il metodo get_mask delle TMotore_application
TMask* TGestione_bolle_app::get_mask( int mode )
{
if (mode == MODE_INS || mode == MODE_MOD)
@ -295,10 +301,45 @@ TMask* TGestione_bolle_app::get_mask( int mode )
m->user_set_handler( row->get_int( 0 ), row->get_int( 1 ) );
}
}
}
}
return TMotore_application::get_mask(mode);
}
//ridefinisco il metodo write delle TMotore_application
int TGestione_bolle_app::write( const TMask& m )
{
TDocumento_mask& mask = (TDocumento_mask&) m;
TDocumento& d = mask.doc();
for (int r = d.rows() ; r > 0 ; r--)
{
const TRiga_documento& dr = d[r];
if (dr.get_int(RDOC_QTA) == 0 && dr.get_int(RDOC_QTAGG1) == 0)
d.destroy_row(r,true);
}
return TMotore_application::write(m);
}
//ridefinisco il metodo rewrite delle TMotore_application
int TGestione_bolle_app::rewrite( const TMask& m )
{
TDocumento_mask& mask = (TDocumento_mask&) m;
TDocumento& d = mask.doc();
for (int r = d.rows() ; r > 0 ; r--)
{
const TRiga_documento& dr = d[r];
if (dr.get_int(RDOC_QTA) == 0 && dr.get_int(RDOC_QTAGG1) == 0)
d.destroy_row(r,true);
}
return TMotore_application::rewrite(m);
}
int lv3100( int argc, char* argv[])
{
TGestione_bolle_app a;