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
{
2006-12-13 16:22:33 +00:00
TEsercizi_contabili _esercizi ;
1997-10-24 14:35:11 +00:00
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 )
{
2008-10-07 00:50:22 +00:00
TMask_buildmov & mask = ( TMask_buildmov & ) fld . mask ( ) ;
2006-12-13 16:22:33 +00:00
if ( fld . empty ( ) )
1997-10-24 14:35:11 +00:00
{
1998-01-09 16:33:25 +00:00
// DEFAULT
2006-12-13 16:22:33 +00:00
const long esc = mask . _esercizi . date2esc ( mask . get_date ( F_DATA ) ) ;
1998-01-09 16:33:25 +00:00
if ( esc ! = 0 )
fld . set ( esc ) ;
1997-10-24 14:35:11 +00:00
}
2001-05-02 13:40:49 +00:00
if ( fld . to_check ( k ) | | k = = K_ENTER )
1997-10-24 14:35:11 +00:00
{
2006-12-13 16:22:33 +00:00
if ( mask . _esercizi . exist ( mask . get_int ( F_ANNOES ) ) )
1997-10-24 14:35:11 +00:00
{
2006-12-13 16:22:33 +00:00
const TEsercizio & e = mask . _esercizi . esercizio ( mask . get_int ( F_ANNOES ) ) ;
2004-03-16 07:43:45 +00:00
if ( e . chiusura_mag ( ) ! = TDate ( NULLDATE ) )
1997-10-24 14:35:11 +00:00
{
2004-05-18 10:44:57 +00:00
fld . error_box ( TR ( " Il magazzino dell'esercizio indicato risulta chiuso \n Impossibile effettuare la ricostruzione saldi " ) ) ;
1997-10-24 14:35:11 +00:00
return FALSE ;
2001-05-02 13:40:49 +00:00
}
1997-10-24 14:35:11 +00:00
}
}
1997-06-09 11:01:55 +00:00
return TRUE ;
}
2000-05-05 15:25:49 +00:00
class TApp_rebuildbalances : public TSkeleton_application
{
2006-12-13 16:22:33 +00:00
TRelation * _rel ; // relazione
TCursor * _cur ; // cursore
2008-10-07 00:50:22 +00:00
int _annoes ;
2006-12-13 16:22:33 +00:00
bool _reset_giac ;
1997-10-24 14:35:11 +00:00
protected :
virtual bool create ( ) ;
virtual void main_loop ( ) ;
1997-06-09 11:01:55 +00:00
} ;
bool TApp_rebuildbalances : : create ( )
{
2009-08-05 13:14:51 +00:00
open_files ( LF_UMART , LF_MAG , LF_RMOVMAG , LF_TABCOM , LF_STOMAG , LF_DESLIN , LF_CODCORR , 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 )
{
2008-10-07 00:50:22 +00:00
if ( ! rebuild_balances ( m . get_int ( F_ANNOES ) ) )
2004-05-18 10:44:57 +00:00
warning_box ( TR ( " 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 ;
2003-09-24 13:37:10 +00:00
a . run ( argc , argv , TR ( " Ricostruzione saldi " ) ) ;
1997-06-09 11:01:55 +00:00
return 0 ;
2006-12-13 16:22:33 +00:00
}