a91e533361
git-svn-id: svn://10.65.10.50/branches/R_10_00@23000 c028cbd2-c16b-5b4b-a496-9718f37d4682
84 lines
2.0 KiB
C++
Executable File
84 lines
2.0 KiB
C++
Executable File
#include <applicat.h>
|
|
|
|
#include "mg1200.h"
|
|
#include "mglib.h"
|
|
#include "../cg/cglib01.h"
|
|
|
|
|
|
class TMask_buildmov: public TMask
|
|
{
|
|
TEsercizi_contabili _esercizi;
|
|
static bool handle_annoes(TMask_field &, KEY); // handler del numero di registrazione
|
|
public:
|
|
TMask_buildmov();
|
|
virtual ~TMask_buildmov() {}
|
|
};
|
|
|
|
TMask_buildmov::TMask_buildmov()
|
|
: TMask("mg1200")
|
|
{
|
|
set_handler(F_ANNOES, handle_annoes);
|
|
}
|
|
|
|
bool TMask_buildmov::handle_annoes(TMask_field &fld, KEY k)
|
|
{
|
|
TMask_buildmov &mask = (TMask_buildmov &)fld.mask();
|
|
if (fld.empty())
|
|
{
|
|
// DEFAULT
|
|
const long esc=mask._esercizi.date2esc(mask.get_date(F_DATA));
|
|
if (esc!=0)
|
|
fld.set(esc);
|
|
}
|
|
if (fld.to_check(k) || k == K_ENTER)
|
|
{
|
|
if (mask._esercizi.exist(mask.get_int(F_ANNOES)))
|
|
{
|
|
const TEsercizio & e=mask._esercizi.esercizio(mask.get_int(F_ANNOES));
|
|
if (e.chiusura_mag()!=TDate(NULLDATE))
|
|
{
|
|
fld.error_box(TR("Il magazzino dell'esercizio indicato risulta chiuso \nImpossibile effettuare la ricostruzione saldi")) ;
|
|
return FALSE;
|
|
}
|
|
}
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
class TApp_rebuildbalances : public TSkeleton_application
|
|
{
|
|
TRelation* _rel; // relazione
|
|
TCursor* _cur; // cursore
|
|
int _annoes;
|
|
bool _reset_giac;
|
|
|
|
protected:
|
|
virtual bool create();
|
|
virtual void main_loop();
|
|
};
|
|
|
|
bool TApp_rebuildbalances::create()
|
|
{
|
|
open_files(LF_CLIFO, LF_UMART, LF_MAG, LF_MOVMAG, LF_RMOVMAG,
|
|
LF_TAB, LF_TABCOM, LF_STOMAG, LF_DESLIN, LF_CODCORR,
|
|
LF_ANAMAG, LF_CLIFOGIAC, 0);
|
|
return TSkeleton_application::create();
|
|
}
|
|
|
|
void TApp_rebuildbalances::main_loop()
|
|
{
|
|
TMask_buildmov m;
|
|
while (m.run()==K_ENTER)
|
|
{
|
|
if (!rebuild_balances(m.get_int(F_ANNOES)))
|
|
warning_box(TR("A causa degli errori riscontrati i saldi di magazzino \npotrebbero non essere stati del tutto aggiornati. \nProcedere ad una nuova operazione di ''Ricostruzione saldi''"));
|
|
}
|
|
}
|
|
|
|
int mg1200(int argc, char* argv[])
|
|
{
|
|
TApp_rebuildbalances a;
|
|
a.run(argc, argv, TR("Ricostruzione saldi"));
|
|
return 0;
|
|
}
|