Aggiunto l'aggiornamento del codice esercizio anche per righe iva e

righe di movimento


git-svn-id: svn://10.65.10.50/trunk@3881 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-11-08 09:42:04 +00:00
parent 35d994eb9d
commit c143e90127
2 changed files with 60 additions and 31 deletions

View File

@ -1,16 +1,21 @@
// sistema il codice esercizio di tutti i movimenti
#include <mov.h>
#include <relation.h>
#include "cglib.h"
#include "cg1300.h"
#include "cg1305.h"
#include <mov.h>
#include <rmov.h>
#include <rmoviva.h>
inline TAgg_codes& app() { return (TAgg_codes&) main_app(); }
bool TAgg_codes::create()
{
TApplication::create();
_mov = new TLocalisamfile(LF_MOV);
TApplication::create();
_mov = new TLocalisamfile(LF_MOV);
_rmov = new TLocalisamfile(LF_RMOV);
_rmoviva = new TLocalisamfile(LF_RMOVIVA);
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
@ -18,6 +23,8 @@ bool TAgg_codes::create()
bool TAgg_codes::destroy()
{
delete _mov;
delete _rmov;
delete _rmoviva;
return TApplication::destroy();
}
@ -25,34 +32,57 @@ bool TAgg_codes::destroy()
bool TAgg_codes::menu(MENU_TAG m)
{
TMask msk("cg1300d");
if (msk.run() == K_ENTER)
return calcola_codes();
else
return FALSE;
if (msk.run() == K_ENTER)
return calcola_codes();
else
return FALSE;
}
bool TAgg_codes::calcola_codes()
{
TLocalisamfile& mov = get_mov();
TEsercizi_contabili esercizi;
TDate data;
long modified_recs=0L;
TLocalisamfile& mov = get_mov();
TEsercizi_contabili esercizi;
TDate data;
long modified_recs=0L;
long nrecs = (long) mov.eod();
long nrecs = (long) mov.eod();
int err = NOERR;
TProgind p(nrecs, "Aggiornamento in corso...", TRUE, TRUE, 100);
TRecord_array righe(LF_RMOV,RMV_NUMRIG);
TRecord_array righeiva(LF_RMOVIVA,RMI_NUMRIG);
TRectype riga(LF_RMOV);
TRectype rigaiva(LF_RMOVIVA);
TString s_codes;
for (mov.first(); !mov.eof(); mov.next())
{
p.addstatus(1);
data=mov.get_date(MOV_DATACOMP);
const int codes = mov.get_int(MOV_ANNOES);
const int newcodes = esercizi.date2esc(data);
if (codes != newcodes)
{
mov.put(MOV_ANNOES,newcodes);
mov.rewrite();
modified_recs++;
}
}
return message_box("Aggiornamento codice esercizio completata. Modificati %ld movimenti.",modified_recs);
for (mov.first(); !mov.eof() && err == NOERR; mov.next())
{
p.addstatus(1);
data=mov.get_date(MOV_DATACOMP);
const int codes = mov.get_int(MOV_ANNOES);
const int newcodes = esercizi.date2esc(data);
if (codes != newcodes)
{
mov.put(MOV_ANNOES,newcodes);
err = mov.rewrite();
const long numreg = mov.get_long(MOV_NUMREG);
riga.put(RMV_NUMREG,numreg);
rigaiva.put(RMI_NUMREG,numreg);
righe.read(riga);
righeiva.read(rigaiva);
righe.renum_key(RMV_ANNOES,newcodes);
s_codes = format("%04d",newcodes);
righeiva.renum_key(RMI_ANNOES,s_codes);
if (err == NOERR)
{
err = righe.rewrite();
if (err == NOERR)
err = righeiva.rewrite();
if (err == NOERR)
modified_recs++;
}
}
}
if (err != NOERR) warning_box("Aggiornamento codice esercizio interrotta. Rilevato errore %d in riscrittura",err);
else message_box("Aggiornamento codice esercizio completata. Modificati %ld movimenti.",modified_recs);
return FALSE;
}

View File

@ -1,22 +1,21 @@
#include <applicat.h>
#include <mask.h>
//#include <relation.h>
//#include <tabutil.h>
#include <utility.h>
#include <progind.h>
#include <urldefid.h>
//#include <config.h>
class TAgg_codes : public TApplication
{
TLocalisamfile* _mov;
TLocalisamfile* _rmov;
TLocalisamfile* _rmoviva;
public:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
TLocalisamfile& get_mov() { return *_mov; }
TLocalisamfile& get_mov() { return *_mov; }
bool calcola_codes();