// sistema la data di competenza di tutti i movimenti #include #include #include "cg1300.h" #include "cg1313.h" #include "cg2103.h" #include 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); }