75 lines
1.5 KiB
C++
75 lines
1.5 KiB
C++
|
#include "cg6903.h"
|
||
|
#include "cg6900a.h"
|
||
|
|
||
|
bool TRip_flag::create()
|
||
|
{
|
||
|
TApplication::create();
|
||
|
|
||
|
_mov = new TLocalisamfile (LF_MOV);
|
||
|
|
||
|
dispatch_e_menu (BAR_ITEM(1));
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
bool TRip_flag::destroy()
|
||
|
{
|
||
|
delete _mov;
|
||
|
|
||
|
return TApplication::destroy();
|
||
|
}
|
||
|
|
||
|
bool TRip_flag::set()
|
||
|
{
|
||
|
TMask msk ("cg6903a");
|
||
|
KEY k;
|
||
|
|
||
|
k = msk.run();
|
||
|
|
||
|
if (k == K_ENTER)
|
||
|
{
|
||
|
long ditta = msk.get_long(F_DITTAINV);
|
||
|
TDate datalim (msk.get(F_DATA));
|
||
|
bool rippn = msk.get_bool(F_RIPPN);
|
||
|
bool ripiva = msk.get_bool(F_RIPIVA);
|
||
|
|
||
|
if (!rippn && !ripiva) return FALSE; // Se non flaggo nessuno dei due non ha
|
||
|
// senso scorrere l'archivio.
|
||
|
|
||
|
set_firm(ditta);
|
||
|
|
||
|
long cicli = _mov->items();
|
||
|
_prog = new TProgind(cicli,"Ripristino movimenti in corso... Prego attendere.",FALSE);
|
||
|
|
||
|
_mov->setkey(1);
|
||
|
_mov->zero();
|
||
|
|
||
|
for (_mov->first();!_mov->eof();_mov->next())
|
||
|
{
|
||
|
TDate datareg (_mov->get_date(MOV_DATAREG));
|
||
|
|
||
|
_prog->addstatus(1);
|
||
|
|
||
|
if (datareg < datalim) continue;
|
||
|
|
||
|
if (rippn)
|
||
|
_mov->zero(MOV_INVIATO);
|
||
|
if (ripiva)
|
||
|
_mov->zero(MOV_INVIVA);
|
||
|
|
||
|
_mov->rewrite();
|
||
|
}
|
||
|
delete _prog;
|
||
|
}
|
||
|
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
bool TRip_flag::menu(MENU_TAG m)
|
||
|
{
|
||
|
if (m == BAR_ITEM(1))
|
||
|
return set();
|
||
|
|
||
|
return FALSE;
|
||
|
}
|