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();
|
1997-06-09 11:01:55 +00:00
|
|
|
};
|
|
|
|
|
2014-10-27 08:25:07 +00:00
|
|
|
TMask_buildmov::TMask_buildmov() : 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
|
2014-10-27 08:25:07 +00:00
|
|
|
const TDate d = mask.get_date(F_DATA);
|
|
|
|
const int codes = mask._esercizi.date2esc(d);
|
|
|
|
if (codes > 0)
|
|
|
|
fld.set(codes);
|
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
|
|
|
{
|
2014-10-27 08:25:07 +00:00
|
|
|
const int codes = mask.get_int(F_ANNOES);
|
|
|
|
if (codes > 0 && mask._esercizi.exist(codes))
|
1997-10-24 14:35:11 +00:00
|
|
|
{
|
2014-10-27 08:25:07 +00:00
|
|
|
const TEsercizio& e = mask._esercizi.esercizio(codes);
|
|
|
|
if (e.chiusura_mag().ok())
|
|
|
|
return 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
|
|
|
}
|
|
|
|
}
|
2014-10-27 08:25:07 +00:00
|
|
|
return true;
|
1997-06-09 11:01:55 +00:00
|
|
|
}
|
|
|
|
|
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
|
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()
|
|
|
|
{
|
2014-10-09 09:51:52 +00:00
|
|
|
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);
|
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)))
|
2014-10-27 08:25:07 +00:00
|
|
|
warning_box(TR("A causa degli errori riscontrati i saldi di magazzino\npotrebbero 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
|
|
|
}
|