Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Corrette segnalazioni su prezzi nulli git-svn-id: svn://10.65.10.50/branches/R_10_00@22480 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									70cd5fce96
								
							
						
					
					
						commit
						50fb6aef88
					
				| @ -2138,8 +2138,8 @@ void TFatturazione_lav_app::main_loop() | |||||||
|      |      | ||||||
|     //preparo la query
 |     //preparo la query
 | ||||||
|     TString query; |     TString query; | ||||||
| 		TString16 fromcod = _msk->get(F_DACODCF); | 		const TString& fromcod = _msk->get(F_DACODCF); | ||||||
| 		TString16 tocod = _msk->get(F_ACODCF); | 		const TString& tocod = _msk->get(F_ACODCF); | ||||||
| 	 | 	 | ||||||
|     //&&(BETWEEN(DATADOC,#DADATA,#ADATA))&&(STATO==\"2\")&&(TIPODOC==\"B01\")
 |     //&&(BETWEEN(DATADOC,#DADATA,#ADATA))&&(STATO==\"2\")&&(TIPODOC==\"B01\")
 | ||||||
|     query << "USE DOC KEY 3 SELECT (TIPOCF==\"C\")&&"   |     query << "USE DOC KEY 3 SELECT (TIPOCF==\"C\")&&"   | ||||||
| @ -2156,7 +2156,7 @@ void TFatturazione_lav_app::main_loop() | |||||||
|     TISAM_recordset recset(query); |     TISAM_recordset recset(query); | ||||||
|     recset.set_var("#DAL", dal); |     recset.set_var("#DAL", dal); | ||||||
|     recset.set_var("#AL", al); |     recset.set_var("#AL", al); | ||||||
|     TProgind pi(recset.items(), "Fatturazione", true, true); |     TProgind pi(recset.items(), TR("Fatturazione"), true, true); | ||||||
|     long last_clifo = 0; |     long last_clifo = 0; | ||||||
|     int numdocgen = 0; |     int numdocgen = 0; | ||||||
|     int numdocscart = 0; |     int numdocscart = 0; | ||||||
| @ -2165,6 +2165,7 @@ void TFatturazione_lav_app::main_loop() | |||||||
| 		real imposta; | 		real imposta; | ||||||
| 		real totdoc; | 		real totdoc; | ||||||
| 		real spese; | 		real spese; | ||||||
|  |     TToken_string key; | ||||||
| 
 | 
 | ||||||
|     //TAssoc_array dei clienti per cui ho generato dei documenti
 |     //TAssoc_array dei clienti per cui ho generato dei documenti
 | ||||||
|     TAssoc_array cliela; |     TAssoc_array cliela; | ||||||
| @ -2175,8 +2176,9 @@ void TFatturazione_lav_app::main_loop() | |||||||
|       const long clifo = recset.get(DOC_CODCF).as_int(); |       const long clifo = recset.get(DOC_CODCF).as_int(); | ||||||
|       if (clifo != last_clifo) |       if (clifo != last_clifo) | ||||||
|       { |       { | ||||||
|         TString80 str; |         key.format("C|%ld", clifo); | ||||||
|         str << TR("Elaborazione Cliente ") << clifo; |         TString str;  | ||||||
|  |         str << TR("Cliente") << ' ' << clifo << ' ' << cache().get(LF_CLIFO, key, CLI_RAGSOC); | ||||||
|         pi.set_text(str); |         pi.set_text(str); | ||||||
|         last_clifo=clifo; |         last_clifo=clifo; | ||||||
|       } |       } | ||||||
| @ -2199,18 +2201,15 @@ void TFatturazione_lav_app::main_loop() | |||||||
| 					 if (!_solototali) | 					 if (!_solototali) | ||||||
| 						 docsout.write(); | 						 docsout.write(); | ||||||
| 					 numdocgen += items; | 					 numdocgen += items; | ||||||
| 					 TString tmp; | 					 TString8 tmp; | ||||||
| 					 tmp << lastcli; | 					 tmp << lastcli; | ||||||
| 					 cliela.add(tmp, tmp); | 					 cliela.add(tmp, tmp); | ||||||
| 				 } | 				 } | ||||||
| 	  		 else if (!_solototali && docsout.items() == 0) //il messaggio deve comparire solo se non ho generato fatture
 | 	  		 else if (!_solototali && docsout.items() == 0) //il messaggio deve comparire solo se non ho generato fatture
 | ||||||
| 				 { | 				 { | ||||||
| 			 		 TToken_string key;					  | 					 key.format("C|%ld", lastcli); | ||||||
| 					 key.add('C'); |  | ||||||
| 					 key.add(lastcli); |  | ||||||
| 
 |  | ||||||
|            TString str; |            TString str; | ||||||
| 					 str << "Cli." << lastcli << ' ' << cache().get(LF_CLIFO, key, CLI_RICALT) << " non ha generato la fattura pur avendo bolle"; | 					 str << "Cli. " << lastcli << ' ' << cache().get(LF_CLIFO, key, CLI_RICALT) << " non ha generato la fattura pur avendo bolle"; | ||||||
| 					 _log->log(0, str); | 					 _log->log(0, str); | ||||||
| 					 numdocscart++; | 					 numdocscart++; | ||||||
| 				 } | 				 } | ||||||
| @ -2239,11 +2238,9 @@ void TFatturazione_lav_app::main_loop() | |||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       //preparo la chiave e recupero da CFVEN i dati di quel cliente
 |       //preparo la chiave e recupero da CFVEN i dati di quel cliente
 | ||||||
|       TToken_string key; |       key.format("C|%ld", clifo); | ||||||
|       key.add('C'); |  | ||||||
|       key.add(clifo);  |  | ||||||
|       const TRectype& clienti = cache().get(LF_CFVEN,key); |       const TRectype& clienti = cache().get(LF_CFVEN,key); | ||||||
| 			const TRectype & docrec = recset.cursor()->curr(); | 			const TRectype& docrec = recset.cursor()->curr(); | ||||||
|       const TRectype& clirec = cache().get(LF_CLIFO,key); |       const TRectype& clirec = cache().get(LF_CLIFO,key); | ||||||
| 
 | 
 | ||||||
|       //se il documento che sto analizzando è corretto, allora:
 |       //se il documento che sto analizzando è corretto, allora:
 | ||||||
| @ -2272,8 +2269,8 @@ void TFatturazione_lav_app::main_loop() | |||||||
| 					if (space) | 					if (space) | ||||||
| 					 //_log->log(0, "");
 | 					 //_log->log(0, "");
 | ||||||
| 					space = false; | 					space = false; | ||||||
| 					TString msg("Cliente "); | 					TString msg; | ||||||
| 					msg << clifo << " " << clirec.get(CLI_RICALT) << "Bolla n.ro " << docrec.get(DOC_NDOC) << " del " << docrec.get(DOC_DATADOC)  << " in stato " << docrec.get(DOC_STATO); | 					msg << "Cli. " << clifo << ' ' << clirec.get(CLI_RICALT) << " Bolla n. " << docrec.get(DOC_NDOC) << " del " << docrec.get(DOC_DATADOC)  << " in stato " << docrec.get(DOC_STATO); | ||||||
| 					_log->log(0, msg); | 					_log->log(0, msg); | ||||||
| 				} | 				} | ||||||
|        |        | ||||||
| @ -2361,13 +2358,13 @@ void TFatturazione_lav_app::main_loop() | |||||||
| 							doc->put(DOC_CODCABP, cab); | 							doc->put(DOC_CODCABP, cab); | ||||||
| 							doc->put(DOC_PROGBNP, progbnp); | 							doc->put(DOC_PROGBNP, progbnp); | ||||||
| 						} | 						} | ||||||
| 						const TString codpag = clirec.get(CLI_CODPAG); | 						const TString8 codpag = clirec.get(CLI_CODPAG); | ||||||
| 						if (codpag.full()) | 						if (codpag.full()) | ||||||
| 						{ | 						{ | ||||||
| 							doc_updated |= (doc->get(DOC_CODPAG) != codpag); | 							doc_updated |= (doc->get(DOC_CODPAG) != codpag); | ||||||
| 							doc->put(DOC_CODPAG, codpag); | 							doc->put(DOC_CODPAG, codpag); | ||||||
| 						} | 						} | ||||||
| 						const TString spinc = clienti.get(CFV_PERCSPINC); | 						const TString8 spinc = clienti.get(CFV_PERCSPINC); | ||||||
| 						if (spinc.full()) | 						if (spinc.full()) | ||||||
| 						{ | 						{ | ||||||
| 							doc_updated |= (doc->get(DOC_PERCSPINC) != spinc); | 							doc_updated |= (doc->get(DOC_PERCSPINC) != spinc); | ||||||
| @ -2395,7 +2392,8 @@ void TFatturazione_lav_app::main_loop() | |||||||
| 					} | 					} | ||||||
| 					for (int r = 1; !_solototali && r <= doc->physical_rows(); r++) | 					for (int r = 1; !_solototali && r <= doc->physical_rows(); r++) | ||||||
| 					{ | 					{ | ||||||
| 						const TString & codart = (*doc)[r].get(RDOC_CODARTMAG); |             const TRiga_documento& rdoc = (*doc)[r]; | ||||||
|  | 						const TString80 codart = rdoc.get(RDOC_CODARTMAG); | ||||||
| 
 | 
 | ||||||
| 						if (codart.full()) | 						if (codart.full()) | ||||||
| 						{ | 						{ | ||||||
| @ -2410,7 +2408,7 @@ void TFatturazione_lav_app::main_loop() | |||||||
| 
 | 
 | ||||||
|               TString str; |               TString str; | ||||||
|               str << "Cli." << clifo << ' ' << clirec.get(CLI_RICALT) << " Bolla " << docrec.get(DOC_CODNUM) << ' ' << docrec.get(DOC_TIPODOC) |               str << "Cli." << clifo << ' ' << clirec.get(CLI_RICALT) << " Bolla " << docrec.get(DOC_CODNUM) << ' ' << docrec.get(DOC_TIPODOC) | ||||||
| 								  << docrec.get(DOC_NDOC) << " del " << docrec.get(DOC_DATADOC) << " art." << codart << " - "; | 								  << ' ' << docrec.get(DOC_NDOC) << " del " << docrec.get(DOC_DATADOC) << " art." << codart << " - "; | ||||||
| 
 | 
 | ||||||
| 							if (rec.get_real("DOTOD") < ZERO) | 							if (rec.get_real("DOTOD") < ZERO) | ||||||
| 							{ | 							{ | ||||||
| @ -2424,30 +2422,31 @@ void TFatturazione_lav_app::main_loop() | |||||||
| 								msg << str << " Dot.iniz.negativa"; | 								msg << str << " Dot.iniz.negativa"; | ||||||
| 								_log->log(0, msg); | 								_log->log(0, msg); | ||||||
| 							} | 							} | ||||||
|  | 
 | ||||||
|  |               bool prezzo_nullo = false; | ||||||
| 							if (prezzo_da_contratto) | 							if (prezzo_da_contratto) | ||||||
| 							{ | 							{ | ||||||
|                 // Segnalo prezzo nullo solo se il contratto non è ad importo fisso (07/11/2011)
 |                 // Segnalo prezzo nullo solo se il contratto non è ad importo fisso (07/11/2011)
 | ||||||
|                 if (rcont.get_real(LVRCONDV_PREZZO).is_zero() && contr.get_real(LVCONDV_IMPFIX).is_zero()) |                 prezzo_nullo = rcont.get_real(LVRCONDV_PREZZO).is_zero() && contr.get_real(LVCONDV_IMPFIX).is_zero(); | ||||||
| 								{ |  | ||||||
| 									TString msg; |  | ||||||
| 									msg << str << " Prezzo zero sul contratto"; |  | ||||||
| 									_log->log(0, msg); |  | ||||||
| 								} |  | ||||||
| 							} | 							} | ||||||
| 							else | 							else | ||||||
| 							{ | 							{ | ||||||
|                 const TRiga_documento& rdoc = (*doc)[r]; |                 prezzo_nullo = rdoc.get_real(RDOC_PREZZO).is_zero(); // Prezzo sulla bolla
 | ||||||
| 								if (rdoc.get_real(RDOC_PREZZO).is_zero()) // Prezzo nullo sulla bolla
 | 							} | ||||||
| 								{ | 							if (prezzo_nullo) | ||||||
|                   const TString8 causale = rdoc.get(RDOC_CODAGG1); | 							{ | ||||||
| 									const TCausale_lavanderie& cau = cached_causale_lavanderie(causale); |                 const TString8 causale = rdoc.get(RDOC_CODAGG1); | ||||||
|                   if (!cau.ignora_prezzo_zero())          // Segnalo anomalia solo se la causale lo prevede (07/11/2011)
 | 								const TCausale_lavanderie& cau = cached_causale_lavanderie(causale); | ||||||
|                   { |                 if (!cau.ignora_prezzo_zero())          // Segnalo anomalia solo se la causale lo prevede (07/11/2011)
 | ||||||
| 									  TString msg; |                 { | ||||||
| 									  msg << str << " Prezzo zero sulla bolla"; | 									TString msg; | ||||||
| 									  _log->log(0, msg); | 									msg << str << " Prezzo zero "; | ||||||
|                   } |                   if (prezzo_da_contratto) | ||||||
| 								} |                     msg << "sul contratto"; | ||||||
|  |                   else | ||||||
|  |                     msg << "sulla bolla"; | ||||||
|  | 									_log->log(0, msg); | ||||||
|  |                 } | ||||||
| 							} | 							} | ||||||
| 						} | 						} | ||||||
| 					} | 					} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user