Patch level : 10.0 860
Files correlati : lv4.exe Ricompilazione Demo : [ ] Commento : NUovo programma per esportazione bolle in txt (CHIMA) git-svn-id: svn://10.65.10.50/branches/R_10_00@21343 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									6d043f81d8
								
							
						
					
					
						commit
						7766f7697f
					
				| @ -327,6 +327,8 @@ class TImporta_fat_app : public TSkeleton_application | |||||||
| { | { | ||||||
| 	TImporta_fat_msk*	   _msk; | 	TImporta_fat_msk*	   _msk; | ||||||
|   TDecodifica_codici*  _codici; |   TDecodifica_codici*  _codici; | ||||||
|  | 	TArray _conti; | ||||||
|  | 	TArray _importi; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	bool search_gr_sp_ca(const int gruppo, const char* specie, const int categoria); | 	bool search_gr_sp_ca(const int gruppo, const char* specie, const int categoria); | ||||||
| @ -341,6 +343,7 @@ protected: | |||||||
|   const TString80 riclassifica_pconti(); |   const TString80 riclassifica_pconti(); | ||||||
|    |    | ||||||
|   TConfig* genera_testata(TImporta_fat_rec& recset, TFilename& tmpdir); |   TConfig* genera_testata(TImporta_fat_rec& recset, TFilename& tmpdir); | ||||||
|  |   void leggi_righe_cg(TImporta_fat_rec& recset, const TString& codcau); | ||||||
|   void genera_righe_iva(TImporta_fat_rec& recset, TConfig& conf, int nriga, const TString& codcau); |   void genera_righe_iva(TImporta_fat_rec& recset, TConfig& conf, int nriga, const TString& codcau); | ||||||
|   void genera_rate(TImporta_fat_rec& recset, TConfig& conf, int nriga); |   void genera_rate(TImporta_fat_rec& recset, TConfig& conf, int nriga); | ||||||
| 
 | 
 | ||||||
| @ -430,16 +433,32 @@ TConfig* TImporta_fat_app::genera_testata(TImporta_fat_rec& recset, TFilename& t | |||||||
|   conf->set(MOV_CODCAUS,  _msk->get_bool(F_DECCAU) ? atol(_codici->decodifica_causali(recset.get("C.CODCAU").as_int())) : recset.get("C.CODCAU").as_int()); |   conf->set(MOV_CODCAUS,  _msk->get_bool(F_DECCAU) ? atol(_codici->decodifica_causali(recset.get("C.CODCAU").as_int())) : recset.get("C.CODCAU").as_int()); | ||||||
|   conf->set(MOV_ANNOIVA,  datadoc.year()); |   conf->set(MOV_ANNOIVA,  datadoc.year()); | ||||||
|   conf->set(MOV_REG,      _codici->decodifica_regiva(recset.get("C.REGIVA").as_int())); |   conf->set(MOV_REG,      _codici->decodifica_regiva(recset.get("C.REGIVA").as_int())); | ||||||
|   conf->set(MOV_PROTIVA,  recset.get("C.NREGIVA").as_int()); | //  conf->set(MOV_PROTIVA,  recset.get("C.NREGIVA").as_int());
 | ||||||
|   conf->set(MOV_CODVAL,   _msk->get_bool(F_DECVAL) ? _codici->decodifica_valute(recset.get("C.CODVAL").as_int()) : recset.get("C.CODVAL").as_string()); |   const TString & codval = _msk->get_bool(F_DECVAL) ? _codici->decodifica_valute(recset.get("C.CODVAL").as_int()) : recset.get("C.CODVAL").as_string(); | ||||||
|  | 	if (!::is_firm_value(codval) && codval != "EURO") | ||||||
|  | 		conf->set(MOV_CODVAL,  codval); | ||||||
|   conf->set(MOV_TIPO,     'C'); |   conf->set(MOV_TIPO,     'C'); | ||||||
|   conf->set(MOV_CODCF,    recset.get("C.CODCF").as_int()); |   conf->set(MOV_CODCF,    recset.get("C.CODCF").as_int()); | ||||||
|   conf->set(MOV_TOTDOC,   genera_real(recset.get("C.IMPORTO"), segno)); |   conf->set(MOV_TOTDOC,   genera_real(recset.get("C.IMPORTO"), segno)); | ||||||
|   conf->set(MOV_CODPAG,   _msk->get_bool(F_DECCDP) ? atol(_codici->decodifica_condpag(recset.get("C.CODPAG").as_int())) : recset.get("C.CODPAG").as_int()); |   conf->set(MOV_CODPAG,   _msk->get_bool(F_DECCDP) ? atol(_codici->decodifica_condpag(recset.get("C.CODPAG").as_int())) : recset.get("C.CODPAG").as_int()); | ||||||
| 
 | 	_conti.destroy(); | ||||||
|  | 	_importi.destroy(); | ||||||
|   return conf; |   return conf; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | //GENERA_RIGHE_IVA: genero le righe IVA
 | ||||||
|  | void TImporta_fat_app::leggi_righe_cg(TImporta_fat_rec& recset, const TString& codcau) | ||||||
|  | { | ||||||
|  | 	const char sezione = recset.get("G.SEZIONE").as_string()[0]; | ||||||
|  | 	const TCausale cau(codcau); | ||||||
|  |   const int    segno = segno_riga(sezione, cau); | ||||||
|  |   const TBill& conto = _codici->decodifica_conto(recset.get("G.CODMASTRO").as_int(), recset.get("G.CODCONTO").as_int()); | ||||||
|  |   const real importo = genera_real(recset.get("G.IMPORTO"), segno); | ||||||
|  | 	 | ||||||
|  | 	_conti.add(new TBill(conto)); | ||||||
|  | 	_importi.add(importo); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| //GENERA_RIGHE_IVA: genero le righe IVA
 | //GENERA_RIGHE_IVA: genero le righe IVA
 | ||||||
| void TImporta_fat_app::genera_righe_iva(TImporta_fat_rec& recset, TConfig& conf, int nriga, const TString& codcau) | void TImporta_fat_app::genera_righe_iva(TImporta_fat_rec& recset, TConfig& conf, int nriga, const TString& codcau) | ||||||
| { | { | ||||||
| @ -447,26 +466,43 @@ void TImporta_fat_app::genera_righe_iva(TImporta_fat_rec& recset, TConfig& conf, | |||||||
| 	const char sezione = recset.get("I.SEZIONE").as_string()[0]; | 	const char sezione = recset.get("I.SEZIONE").as_string()[0]; | ||||||
| 	const TCausale cau(codcau); | 	const TCausale cau(codcau); | ||||||
|   const int    segno = segno_riga(sezione, cau); |   const int    segno = segno_riga(sezione, cau); | ||||||
|   const TBill& conto = _codici->decodifica_conto(recset.get("I.CODMASTRO").as_int(), recset.get("I.CODCONTO").as_int()); | //  const TBill& conto = _codici->decodifica_conto(recset.get("I.CODMASTRO").as_int(), recset.get("I.CODCONTO").as_int());
 | ||||||
|    | 	TGeneric_distrib dm(recset.get("I.IMPONIBILE").as_real() * segno / CENTO, 2); | ||||||
|   TString paragraph; | 	TGeneric_distrib dv(recset.get("I.IMPOSTA").as_real() * segno / CENTO, 2); | ||||||
|   paragraph.format("%d,%d", LF_RMOVIVA, ++nriga); |  | ||||||
| 	conf.set_paragraph(paragraph); |  | ||||||
| 
 | 
 | ||||||
|   conf.set(RMI_ANNOES,     datadoc.year()); | 	FOR_EACH_ARRAY_ITEM(_importi, r, obj) | ||||||
|   conf.set(RMI_CODIVA,     _msk->get_bool(F_DECCODIVA) ? atol(_codici->decodifica_codiva(recset.get("I.CODIVA").as_int())) : recset.get("I.CODIVA").as_int()); | 	{ | ||||||
|   conf.set(RMI_IMPONIBILE, genera_real(recset.get("I.IMPONIBILE"), segno)); | 		real * slice = (real *) obj; | ||||||
|   conf.set(RMI_IMPOSTA,    genera_real(recset.get("I.IMPOSTA"), segno)); | 		dm.add(*slice); | ||||||
|   conf.set(RMI_GRUPPO,     conto.gruppo()); | 		dv.add(*slice); | ||||||
|   conf.set(RMI_CONTO,      conto.conto()); | 	} | ||||||
|   conf.set(RMI_SOTTOCONTO, conto.sottoconto()); |    | ||||||
|  | 	real imp; | ||||||
|  | 	real iva; | ||||||
|  | 
 | ||||||
|  | 	FOR_EACH_ARRAY_ITEM(_conti, r1, obj1) | ||||||
|  | 	{ | ||||||
|  | 
 | ||||||
|  | 		TString paragraph; | ||||||
|  | 
 | ||||||
|  | 		paragraph.format("%d,%d", LF_RMOVIVA, ++nriga); | ||||||
|  | 		conf.set_paragraph(paragraph); | ||||||
|  | 		conf.set(RMI_ANNOES,     datadoc.year()); | ||||||
|  | 		conf.set(RMI_CODIVA,     _msk->get_bool(F_DECCODIVA) ? atol(_codici->decodifica_codiva(recset.get("I.CODIVA").as_int())) : recset.get("I.CODIVA").as_int()); | ||||||
|  | 		conf.set(RMI_IMPONIBILE, dm.get().string(0, 2)); | ||||||
|  | 		conf.set(RMI_IMPOSTA,    dv.get().string(0, 2)); | ||||||
|  | 		TBill * conto = (TBill *) obj1; | ||||||
|  | 		conf.set(RMI_GRUPPO,     conto->gruppo()); | ||||||
|  | 		conf.set(RMI_CONTO,      conto->conto()); | ||||||
|  | 		conf.set(RMI_SOTTOCONTO, conto->sottoconto()); | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| //GENERA_RATE: genero le righe su SCAD
 | //GENERA_RATE: genero le righe su SCAD
 | ||||||
| void TImporta_fat_app::genera_rate(TImporta_fat_rec& recset, TConfig& conf, int nriga) | void TImporta_fat_app::genera_rate(TImporta_fat_rec& recset, TConfig& conf, int nriga) | ||||||
| { | { | ||||||
|   TString paragraph; |   TString paragraph; | ||||||
|   paragraph.format("%d,%d", LF_RMOVIVA, ++nriga); |   paragraph.format("%d,%d", LF_SCADENZE, ++nriga); | ||||||
| 	conf.set_paragraph(paragraph); | 	conf.set_paragraph(paragraph); | ||||||
| 
 | 
 | ||||||
|   const TDate    datadoc = recset.get("R.DATADOC").as_date(); |   const TDate    datadoc = recset.get("R.DATADOC").as_date(); | ||||||
| @ -527,6 +563,9 @@ void TImporta_fat_app::transfer(const TFilename& file) | |||||||
|         configfile = genera_testata(recset, tmpdir); nrigai = nrigar = 0;  |         configfile = genera_testata(recset, tmpdir); nrigai = nrigar = 0;  | ||||||
|       } |       } | ||||||
|       break; |       break; | ||||||
|  |     case 'G': | ||||||
|  | 			leggi_righe_cg(recset, codcau); | ||||||
|  | 			break; | ||||||
|     case 'I': |     case 'I': | ||||||
| 			genera_righe_iva(recset, *configfile, nrigai, codcau); | 			genera_righe_iva(recset, *configfile, nrigai, codcau); | ||||||
| 			break; | 			break; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user