Modificato metodo di calcolo della calcola saldo al
git-svn-id: svn://10.65.10.50/trunk@2942 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									745b22d51e
								
							
						
					
					
						commit
						a42dd7bede
					
				| @ -1459,14 +1459,15 @@ TImporto TPartita::calcola_saldo(bool valuta) const | |||||||
|   return saldo; |   return saldo; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| TImporto TPartita::calcola_saldo_al(bool valuta,const TDate& al, const TDate& data_rischio) const | TImporto TPartita::calcola_saldo_al(bool valuta,const TDate& al, const TDate & data_scaduto, const TDate& data_rischio) const | ||||||
| { | { | ||||||
|   TImporto saldo; |   TImporto saldo; | ||||||
|   const bool calcolo_rischio = data_rischio.ok(); | //   const bool calcolo_rischio = data_rischio.ok();
 | ||||||
|    |    | ||||||
|   for (int r = last(); r > 0; r = pred(r)) |   for (int r = last(); r > 0; r = pred(r)) | ||||||
|   { |   { | ||||||
|     const TRiga_partite& row = riga(r); |     const TRiga_partite& row = riga(r); | ||||||
|  | /* vecchia implementazione
 | ||||||
|     if (row.is_fattura()) |     if (row.is_fattura()) | ||||||
|     { |     { | ||||||
|       for (int s = row.rate(); s > 0 ;s--) |       for (int s = row.rate(); s > 0 ;s--) | ||||||
| @ -1496,9 +1497,23 @@ TImporto TPartita::calcola_saldo_al(bool valuta,const TDate& al, const TDate& da | |||||||
|       else |       else | ||||||
|         if (data <= al) |         if (data <= al) | ||||||
|           saldo += row.importo(valuta); |           saldo += row.importo(valuta); | ||||||
|  | */         | ||||||
|  |     const TDate data(row.get(PART_DATAREG)); | ||||||
|      |      | ||||||
|  |     if (data <= al) | ||||||
|  |     { | ||||||
|  |       saldo += row.importo(valuta); | ||||||
|  |       if (!row.is_fattura()) | ||||||
|  |       { | ||||||
|  |         const int tipopag = row.get_int(PART_TIPOPAG); | ||||||
|  | 
 | ||||||
|  |         if (tipopag >= 2 && tipopag <= 7) | ||||||
|  |         { | ||||||
|  |           bool sbf = FALSE; | ||||||
|  |           saldo -= row.esposto(valuta, data_scaduto, data_rischio, sbf); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|          |  | ||||||
|   }   |   }   | ||||||
|   return saldo; |   return saldo; | ||||||
| } | } | ||||||
|  | |||||||
| @ -296,7 +296,7 @@ public: | |||||||
|   void update_reg(long nreg, const TRectype& mov, TPartite_array& pa); |   void update_reg(long nreg, const TRectype& mov, TPartite_array& pa); | ||||||
|   void calcola_saldo(TImporto& saldo, TImporto& doc, TImporto& pag, TImporto& imp) const; |   void calcola_saldo(TImporto& saldo, TImporto& doc, TImporto& pag, TImporto& imp) const; | ||||||
|   TImporto calcola_saldo(bool valuta) const; |   TImporto calcola_saldo(bool valuta) const; | ||||||
|   TImporto calcola_saldo_al(bool valuta, const TDate& al, const TDate& data_rischio = botime) const; |   TImporto calcola_saldo_al(bool valuta, const TDate& al, const TDate& data_scaduto, const TDate& data_rischio) const; | ||||||
|   real calcola_scaduto_al(bool valuta, const TDate& al = botime) const; |   real calcola_scaduto_al(bool valuta, const TDate& al = botime) const; | ||||||
|   TImporto importo_pagato_unassigned(bool val, int mode = 0xF) const; |   TImporto importo_pagato_unassigned(bool val, int mode = 0xF) const; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1365,7 +1365,8 @@ int TStampaEC_application::print_ec() | |||||||
| //    {                         
 | //    {                         
 | ||||||
|       const TDate& dir = f.data_inizio_rischio(); |       const TDate& dir = f.data_inizio_rischio(); | ||||||
|       const TDate& dlo = f.data_limite_operazione();                       |       const TDate& dlo = f.data_limite_operazione();                       | ||||||
|       const TImporto saldo = game.calcola_saldo_al(f.in_valuta(), dlo, dir); |       const TDate& dls = f.data_limite_scaduto(); | ||||||
|  |       const TImporto saldo = game.calcola_saldo_al(f.in_valuta(), dlo, dls, dir); | ||||||
|       if (saldo.is_zero()) |       if (saldo.is_zero()) | ||||||
|       {   |       {   | ||||||
|         int r = 0;               |         int r = 0;               | ||||||
|  | |||||||
| @ -170,7 +170,7 @@ int TStampaSol_application::print_sol() | |||||||
|       // se il saldo della partita chiude in avere va sommato ad unreferenced
 |       // se il saldo della partita chiude in avere va sommato ad unreferenced
 | ||||||
|       const TRiga_partite& sum = game.riga(game.first()); |       const TRiga_partite& sum = game.riga(game.first()); | ||||||
|       TString valuta(sum.get(PART_CODVAL)); |       TString valuta(sum.get(PART_CODVAL)); | ||||||
|       unreferenced = game.calcola_saldo_al(game.in_valuta() && f.in_valuta(),data_limite_soll); |       unreferenced = game.calcola_saldo_al(game.in_valuta() && f.in_valuta(),data_limite_soll, data_limite_scad, data_limite_scad); | ||||||
|       if (unreferenced.valore() > ZERO && unreferenced.sezione() == 'A') |       if (unreferenced.valore() > ZERO && unreferenced.sezione() == 'A') | ||||||
|       { |       { | ||||||
|         unreferenced.normalize('A'); //per i non assegnati/anticipi c'e' solo la colonna AVERE
 |         unreferenced.normalize('A'); //per i non assegnati/anticipi c'e' solo la colonna AVERE
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user