52 lines
1.2 KiB
C++
52 lines
1.2 KiB
C++
|
// sistema la data di competenza di tutti i movimenti
|
||
|
|
||
|
#include <isam.h>
|
||
|
#include <progind.h>
|
||
|
|
||
|
#include "cg1300.h"
|
||
|
#include "cg1313.h"
|
||
|
#include "cg2103.h"
|
||
|
|
||
|
#include <mov.h>
|
||
|
|
||
|
inline TAgg_tipodoc& app() { return (TAgg_tipodoc&) main_app(); }
|
||
|
|
||
|
void TAgg_tipodoc::main_loop()
|
||
|
{
|
||
|
if (set_firm())
|
||
|
aggiorna_tipodoc();
|
||
|
}
|
||
|
|
||
|
void TAgg_tipodoc::aggiorna_tipodoc()
|
||
|
{
|
||
|
TLocalisamfile mov(LF_MOV);
|
||
|
long nrecs = (long) mov.eod();
|
||
|
long modified_recs = 0L;
|
||
|
TString16 tipodoc;
|
||
|
TString16 codcaus;
|
||
|
int year;
|
||
|
int err = NOERR;
|
||
|
TProgind p(nrecs, TR("Aggiornamento in corso..."), TRUE, TRUE, 100);
|
||
|
|
||
|
for (mov.first(); !mov.eof() && err == NOERR; mov.next())
|
||
|
{
|
||
|
p.addstatus(1);
|
||
|
tipodoc = mov.get(MOV_TIPODOC);
|
||
|
codcaus = mov.get(MOV_CODCAUS);
|
||
|
year = mov.get_int(MOV_ANNOES);
|
||
|
const TCausale & caus = cached_causale(codcaus, year);
|
||
|
const TString & caustipodoc = caus.tipodoc();
|
||
|
if (tipodoc != caustipodoc)
|
||
|
{
|
||
|
mov.put(MOV_TIPODOC, caustipodoc);
|
||
|
err = mov.rewrite();
|
||
|
modified_recs++;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (err != NOERR)
|
||
|
warning_box(FR("Aggiornamento codice esercizio interrotta. Rilevato errore %d in riscrittura"),err);
|
||
|
else
|
||
|
message_box(FR("Aggiornamento data competenza completata. Modificati %ld movimenti."),modified_recs);
|
||
|
}
|