campo-sirio/cg/cg6903.cpp
ale 4779f273e5 - Correzione errore MI2179 sulla Variazione SC da ricevere.
- Correzione errore MI2162 su Ripristino movimenti da inviare.
- Correzione errore MI3480 su invio PC e invio Sistema.
- Correzione errore MI3479 su ricezione da PC e ricezione da Sistema.


git-svn-id: svn://10.65.10.50/trunk@3862 c028cbd2-c16b-5b4b-a496-9718f37d4682
1996-11-04 11:48:07 +00:00

113 lines
2.3 KiB
C++
Executable File

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