Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :continua la contabilizzazione cespiti; aggiunto il ricalcolo saldi git-svn-id: svn://10.65.10.50/trunk@15971 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									9eeb94b570
								
							
						
					
					
						commit
						393b44b407
					
				| @ -5,6 +5,7 @@ | ||||
| #include <reputils.h> | ||||
| 
 | ||||
| #include "../cg/cg2101.h" | ||||
| #include "../cg/cglib02.h" | ||||
| 
 | ||||
| #include "celib.h" | ||||
| #include "ce2101.h" | ||||
| @ -230,7 +231,10 @@ int TSaldo_per_codice::compila_rmov(const int tipo, const int riga_nor, TArray& | ||||
|         const long sottoc = atol(_idcespite); | ||||
|         ok = sottoc > 0 && sottoc < 1000000; | ||||
|         if (ok) | ||||
|         { | ||||
|           zio.set(zio.gruppo(), zio.conto(), sottoc); | ||||
|           ok = zio.find(); | ||||
|         } | ||||
|       } | ||||
|       if (!ok) | ||||
|       { | ||||
| @ -275,25 +279,106 @@ const TRectype& TSaldo_per_codice::categoria() const | ||||
| 
 | ||||
| class TMovimentoPN_CE : public TMovimentoPN | ||||
| { | ||||
|   TSaldo_agg _sagg; | ||||
| 
 | ||||
| protected: | ||||
|   void salda_rmov(const bool add); | ||||
| 
 | ||||
| public: | ||||
|   virtual int read(TIsamop op = _isequal, TReclock lockop = _nolock); | ||||
|   virtual int write(bool force = true); | ||||
|   virtual int rewrite(bool force = true); | ||||
|   virtual int remove(); | ||||
| 
 | ||||
|   TRectype& nuova_riga(); | ||||
|   TRectype& nuova_riga(const TRectype& row); | ||||
| }; | ||||
| 
 | ||||
| void TMovimentoPN_CE::salda_rmov(const bool add) | ||||
| { | ||||
|   _sagg.set_anno_es(curr().get_int(MOV_ANNOES)); | ||||
|   _sagg.set_movprovv(curr().get_char(MOV_PROVVIS) > ' '); | ||||
|   _sagg.set_movimentato(true); | ||||
| 
 | ||||
|   TBill zio; | ||||
|   TImporto imp; | ||||
|   for (int i = 0; i < cg_items(); i++) | ||||
|   { | ||||
|     const TRectype& rmov = cg(i); //riga i-esima corrente
 | ||||
|     zio.get(rmov); | ||||
|     imp.set(rmov.get_char(RMV_SEZIONE), rmov.get_real(RMV_IMPORTO)); | ||||
|     _sagg.aggiorna(zio, imp, add); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| int TMovimentoPN_CE::read(TIsamop op, TReclock lockop) | ||||
| { | ||||
|   int err = TMovimentoPN::read(op, lockop); | ||||
|   if (err == NOERR) | ||||
|   { | ||||
|     _sagg.reset(); | ||||
|     salda_rmov(false); | ||||
|   } | ||||
|   return err; | ||||
| } | ||||
| 
 | ||||
| int TMovimentoPN_CE::remove() | ||||
| { | ||||
|   int err = TMovimentoPN::remove(); | ||||
|   if (err == NOERR) | ||||
|   { | ||||
|     _sagg.registra(); | ||||
|     _sagg.reset(); | ||||
|   } | ||||
|   return err; | ||||
| } | ||||
| 
 | ||||
| int TMovimentoPN_CE::write(bool force) | ||||
| { | ||||
|   int err = TMovimentoPN::write(force); | ||||
|   if (err == NOERR) | ||||
|   { | ||||
|     salda_rmov(true); | ||||
|     _sagg.set_num_ulmov(curr().get_long(MOV_NUMREG)); | ||||
|     _sagg.set_data_ulmov(curr().get_date(MOV_DATAREG)); | ||||
|     _sagg.registra(); | ||||
|   } | ||||
|   return err; | ||||
| } | ||||
| 
 | ||||
| int TMovimentoPN_CE::rewrite(bool force) | ||||
| { | ||||
|   int err = TMovimentoPN::rewrite(force); | ||||
|   if (err == NOERR) | ||||
|   { | ||||
|     salda_rmov(true); | ||||
|     _sagg.registra(); | ||||
|   } | ||||
|   return err; | ||||
| } | ||||
| 
 | ||||
| //nuova riga fondo
 | ||||
| TRectype& TMovimentoPN_CE::nuova_riga() | ||||
| { | ||||
|   TRectype& riga = cg(-1); | ||||
|   riga.put(RMV_NUMRIG, cg_items()); | ||||
|   riga.put(RMV_ANNOES, curr().get(MOV_ANNOES)); | ||||
| 
 | ||||
|   return riga; | ||||
| } | ||||
| 
 | ||||
| //nuova riga normale
 | ||||
| TRectype& TMovimentoPN_CE::nuova_riga(const TRectype& row) | ||||
| { | ||||
|   TRectype& riga = cg(-1); | ||||
|   riga = row; | ||||
|   riga.put(RMV_NUMRIG, cg_items()); | ||||
|   riga.put(RMV_ANNOES, curr().get(MOV_ANNOES)); | ||||
| 
 | ||||
|   //resettatore del saldo ad ogni nuovo movimento (righe tot presenti 1 = nuovo movimento)
 | ||||
|   if (cg_items() == 1) | ||||
|     _sagg.reset(); | ||||
| 
 | ||||
|   return riga; | ||||
| } | ||||
| 
 | ||||
| @ -324,7 +409,7 @@ public: | ||||
| 
 | ||||
| void TTrasf_mov_ce_cg::delete_old_movs(const TDate& ini_es) | ||||
| { | ||||
| 	TMovimentoPN pn; | ||||
| 	TMovimentoPN_CE pn; | ||||
| 
 | ||||
|   TRectype darec(LF_MOV); | ||||
| 	darec.put(MOV_DATAREG, ini_es); | ||||
| @ -436,6 +521,12 @@ void TTrasf_mov_ce_cg::genera_mov(TArray& righe_mov, const TDate& datareg, const | ||||
|           msg << TR("Impossibile registrare il movimento ") << numreg << "\n"; | ||||
|           log.log(2, msg); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|           TString msg; | ||||
|           msg << TR("Registrato movimento ") << numreg << TR(" categoria ") << descat << "\n"; | ||||
|           log.log(0, msg);     | ||||
|         } | ||||
|         pn.destroy_rows(numreg);  //ne elimina le righe per poter ricominciare
 | ||||
|         head.put(MOV_NUMREG, ++numreg); //nuova testata per nuovo movimento
 | ||||
|       } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user