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);
 | 
				
			||||||
 | 
						TGeneric_distrib dv(recset.get("I.IMPOSTA").as_real() * segno / CENTO, 2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						FOR_EACH_ARRAY_ITEM(_importi, r, obj)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							real * slice = (real *) obj;
 | 
				
			||||||
 | 
							dm.add(*slice);
 | 
				
			||||||
 | 
							dv.add(*slice);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
						real imp;
 | 
				
			||||||
 | 
						real iva;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						FOR_EACH_ARRAY_ITEM(_conti, r1, obj1)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		TString paragraph;
 | 
							TString paragraph;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		paragraph.format("%d,%d", LF_RMOVIVA, ++nriga);
 | 
							paragraph.format("%d,%d", LF_RMOVIVA, ++nriga);
 | 
				
			||||||
		conf.set_paragraph(paragraph);
 | 
							conf.set_paragraph(paragraph);
 | 
				
			||||||
 | 
					 | 
				
			||||||
		conf.set(RMI_ANNOES,     datadoc.year());
 | 
							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_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_IMPONIBILE, dm.get().string(0, 2));
 | 
				
			||||||
  conf.set(RMI_IMPOSTA,    genera_real(recset.get("I.IMPOSTA"), segno));
 | 
							conf.set(RMI_IMPOSTA,    dv.get().string(0, 2));
 | 
				
			||||||
  conf.set(RMI_GRUPPO,     conto.gruppo());
 | 
							TBill * conto = (TBill *) obj1;
 | 
				
			||||||
  conf.set(RMI_CONTO,      conto.conto());
 | 
							conf.set(RMI_GRUPPO,     conto->gruppo());
 | 
				
			||||||
  conf.set(RMI_SOTTOCONTO, conto.sottoconto());
 | 
							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