Patch level : 12.00 1258
Files correlati     : cg7.exe cg7l00a.png cg7400a.png cg7400b.png cg7400c.png
                      cg7500a.png cg7600a.png cg7600a.rep cg7700a.png
                      cg7700a.rep cg7700b.png cg7700b.rep cg7800a.png cg7900a.png
                      cg7900b.png cg7a00a.png cg7b00a.png cg7c00a.png
                      cg7d00a.png cg7d00b.png cg7e00a.png cg7f00a.png
                      cg7f00b.png cg7g00a.png cg7g00b.png cg7h00a.png
Commento            :
Quadri dichiarazione IVA
			
			
This commit is contained in:
		
							parent
							
								
									fa68cfe0e4
								
							
						
					
					
						commit
						d0656ff8d4
					
				@ -351,12 +351,10 @@ void TQuadro_VE_recordset::load(const char repid)
 | 
			
		||||
	const TDate da_datareg(1, 1, year());
 | 
			
		||||
	const TDate a_datareg(31, 12,year());
 | 
			
		||||
 | 
			
		||||
	//	query << "USE IVADIFF KEY 2 SELECT BETWEEN(DATAREG,#DAL,#AL)";
 | 
			
		||||
	query << "USE IVADIFF KEY 4";
 | 
			
		||||
	query << "USE IVADIFF KEY 4 SELECT (" << ID_TIPOIVA << "==1)";   // Vendite
 | 
			
		||||
	if (!end_cassa)
 | 
			
		||||
		query << "\nFROM DATAREG=" << da_datareg;
 | 
			
		||||
	query << "\nTO DATAREG=" << a_datareg;
 | 
			
		||||
 | 
			
		||||
		query << "\nFROM " << ID_DATAREG << "=" << da_datareg;
 | 
			
		||||
	query << "\nTO " << ID_DATAREG << "=" << a_datareg;
 | 
			
		||||
	
 | 
			
		||||
	TISAM_recordset id(query);
 | 
			
		||||
	TString8 cod;
 | 
			
		||||
@ -371,6 +369,7 @@ void TQuadro_VE_recordset::load(const char repid)
 | 
			
		||||
		{
 | 
			
		||||
			const int tipodiff = id.get_int(ID_TIPODIFF);
 | 
			
		||||
			const TRectype & mov = cache().get(LF_MOV, numreg);
 | 
			
		||||
			const int annoreg = mov.get_date(MOV_DATAREG).year();
 | 
			
		||||
			const char sezione = id.get_string(ID_SEZIONE)[0];
 | 
			
		||||
			const int tipomov = id.get_int(ID_TIPOMOV);
 | 
			
		||||
			const TImporto imp(sezione, id.get_real(RMI_IMPONIBILE));
 | 
			
		||||
@ -384,7 +383,9 @@ void TQuadro_VE_recordset::load(const char repid)
 | 
			
		||||
 | 
			
		||||
			const TCodiceIVA & codiva = cached_codIVA(cod);
 | 
			
		||||
 | 
			
		||||
			if (codiva.iva_imponibile() && datapag <= a_datareg)
 | 
			
		||||
			if (codiva.iva_imponibile() && annoreg == year())
 | 
			
		||||
			{
 | 
			
		||||
				if ((tipomov == 3 && between(datapag, da_datareg, a_datareg)) || (tipomov < 3))
 | 
			
		||||
				{
 | 
			
		||||
					imp371 += imp;
 | 
			
		||||
					if (tipodiff == 2)
 | 
			
		||||
@ -392,6 +393,7 @@ void TQuadro_VE_recordset::load(const char repid)
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	imp371.normalize('D');
 | 
			
		||||
	add_value("VE37.1", imp371.valore()); // VE37.1 2 iva sospensione da incassare
 | 
			
		||||
	imp372.normalize('D');
 | 
			
		||||
@ -399,9 +401,13 @@ void TQuadro_VE_recordset::load(const char repid)
 | 
			
		||||
 | 
			
		||||
	query.zap();
 | 
			
		||||
 | 
			
		||||
	query << "USE IVADIFF KEY 3";
 | 
			
		||||
	query << "\nFROM DATAREGP=" << da_datareg;
 | 
			
		||||
	query << "\nTO DATAREGP=" << a_datareg;
 | 
			
		||||
	query << "USE IVADIFF KEY 4 SELECT (BETWEEN(" << ID_DATAREGP << ",\"" << da_datareg.date2ansi() << "\",\"" << a_datareg.date2ansi() << "\")&&(" << ID_TIPOIVA << "==1)&&(" << ID_TIPOMOV << "==3)"; 
 | 
			
		||||
	query << "&&(" << ID_NUMPRO << ">0))";   // Vendite
 | 
			
		||||
 | 
			
		||||
	TDate end_prec = da_datareg;
 | 
			
		||||
 | 
			
		||||
	--end_prec;
 | 
			
		||||
	query << "\nTO " << ID_DATAREG << "=" << end_prec;
 | 
			
		||||
 | 
			
		||||
	TISAM_recordset idp(query);
 | 
			
		||||
	TImporto imp391;
 | 
			
		||||
@ -411,15 +417,11 @@ void TQuadro_VE_recordset::load(const char repid)
 | 
			
		||||
		const long numreg = idp.get_long(RMI_NUMREG);
 | 
			
		||||
		const int tipoiva = idp.get_int(ID_TIPOIVA);
 | 
			
		||||
		
 | 
			
		||||
 		if (tipoiva == 1)  // Vendite
 | 
			
		||||
		{
 | 
			
		||||
			const int tipodiff = idp.get_int(ID_TIPODIFF);
 | 
			
		||||
			const TRectype & mov = cache().get(LF_MOV, numreg);
 | 
			
		||||
			const char sezione = idp.get_string(ID_SEZIONE)[0];
 | 
			
		||||
			const int tipomov = idp.get_int(ID_TIPOMOV);
 | 
			
		||||
			const TImporto imp(sezione, idp.get_real(RMI_IMPONIBILE));
 | 
			
		||||
			const int annoliq = idp.get_date(ID_DATAREG).year();
 | 
			
		||||
			const int annopag = idp.get_date(ID_DATAREGP).year();
 | 
			
		||||
 | 
			
		||||
			key.cut(0);
 | 
			
		||||
			key.add(numreg);
 | 
			
		||||
@ -427,10 +429,9 @@ void TQuadro_VE_recordset::load(const char repid)
 | 
			
		||||
			cod = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
 | 
			
		||||
			const TCodiceIVA & codiva = cached_codIVA(cod);
 | 
			
		||||
 | 
			
		||||
			if (annoliq < year() && tipomov == 3 && codiva.iva_imponibile())
 | 
			
		||||
			if (codiva.iva_imponibile())
 | 
			
		||||
					imp391 += imp;
 | 
			
		||||
	}
 | 
			
		||||
	}
 | 
			
		||||
	imp391.normalize('A');
 | 
			
		||||
	add_value("VE39.1", imp391.valore()); // VE39.1 iva differita incassi di anni precedenti
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -333,16 +333,15 @@ void TQuadro_VF_recordset::load(char repid)
 | 
			
		||||
	const TDate da_datareg(1, 1, year());
 | 
			
		||||
	const TDate a_datareg(31, 12, year());
 | 
			
		||||
 | 
			
		||||
	//	query << "USE IVADIFF KEY 2 SELECT BETWEEN(DATAREG,#DAL,#AL)";
 | 
			
		||||
	query << "USE IVADIFF KEY 4";
 | 
			
		||||
	query << "USE IVADIFF KEY 4 SELECT (" << ID_TIPOIVA << "==2)";   // Acquisti
 | 
			
		||||
	if (!end_cassa)
 | 
			
		||||
		query << "\nFROM DATAREG=" << da_datareg;
 | 
			
		||||
	query << "\nTO DATAREG=" << a_datareg;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	TISAM_recordset id(query);
 | 
			
		||||
	TString8 tipo_aliquota, codiva;
 | 
			
		||||
	TImporto imp211, imp212;
 | 
			
		||||
	TString8 cod;
 | 
			
		||||
	TImporto imp231, imp232;
 | 
			
		||||
 | 
			
		||||
	for (bool ok = id.move_first(); ok; ok = id.move_next())
 | 
			
		||||
	{
 | 
			
		||||
@ -350,67 +349,67 @@ void TQuadro_VF_recordset::load(char repid)
 | 
			
		||||
		const int tipoiva = id.get(ID_TIPOIVA).as_int();
 | 
			
		||||
		const int tipodiff = id.get(ID_TIPODIFF).as_int();
 | 
			
		||||
		const TRectype & mov = cache().get(LF_MOV, numreg);
 | 
			
		||||
		const int annoreg = mov.get_date(MOV_DATAREG).year();
 | 
			
		||||
		const char sezione = id.get(ID_SEZIONE).as_string()[0];
 | 
			
		||||
		const int tipomov = id.get(ID_TIPOMOV).as_int();
 | 
			
		||||
		const TImporto imp(sezione, id.get(RMI_IMPONIBILE).as_real());
 | 
			
		||||
		const int annoliq = id.get(ID_ANNOLIQ).as_int();
 | 
			
		||||
//		const int annoliq = id.get(ID_ANNOLIQ).as_int();
 | 
			
		||||
		const TDate datapag = id.get(ID_DATAREGP).as_date();
 | 
			
		||||
 | 
			
		||||
		key.cut(0);
 | 
			
		||||
		key.add(numreg);
 | 
			
		||||
		key.add(id.get(ID_NUMRIG).as_string());
 | 
			
		||||
		codiva = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
 | 
			
		||||
		key = codiva;
 | 
			
		||||
		tipo_aliquota = cache().get("%IVA", key, "S1");
 | 
			
		||||
		cod = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
 | 
			
		||||
 | 
			
		||||
		if (tipo_aliquota.blank() && datapag <= a_datareg && tipoiva == 2)  // Acquisti
 | 
			
		||||
		const TCodiceIVA & codiva = cached_codIVA(cod);
 | 
			
		||||
		
 | 
			
		||||
		if (codiva.iva_imponibile() && annoreg == year())
 | 
			
		||||
		{
 | 
			
		||||
			imp211 += imp;
 | 
			
		||||
			if ((tipomov == 3 && between(datapag, da_datareg, a_datareg)) || (tipomov < 3))
 | 
			
		||||
			{
 | 
			
		||||
				imp231 += imp;
 | 
			
		||||
				if (tipodiff == 2)
 | 
			
		||||
				imp212 += imp;
 | 
			
		||||
					imp232 += imp;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	imp211.normalize('A');
 | 
			
		||||
	add_value("VF23.1", imp211.valore());
 | 
			
		||||
	add_value("VF37.1", imp211.valore()); // VF37.1 2 iva sospensione da pagare
 | 
			
		||||
	imp212.normalize('A');
 | 
			
		||||
	add_value("VF23.2", imp212.valore());
 | 
			
		||||
	}
 | 
			
		||||
	imp231.normalize('A');
 | 
			
		||||
	add_value("VF23.1", imp231.valore());
 | 
			
		||||
	add_value("VF37.1", imp231.valore()); // VF37.1 2 iva sospensione da pagare
 | 
			
		||||
	imp232.normalize('A');
 | 
			
		||||
	add_value("VF23.2", imp232.valore());
 | 
			
		||||
 | 
			
		||||
	query.zap();
 | 
			
		||||
 | 
			
		||||
	query << "USE IVADIFF KEY 3";
 | 
			
		||||
	query << "\nFROM DATAREGP=" << da_datareg;
 | 
			
		||||
	query << "\nTO DATAREGP=" << a_datareg;
 | 
			
		||||
	query << "USE IVADIFF KEY 4 SELECT (BETWEEN(" << ID_DATAREGP << ",\"" << da_datareg.date2ansi() << "\",\"" << a_datareg.date2ansi() << "\")&&(" << ID_TIPOIVA << "==2)&&(" << ID_TIPOMOV << "==3)";
 | 
			
		||||
	query << "&&(" << ID_NUMPRO <<">0))";   // Acquisti
 | 
			
		||||
 | 
			
		||||
	TDate end_prec = da_datareg;
 | 
			
		||||
 | 
			
		||||
	--end_prec;
 | 
			
		||||
	query << "\nTO " << ID_DATAREG << "=" << end_prec;
 | 
			
		||||
 | 
			
		||||
	TISAM_recordset idp(query);
 | 
			
		||||
	TImporto imp221;
 | 
			
		||||
	TImporto imp241;
 | 
			
		||||
 | 
			
		||||
	for (bool ok = idp.move_first(); ok; ok = idp.move_next())
 | 
			
		||||
	{
 | 
			
		||||
		const long numreg = idp.get(RMI_NUMREG).as_int();
 | 
			
		||||
		const int tipoiva = idp.get(ID_TIPOIVA).as_int();
 | 
			
		||||
		const long numreg = idp.get_long(RMI_NUMREG);
 | 
			
		||||
		const TRectype & mov = cache().get(LF_MOV, numreg);
 | 
			
		||||
		const char sezione = idp.get(ID_SEZIONE).as_string()[0];
 | 
			
		||||
		const int tipomov = idp.get(ID_TIPOMOV).as_int();
 | 
			
		||||
		const char sezione = idp.get_string(ID_SEZIONE)[0];
 | 
			
		||||
		const TImporto imp(sezione, idp.get(RMI_IMPONIBILE).as_real());
 | 
			
		||||
		const int annoliq = idp.get(ID_DATAREG).as_date().year();
 | 
			
		||||
		const int annopag = idp.get(ID_DATAREGP).as_date().year();
 | 
			
		||||
 | 
			
		||||
		key.cut(0);
 | 
			
		||||
		key.add(numreg);
 | 
			
		||||
		key.add(idp.get(ID_NUMRIG).as_string());
 | 
			
		||||
		codiva = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
 | 
			
		||||
		key = codiva;
 | 
			
		||||
		tipo_aliquota = cache().get("%IVA", key, "S1");
 | 
			
		||||
		cod = cache().get(LF_RMOVIVA, key, RMI_CODIVA);
 | 
			
		||||
		const TCodiceIVA & codiva = cached_codIVA(cod);
 | 
			
		||||
 | 
			
		||||
		if (tipo_aliquota.blank() && tipoiva == 2)  // Acquisti
 | 
			
		||||
		{
 | 
			
		||||
			if (annoliq < year() && tipomov == 3)
 | 
			
		||||
				imp221 += imp;
 | 
			
		||||
		if (codiva.iva_imponibile())
 | 
			
		||||
			imp241 += imp;
 | 
			
		||||
	}
 | 
			
		||||
	}
 | 
			
		||||
	imp221.normalize('D');
 | 
			
		||||
	add_value("VF24.1", imp221.valore()); // VE22.1 iva differita pagamenti di anni precedenti
 | 
			
		||||
	imp241.normalize('D');
 | 
			
		||||
	add_value("VF24.1", imp241.valore()); // VE22.1 iva differita pagamenti di anni precedenti
 | 
			
		||||
 | 
			
		||||
	// V24.2 Variazioni e arrotondamenti d’imposta (indicare con il segno +/–)
 | 
			
		||||
	// V50.2 Variazioni e arrotondamenti d’imposta (indicare con il segno +/–)
 | 
			
		||||
 | 
			
		||||
@ -213,7 +213,7 @@
 | 
			
		||||
   <source>VF71.0</source>
 | 
			
		||||
  </field>
 | 
			
		||||
  <field x="66" y="60.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="11" codval="" id="7102" pattern="1" hide_zero="" text="###.###.###">
 | 
			
		||||
   <prescript description="B1.7102 PRESCRIPT">MON #7100 @
 | 
			
		||||
   <prescript description="B1.7102 PRESCRIPT">#7100 @
 | 
			
		||||
#5502 @
 | 
			
		||||
+
 | 
			
		||||
#7002 @
 | 
			
		||||
 | 
			
		||||
@ -19,6 +19,12 @@ void classify_pim_array(const TRectype& pimr, TArray & imponibili, TArray & impo
 | 
			
		||||
		imponibili.add(imp, tprec);
 | 
			
		||||
		imposte.add(iva, tprec);
 | 
			
		||||
	}
 | 
			
		||||
#ifdef DBG
 | 
			
		||||
	if (imponibili.items() == 0)
 | 
			
		||||
	{
 | 
			
		||||
		message_box("PIM scartato %s", (const char *)pimr.get("CODTAB"));
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool classify_pim(const TRectype& pimr, real& imp, real& iva, tiporec& t, bool tipost, int & last_tiporec, const bool dich)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user