Files correlati : Ricompilazione Demo : [ ] Commento : Riportata la versione P@rtners 2.0 patch 349 git-svn-id: svn://10.65.10.50/trunk@10709 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
// sistema il codice esercizio di tutti i movimenti
 | 
						|
#include <mask.h>
 | 
						|
#include <progind.h>
 | 
						|
#include <recarray.h>
 | 
						|
#include <relation.h>
 | 
						|
 | 
						|
#include "cglib01.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()
 | 
						|
{
 | 
						|
  _mov = new TLocalisamfile(LF_MOV);
 | 
						|
  _rmov = new TLocalisamfile(LF_RMOV);
 | 
						|
  _rmoviva = new TLocalisamfile(LF_RMOVIVA);
 | 
						|
  return TSkeleton_application::create();
 | 
						|
}
 | 
						|
 | 
						|
bool TAgg_codes::destroy()
 | 
						|
{ 
 | 
						|
  delete _mov;
 | 
						|
  delete _rmov;
 | 
						|
  delete _rmoviva;
 | 
						|
  
 | 
						|
  return TSkeleton_application::destroy();
 | 
						|
}                                
 | 
						|
 | 
						|
void TAgg_codes::main_loop()
 | 
						|
{
 | 
						|
  TMask msk("cg1300d");
 | 
						|
  if (msk.run() == K_ENTER)
 | 
						|
    calcola_codes();
 | 
						|
}  
 | 
						|
 | 
						|
void TAgg_codes::calcola_codes()
 | 
						|
{
 | 
						|
  TLocalisamfile& mov = get_mov();
 | 
						|
  TEsercizi_contabili esercizi;
 | 
						|
  TDate data;
 | 
						|
  long modified_recs=0L;
 | 
						|
 | 
						|
  long nrecs = (long) mov.eod();
 | 
						|
  int err = NOERR;
 | 
						|
  TProgind p(nrecs, TR("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() && 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(FR("Aggiornamento codice esercizio interrotta. Rilevato errore %d in riscrittura"),err);
 | 
						|
  else 
 | 
						|
    message_box(FR("Aggiornamento codice esercizio completata. Modificati %ld movimenti.\nE' necessario procedere col ricalcolo saldi"), modified_recs);
 | 
						|
}
 |