1997-10-24 14:35:11 +00:00
# include <applicat.h>
1999-04-06 15:34:39 +00:00
1997-06-09 11:01:55 +00:00
# include "mg1200.h"
# include "mglib.h"
2000-05-05 15:25:49 +00:00
# include "../cg/cglib01.h"
1997-06-09 11:01:55 +00:00
2000-05-05 15:25:49 +00:00
class TMask_buildmov : public TMask
{
1997-10-24 14:35:11 +00:00
TEsercizi_contabili esercizi ;
static bool handle_annoes ( TMask_field & , KEY ) ; // handler del numero di registrazione
1997-06-09 11:01:55 +00:00
public :
1997-10-24 14:35:11 +00:00
TMask_buildmov ( ) ;
2000-05-05 15:25:49 +00:00
virtual ~ TMask_buildmov ( ) { }
1997-06-09 11:01:55 +00:00
} ;
TMask_buildmov : : TMask_buildmov ( )
1997-10-24 14:35:11 +00:00
: TMask ( " mg1200 " )
1997-06-09 11:01:55 +00:00
{
set_handler ( F_ANNOES , handle_annoes ) ;
}
bool TMask_buildmov : : handle_annoes ( TMask_field & fld , KEY k )
{
1997-10-24 14:35:11 +00:00
TMask_buildmov & mask = ( TMask_buildmov & ) fld . mask ( ) ;
if ( fld . get ( ) . empty ( ) )
{
1998-01-09 16:33:25 +00:00
// DEFAULT
const long esc = mask . esercizi . date2esc ( mask . get_date ( F_DATA ) ) ;
if ( esc ! = 0 )
fld . set ( esc ) ;
1997-10-24 14:35:11 +00:00
}
if ( k = = K_TAB & & fld . focusdirty ( ) )
{
if ( mask . esercizi . exist ( mask . get_int ( F_ANNOES ) ) )
{
const TEsercizio & e = mask . esercizi . esercizio ( mask . get_int ( F_ANNOES ) ) ;
if ( mask . esercizi . esercizio ( mask . get_int ( F_ANNOES ) ) . chiusura_mag ( ) ! = TDate ( NULLDATE ) )
{
fld . error_box ( " Il magazzino dell'esercizio indicato risulta chiuso \n Impossibile effettuare la ricostruzione saldi " ) ;
return FALSE ;
}
}
}
1997-06-09 11:01:55 +00:00
return TRUE ;
}
2000-05-05 15:25:49 +00:00
class TApp_rebuildbalances : public TSkeleton_application
{
1997-10-24 14:35:11 +00:00
TRelation * _rel ; // relazione
TCursor * _cur ; // cursore
TString16 _annoes ;
bool _reset_giac ;
protected :
virtual bool create ( ) ;
virtual void main_loop ( ) ;
1997-06-09 11:01:55 +00:00
public :
TApp_rebuildbalances ( ) { } ;
virtual ~ TApp_rebuildbalances ( ) { } ;
} ;
//inline TApp_rebuildbalances& app() { return (TApp_rebuildbalances&) main_app(); }
1997-10-24 14:35:11 +00:00
1997-06-09 11:01:55 +00:00
bool TApp_rebuildbalances : : create ( )
{
1998-08-25 18:07:30 +00:00
open_files ( LF_ANAMAG , LF_UMART , LF_MAG , LF_MOVMAG , LF_RMOVMAG , LF_TABCOM , LF_STOMAG , 0 ) ;
1999-04-06 15:34:39 +00:00
return TSkeleton_application : : create ( ) ;
1997-06-09 11:01:55 +00:00
}
1997-10-24 14:35:11 +00:00
void TApp_rebuildbalances : : main_loop ( )
{
TMask_buildmov m ;
while ( m . run ( ) = = K_ENTER )
{
1998-08-25 18:07:30 +00:00
if ( ! rebuild_balances ( m . get ( F_ANNOES ) ) )
warning_box ( " A causa degli errori riscontrati i saldi di magazzino \n potrebbero non essere stati del tutto aggiornati. \n Procedere ad una nuova operazione di ''Ricostruzione saldi'' " ) ;
1997-10-24 14:35:11 +00:00
}
}
1997-06-09 11:01:55 +00:00
int mg1200 ( int argc , char * argv [ ] )
{
TApp_rebuildbalances a ;
a . run ( argc , argv , " Ricostruzione saldi " ) ;
return 0 ;
1997-10-24 14:35:11 +00:00
}