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; | ||||
|   TDecodifica_codici*  _codici; | ||||
| 	TArray _conti; | ||||
| 	TArray _importi; | ||||
| 
 | ||||
| protected: | ||||
| 	bool search_gr_sp_ca(const int gruppo, const char* specie, const int categoria); | ||||
| @ -341,6 +343,7 @@ protected: | ||||
|   const TString80 riclassifica_pconti(); | ||||
|    | ||||
|   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_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_ANNOIVA,  datadoc.year()); | ||||
|   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_CODVAL,   _msk->get_bool(F_DECVAL) ? _codici->decodifica_valute(recset.get("C.CODVAL").as_int()) : recset.get("C.CODVAL").as_string()); | ||||
| //  conf->set(MOV_PROTIVA,  recset.get("C.NREGIVA").as_int());
 | ||||
|   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_CODCF,    recset.get("C.CODCF").as_int()); | ||||
|   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()); | ||||
| 
 | ||||
| 	_conti.destroy(); | ||||
| 	_importi.destroy(); | ||||
|   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
 | ||||
| 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 TCausale cau(codcau); | ||||
|   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); | ||||
| 	TGeneric_distrib dv(recset.get("I.IMPOSTA").as_real() * segno / CENTO, 2); | ||||
| 
 | ||||
|   TString paragraph; | ||||
|   paragraph.format("%d,%d", LF_RMOVIVA, ++nriga); | ||||
| 	conf.set_paragraph(paragraph); | ||||
| 	FOR_EACH_ARRAY_ITEM(_importi, r, obj) | ||||
| 	{ | ||||
| 		real * slice = (real *) obj; | ||||
| 		dm.add(*slice); | ||||
| 		dv.add(*slice); | ||||
| 	} | ||||
|    | ||||
|   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, genera_real(recset.get("I.IMPONIBILE"), segno)); | ||||
|   conf.set(RMI_IMPOSTA,    genera_real(recset.get("I.IMPOSTA"), segno)); | ||||
|   conf.set(RMI_GRUPPO,     conto.gruppo()); | ||||
|   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
 | ||||
| void TImporta_fat_app::genera_rate(TImporta_fat_rec& recset, TConfig& conf, int nriga) | ||||
| { | ||||
|   TString paragraph; | ||||
|   paragraph.format("%d,%d", LF_RMOVIVA, ++nriga); | ||||
|   paragraph.format("%d,%d", LF_SCADENZE, ++nriga); | ||||
| 	conf.set_paragraph(paragraph); | ||||
| 
 | ||||
|   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;  | ||||
|       } | ||||
|       break; | ||||
|     case 'G': | ||||
| 			leggi_righe_cg(recset, codcau); | ||||
| 			break; | ||||
|     case 'I': | ||||
| 			genera_righe_iva(recset, *configfile, nrigai, codcau); | ||||
| 			break; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user