#include "cg6903.h" #include "cg6900a.h" bool TRip_flag::create() { TApplication::create(); _mov = new TLocalisamfile (LF_MOV); _part = new TLocalisamfile (LF_PARTITE); dispatch_e_menu (BAR_ITEM(1)); return TRUE; } bool TRip_flag::destroy() { delete _mov; delete _part; return TApplication::destroy(); } bool TRip_flag::set() { TMask* msk = new TMask("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); bool ripsc = msk->get_bool(F_RIPSC); if (!prefix().exist(ditta)) { error_box("Libreria archivi ditta non presente su disco"); return FALSE; } if (!rippn && !ripiva && !ripsc) { delete msk; return FALSE; // Se non flaggo nessuno dei tre non ha } // senso scorrere l'archivio. set_firm(ditta); if (rippn || ripiva) { 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; } if (ripsc) { long cicli = _part->items(); _prog = new TProgind(cicli,"Ripristino movimenti saldaconto in corso... Prego attendere.",FALSE); _part->setkey(1); _part->zero(); for (_part->first();!_part->eof();_part->next()) { TDate datareg (_part->get_date(PART_DATAREG)); _prog->addstatus(1); if (datareg < datalim) continue; _part->zero(PART_INVIATA); _part->rewrite(); } delete _prog; } } delete msk; return FALSE; } bool TRip_flag::menu(MENU_TAG m) { if (m == BAR_ITEM(1)) return set(); return FALSE; }