Files correlati :cg0100a.msk cg0200a.msk cg1.exe cg3.exe Ricompilazione Demo : [ ] Commento :LL700259,CM600074,CM701065,CM701066,CM600245,CM700490 git-svn-id: svn://10.65.10.50/trunk@10917 c028cbd2-c16b-5b4b-a496-9718f37d4682
90 lines
1.9 KiB
C++
Executable File
90 lines
1.9 KiB
C++
Executable File
//**************************************************
|
|
//* Aggiornamento Flag Operazioni Intracomunitarie *
|
|
//**************************************************
|
|
#include <mask.h>
|
|
#include <progind.h>
|
|
#include <relation.h>
|
|
#include <urldefid.h>
|
|
|
|
#include <mov.h>
|
|
#include <rmoviva.h>
|
|
#include <causali.h>
|
|
|
|
#include "cg1301.h"
|
|
|
|
bool TAgg_opintra::create()
|
|
{
|
|
TApplication::create();
|
|
|
|
_causali = new TLocalisamfile(LF_ATTIV);
|
|
|
|
dispatch_e_menu (BAR_ITEM(1));
|
|
return TRUE;
|
|
}
|
|
|
|
bool TAgg_opintra::destroy()
|
|
{
|
|
delete _causali;
|
|
return TApplication::destroy();
|
|
}
|
|
|
|
bool TAgg_opintra::menu(MENU_TAG m)
|
|
{
|
|
TMask msk("cg1300a");
|
|
|
|
while (msk.run() == K_ENTER)
|
|
{
|
|
look_mov();
|
|
message_box(TR("Aggiornamento completato"));
|
|
//return TRUE;
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
void TAgg_opintra::look_mov()
|
|
{
|
|
TLocalisamfile caus(LF_CAUSALI);
|
|
|
|
TRelation rel (LF_MOV);
|
|
rel.add(LF_RMOVIVA, "NUMREG=NUMREG",1);
|
|
TCursor cursor(&rel,"",1);
|
|
|
|
TLocalisamfile& mov = rel.lfile();
|
|
TLocalisamfile& rmoviva = rel.lfile(LF_RMOVIVA);
|
|
|
|
long ditta = get_firm();
|
|
cursor = 0L;
|
|
const long nitems = cursor.items();
|
|
|
|
TProgind p(nitems ? nitems : 1, TR("Aggiornamento in corso...") , TRUE, TRUE, 70);
|
|
|
|
for (; cursor.pos() < cursor.items(); ++cursor)
|
|
{
|
|
p.addstatus(1);
|
|
const TString16 reg(mov.get(MOV_REG));
|
|
if (reg.empty()) continue;
|
|
|
|
const TDate& datareg = mov.get_date(MOV_DATAREG);
|
|
if (datareg.year() < 1993) continue; // Meglio cosi'
|
|
|
|
const TString16 codcaus(mov.get(MOV_CODCAUS));
|
|
if (codcaus.not_empty())
|
|
{
|
|
caus.setkey(1);
|
|
caus.put(CAU_CODCAUS, codcaus);
|
|
if (caus.read() == NOERR)
|
|
{
|
|
bool intra = caus.get_bool(CAU_INTRACOM);
|
|
bool ok = rel.is_first_match(LF_RMOVIVA);
|
|
while (ok)
|
|
{
|
|
rmoviva.put(RMI_INTRA, intra);
|
|
rmoviva.rewrite();
|
|
ok = rel.next_match(LF_RMOVIVA);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|