#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; }