Ejemplo n.º 1
0
        public string EnviarIBK(FeaEntidades.InterFacturas.lote_comprobantes lc, string pathCertificado)
        {
            string resultado = string.Empty;
            try
			{
                string nroSerie = CaptchaDotNet2.Security.Cryptography.Encryptor.Decrypt(pathCertificado, "srgerg$%^bg", Convert.FromBase64String("srfjuoxp")).ToString();
				CedWebRN.Comprobante c = new CedWebRN.Comprobante();
                using (FileStream fs = File.Open(Server.MapPath("~/Enviar.txt"), FileMode.Append, FileAccess.Write))
                {
                    using (StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8))
                    {
                        sw.WriteLine(System.DateTime.Now);
                        sw.WriteLine("pathCertificado cifrado:" + pathCertificado);
                        sw.WriteLine("pathCertificado descifrado:" + nroSerie);
                        sw.WriteLine("cuit_vendedor:" + lc.cabecera_lote.cuit_vendedor);
                        sw.WriteLine("id_lote:" + lc.cabecera_lote.id_lote);
                    }
                }
                resultado = c.EnviarIBK(lc, nroSerie);
			}
			catch (Exception ex)
			{
				throw ExcepcionesSOAP.RaiseException("Enviar", "http://www.cedeira.com.ar/webservices", ex.Message,
					"0", ex.Source, FaultCode.Server);

			}
            return resultado;
        }
Ejemplo n.º 2
0
        public string DetallarIBK(FeaEntidades.InterFacturas.Detalle.consulta_emisor_comprobante_detalle cecd, string pathCertificado)
        {
            string resultado = string.Empty;
            try
            {
                string nroSerie = CaptchaDotNet2.Security.Cryptography.Encryptor.Decrypt(pathCertificado, "srgerg$%^bg", Convert.FromBase64String("srfjuoxp")).ToString();
                using (FileStream fs = File.Open(Server.MapPath("~/Detallar.txt"), FileMode.Append, FileAccess.Write))
                {
                    using (StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8))
                    {
                        sw.WriteLine(System.DateTime.Now);
                        sw.WriteLine("pathCertificado cifrado:" + pathCertificado);
                        sw.WriteLine("pathCertificado descifrado:" + nroSerie);
                        sw.WriteLine("cuit_vendedor:" + cecd.cuit_vendedor);
                        sw.WriteLine("punto_de_venta:" + cecd.punto_de_venta);
                        sw.WriteLine("tipo_de_comprobante:" + cecd.tipo_de_comprobante + "  numero_comprobante: " + cecd.numero_comprobante);
                    }
                }
                resultado = CedServicios.RN.Comprobante.ComprobanteDetalleIBK(cecd, nroSerie);
            }
            catch (Exception ex)
            {
                throw ExcepcionesSOAP.RaiseException("Detallar", "http://www.cedeira.com.ar/webservices", ex.Message,
                    "0", ex.Source, FaultCode.Server);

            }
            return resultado;
        }
 public void Completar(FeaEntidades.InterFacturas.lote_comprobantes lc)
 {
     descuentos = new System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenDescuentos>();
     if (lc.comprobante[0].resumen.descuentos != null)
     {
         foreach (FeaEntidades.InterFacturas.resumenDescuentos r in lc.comprobante[0].resumen.descuentos)
         {
             if (r.importe_descuento_moneda_origenSpecified)
             {
                 r.importe_descuento = r.importe_descuento_moneda_origen;
             }
             if (r.importe_iva_descuento_moneda_origenSpecified)
             {
                 r.importe_iva_descuento = r.importe_iva_descuento_moneda_origen;
             }
             descuentos.Add(r);
         }
     }
     if (descuentos.Count.Equals(0))
     {
         descuentos.Add(new FeaEntidades.InterFacturas.resumenDescuentos());
     }
     descuentosGridView.DataSource = descuentos;
     descuentosGridView.DataBind();
     BindearDropDownLists();
     ViewState["descuentos"] = descuentos;
 }
Ejemplo n.º 4
0
 public void CompletarPermisos(FeaEntidades.InterFacturas.lote_comprobantes lc)
 {
     //Permisos de exportación
     permisos = new System.Collections.Generic.List<FeaEntidades.InterFacturas.permisos>();
     if (lc.comprobante[0].cabecera.informacion_comprobante.informacion_exportacion != null && lc.comprobante[0].cabecera.informacion_comprobante.informacion_exportacion.permisos != null)
     {
         foreach (FeaEntidades.InterFacturas.permisos r in lc.comprobante[0].cabecera.informacion_comprobante.informacion_exportacion.permisos)
         {
             //descripcioncodigo_de_permiso ( XmlIgnoreAttribute )
             //Se busca la descripción a través del código.
             try
             {
                 if (r != null)
                 {
                     //string descrcodigo = ((DropDownList)permisosGridView.FooterRow.FindControl("ddlcodigo_de_permiso")).SelectedItem.Text;
                     //((DropDownList)permisosGridView.FooterRow.FindControl("ddlcodigo_de_permiso")).SelectedValue = r.destino_mercaderia.ToString();
                     //descrcodigo = ((DropDownList)permisosGridView.FooterRow.FindControl("ddlcodigo_de_permiso")).SelectedItem.Text;
                     //r.descripcion_destino_mercaderia = descrcodigo;
                     permisos.Add(r);
                 }
             }
             catch
             //Referencia no valida
             {
             }
         }
     }
     if (permisos.Count.Equals(0))
     {
         permisos.Add(new FeaEntidades.InterFacturas.permisos());
     }
     permisosGridView.DataSource = permisos;
     permisosGridView.DataBind();
     ViewState["permisos"] = permisos;
 }
Ejemplo n.º 5
0
 public static void ConsultarComprobantes(out List<eFact_I_Bj.Entidades.ComprobanteBj> Comprobantes, out FeaEntidades.InterFacturas.lote_comprobantes Lc, TipoConsulta TipoConsulta, DateTime FechaDsd, DateTime FechaHst, string IdTipoComprobante, string PuntoVenta, string NumeroComprobante, bool VerificarExistenciaCAE, CedEntidades.Sesion Sesion)
 {
     List<eFact_I_Bj.Entidades.ComprobanteBj> comprobantes = new List<eFact_I_Bj.Entidades.ComprobanteBj>();
     FeaEntidades.InterFacturas.lote_comprobantes lc = new FeaEntidades.InterFacturas.lote_comprobantes();
     eFact_I_Bj.RN.ComprobanteBj.Consultar(comprobantes, lc, TipoConsulta, FechaDsd, FechaHst, IdTipoComprobante, PuntoVenta, NumeroComprobante, VerificarExistenciaCAE, Sesion);
     Comprobantes = comprobantes;
     Lc = lc;
 }
Ejemplo n.º 6
0
 public FEArn.ar.gov.afip.wsw.FERecuperaQTYResponse ConsultarCantMaxRenglones(FeaEntidades.ConsultaUltNroTransaccion ConsultaCantMaxRenglones)
 {
     /*Limpio resultados de la consulta CAE anterior*/
     ConsultaCantMaxRenglones.Resultado = string.Empty;
     ConsultaCantMaxRenglones.MensajeError = string.Empty;
     FEArn.ar.gov.afip.wsw.FERecuperaQTYResponse FERecuperaQTYResponse = new FEArn.ar.gov.afip.wsw.FERecuperaQTYResponse();
     FERecuperaQTYResponse = objWS.FERecuperaQTYRequest(ticket.ObjAutorizacion);
     return FERecuperaQTYResponse;
 }
Ejemplo n.º 7
0
        public string EnviarIBK(FeaEntidades.InterFacturas.lote_comprobantes lc, string certificado)
        {
            IBK.lote_comprobantes lcIBK = new IBK.lote_comprobantes();
            lcIBK = Fea2Ibk(lc);

            IBK.FacturaWebServiceConSchema objIBK;
            objIBK = new IBK.FacturaWebServiceConSchema();
            objIBK.Url = System.Configuration.ConfigurationManager.AppSettings["URLinterfacturas"];
            if (System.Configuration.ConfigurationManager.AppSettings["Proxy"] != null && System.Configuration.ConfigurationManager.AppSettings["Proxy"] != "")
            {
                System.Net.WebProxy wp = new System.Net.WebProxy(System.Configuration.ConfigurationManager.AppSettings["Proxy"], false);
                string usuarioProxy = System.Configuration.ConfigurationManager.AppSettings["UsuarioProxy"];
                string claveProxy = System.Configuration.ConfigurationManager.AppSettings["ClaveProxy"];
                string dominioProxy = System.Configuration.ConfigurationManager.AppSettings["DominioProxy"];

                System.Net.NetworkCredential networkCredential = new System.Net.NetworkCredential(usuarioProxy, claveProxy, dominioProxy);
                wp.Credentials = networkCredential;
                objIBK.Proxy = wp;
            }

            X509Store store = new X509Store(StoreLocation.LocalMachine);
            store.Open(OpenFlags.ReadOnly);
            X509Certificate2Collection col = store.Certificates.Find(X509FindType.FindBySerialNumber, certificado, true);
            if (col.Count.Equals(1))
            {
                objIBK.ClientCertificates.Add(col[0]);
                System.Threading.Thread.Sleep(1000);
                IBK.lote_comprobantes_response lcr = objIBK.receiveFacturasConSchema(lcIBK);

                string resultado = string.Empty;

                if (!((IBK.lote_response)(lcr.Item)).estado.Equals("OK"))
                {
                    if (((IBK.lote_response)lcr.Item).errores_lote != null)
                    {
                        resultado = ((IBK.lote_response)lcr.Item).errores_lote[0].descripcion_error;
                    }
                    else
                    {
                        resultado = ((IBK.lote_response)lcr.Item).comprobante_response[0].errores_comprobante[0].descripcion_error;
                    }
                    throw new Exception(resultado);
                }
                else
                {
                    resultado = "Comprobante enviado satisfactoriamente a Interfacturas";
                }
                return resultado;
            }
            else
            {
                throw new Exception("Su certificado no está disponible en nuestro repositorio");
            }
        }
Ejemplo n.º 8
0
 public FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse ConsultarUltNroComprobante(FeaEntidades.ConsultaUltNroComprobante ConsultaUltNro)
 {
     /*Limpio resultados de la consulta CAE anterior*/
     ConsultaUltNro.Resultado = string.Empty;
     ConsultaUltNro.MensajeError = string.Empty;
     FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse objFERecuperaLastCMPResponse = new FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse();
     FEArn.ar.gov.afip.wsw.FELastCMPtype tipoComprobante = new FEArn.ar.gov.afip.wsw.FELastCMPtype();
     tipoComprobante.PtoVta = ConsultaUltNro.Punto_vta;
     tipoComprobante.TipoCbte = ConsultaUltNro.Tipo_cbte;
     FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse FERecuperaLastCMPResponse = new FEArn.ar.gov.afip.wsw.FERecuperaLastCMPResponse();
     FERecuperaLastCMPResponse = objWS.FERecuperaLastCMPRequest(ticket.ObjAutorizacion, tipoComprobante);
     return FERecuperaLastCMPResponse;
 }
Ejemplo n.º 9
0
 public FEArn.ar.gov.afip.wsw.FEConsultaCAEResponse ConsultarCAE(FeaEntidades.ConsultaCAE ConsultaCAE)
 {
     /*Limpio resultados de la consulta CAE anterior*/
     ConsultaCAE.Resultado = string.Empty;
     ConsultaCAE.MensajeError = string.Empty;
     FEArn.ar.gov.afip.wsw.FEConsultaCAEReq CAErequest = new FEArn.ar.gov.afip.wsw.FEConsultaCAEReq();
     CAErequest.cuit_emisor = ConsultaCAE.Cuit_emisor;
     CAErequest.fecha_cbte = ConsultaCAE.Fecha_cbte.ToString("yyyyMMdd");
     CAErequest.punto_vta = ConsultaCAE.Punto_vta;
     CAErequest.tipo_cbte = ConsultaCAE.Tipo_cbte;
     CAErequest.cbt_nro = ConsultaCAE.Cbt_nro;
     CAErequest.imp_total = ConsultaCAE.Imp_total;
     CAErequest.cae = ConsultaCAE.Cae;
     FEArn.ar.gov.afip.wsw.FEConsultaCAEResponse CAEresponse = new FEArn.ar.gov.afip.wsw.FEConsultaCAEResponse();
     CAEresponse = objWS.FEConsultaCAERequest(ticket.ObjAutorizacion, CAErequest);
     return CAEresponse;
 }
Ejemplo n.º 10
0
 public FeaEntidades.InterFacturas.lote_response Enviar(FeaEntidades.InterFacturas.lote_comprobantes Lc, out List<FeaEntidades.InterFacturas.error> RespErroresLote, out List<FeaEntidades.InterFacturas.error> RespErroresComprobantes)
 {
     List<FeaEntidades.InterFacturas.error> respErroresLote;
     List<FeaEntidades.InterFacturas.error> respErroresComprobantes;
     try
     {
         eFact_C.Comprobante c = new eFact_C.Comprobante();
         FeaEntidades.InterFacturas.lote_response loteResponse;
         loteResponse = c.EnviarIBK(out respErroresLote, out respErroresComprobantes, Lc, uRL, certificado, proxy);
         RespErroresLote = respErroresLote;
         RespErroresComprobantes = respErroresComprobantes;
         return loteResponse;
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
Ejemplo n.º 11
0
        public static void ActualizarDatosCAE(eFact_Entidades.Lote Lote, FeaEntidades.InterFacturas.lote_comprobantes Lc)
        {
            MemoryStream ms;
            System.Xml.XmlTextWriter writer;
            System.Xml.Serialization.XmlSerializer x;
            String XmlizedString;
            
            //Actualizar lote
            ms = new MemoryStream();
            XmlizedString = null;
            writer = new XmlTextWriter(ms, System.Text.Encoding.GetEncoding("ISO-8859-1"));
            x = new System.Xml.Serialization.XmlSerializer(Lc.GetType());
            x.Serialize(writer, Lc);
            ms = (MemoryStream)writer.BaseStream;
            XmlizedString = eFact_RN.Tablero.ByteArrayToString(ms.ToArray());
            ms.Close();
            ms = null;
            Lote.LoteXmlIF = XmlizedString;

            eFact_Entidades.Comprobante comprobante =new eFact_Entidades.Comprobante();
            string sFecha = "";
            for (int i = 0; i < Lc.comprobante.Length; i++)
            {
                eFact_Entidades.Comprobante c = Lote.Comprobantes.Find((delegate(eFact_Entidades.Comprobante e1) { return e1.IdTipoComprobante == Convert.ToInt16(Lc.comprobante[i].cabecera.informacion_comprobante.tipo_de_comprobante.ToString()) && e1.NumeroComprobante == Lc.comprobante[i].cabecera.informacion_comprobante.numero_comprobante.ToString(); }));
                if (Lc.comprobante[i].cabecera.informacion_comprobante.cae != null)
                {
                    c.NumeroCAE = Lc.comprobante[i].cabecera.informacion_comprobante.cae.ToString();
                }
                if (Lc.comprobante[i].cabecera.informacion_comprobante.fecha_obtencion_cae != null)
                {
                    sFecha = Lc.comprobante[i].cabecera.informacion_comprobante.fecha_obtencion_cae.ToString();
                    c.FechaCAE = Convert.ToDateTime(sFecha.Substring(0, 4) + "/" + sFecha.Substring(4, 2) + "/" + sFecha.Substring(6, 2));
                }
                if (Lc.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento_cae != null)
                {
                    sFecha = Lc.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento_cae.ToString();
                    c.FechaVtoCAE = Convert.ToDateTime(sFecha.Substring(0, 4) + "/" + sFecha.Substring(4, 2) + "/" + sFecha.Substring(6, 2));
                }
                c.EstadoIFoAFIP = Lc.comprobante[i].cabecera.informacion_comprobante.resultado;
                c.ComentarioIFoAFIP = Lc.comprobante[i].cabecera.informacion_comprobante.motivo;
            }
        }
Ejemplo n.º 12
0
 public FeaEntidades.InterFacturas.lote_comprobantes Consultar(FeaEntidades.InterFacturas.consulta_lote_comprobantes consultalotecomprobantes, out List<FeaEntidades.InterFacturas.error> RespErroresLote, out List<FeaEntidades.InterFacturas.error> RespErroresComprobantes)
 {
     List<FeaEntidades.InterFacturas.error> respErroresLote;
     List<FeaEntidades.InterFacturas.error> respErroresComprobantes;
     try
     {
         eFact_C.Comprobante c = new eFact_C.Comprobante();
         eFact_C.IBK.consulta_lote_comprobantes clc = new eFact_C.IBK.consulta_lote_comprobantes();
         clc.cuit_canal = consultalotecomprobantes.cuit_canal;
         clc.cuit_vendedor = consultalotecomprobantes.cuit_vendedor;
         clc.punto_de_venta = consultalotecomprobantes.punto_de_venta;
         clc.punto_de_ventaSpecified = true;
         clc.id_lote = consultalotecomprobantes.id_lote;
         FeaEntidades.InterFacturas.lote_comprobantes lc;
         lc = c.ConsultarIBK(out respErroresLote, out respErroresComprobantes, clc, uRL, certificado, proxy);
         RespErroresLote = respErroresLote;
         RespErroresComprobantes = respErroresComprobantes;
         return lc;
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
Ejemplo n.º 13
0
		public void Completar(FeaEntidades.InterFacturas.lote_comprobantes lc)
		{
			impuestos = new System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos>();
			if (lc.comprobante[0].resumen.impuestos != null)
			{
				foreach (FeaEntidades.InterFacturas.resumenImpuestos imp in lc.comprobante[0].resumen.impuestos)
				{
					if (imp.importe_impuesto_moneda_origenSpecified)
					{
						imp.importe_impuesto = imp.importe_impuesto_moneda_origen;
					}
					impuestos.Add(imp);
				}
			}
			if (impuestos.Count.Equals(0))
			{
				impuestos.Add(new FeaEntidades.InterFacturas.resumenImpuestos());
			}
			impuestosGridView.DataSource = impuestos;
			impuestosGridView.DataBind();
			ViewState["impuestos"] = impuestos;


		}
Ejemplo n.º 14
0
		private void GenerarImporteTotalImpuestosNacionales(FeaEntidades.InterFacturas.resumen r)
		{
            if (IdNaturalezaComprobanteTextBox.Text != "Compra")
            {
                int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
                try
                {
                    if (Funciones.SessionTimeOut(Session))
                    {
                        Response.Redirect("~/SessionTimeout.aspx");
                    }
                    else
                    {
                        string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                        {
                            return pv.Nro == auxPV;
                        }).IdTipoPuntoVta;
                        if (idtipo.Equals("Exportacion") && !(Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text.Equals("0") || Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text.Equals("")))
                        {
                            throw new Exception("Los impuestos nacionales deben informarse en 0 para exportación.");
                        }
                        else
                        {
                            if (!Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text.Equals(""))
                            {
                                r.importe_total_impuestos_nacionales = Convert.ToDouble(Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text);
                            }
                        }
                    }
                }
                catch (System.NullReferenceException)
                {
                    r.importe_total_impuestos_nacionales = Convert.ToDouble(Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text);
                }
            }
            else
            {
                if (Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text != string.Empty)
                    r.importe_total_impuestos_nacionales = Convert.ToDouble(Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text);
                else
                    r.importe_total_impuestos_nacionales = 0;
            }
            //Marcar si están informados
            if (!Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text.Equals(""))
            {
                r.importe_total_impuestos_nacionalesSpecified = true;
            }
            else
            {
                r.importe_total_impuestos_nacionalesSpecified = false;
            }
		}
Ejemplo n.º 15
0
		private void RegistrarActividad(FeaEntidades.InterFacturas.lote_comprobantes lote, System.Text.StringBuilder sb, System.Net.Mail.SmtpClient smtpClient, string smtpXAmb, System.IO.MemoryStream m)
		{
            ////Registro cantidad de comprobantes
            //if (((Entidades.Sesion)Session["Sesion"]).Cuenta.Id != null)
            //{
            //    CedWebRN.Cuenta.RegistrarComprobante(((CedWebEntidades.Sesion)Session["Sesion"]).Cuenta, (CedEntidades.Sesion)Session["Sesion"]);
            //}

            //if (((CedWebEntidades.Sesion)Session["Sesion"]).Flag.ModoDepuracion)
            //{
            //    //ModoDepuracion encendido
            //    System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath(@"~/Temp/" + sb.ToString()), System.IO.FileMode.Create);
            //    m.WriteTo(fs);
            //    fs.Close();
            //}
		}
Ejemplo n.º 16
0
		private void GenerarImportesMonedaLocal(FeaEntidades.InterFacturas.resumen r)
		{
			GenerarImporteTotalNetoGravado(r);
			GenerarImporteTotalConceptoNoGravado(r);
			GenerarImporteOperacionesExentas(r);
			GenerarImpuestoLiq(r);
			GenerarImpuestoLiqRNI(r);
			GenerarImporteTotalImpuestosNacionales(r);
            GenerarImporteTotalIngresosBrutos(r);
            GenerarImporteTotalImpuestosMunicipales(r);
            GenerarImporteTotalImpuestosInternos(r);
            
			r.importe_total_factura = Convert.ToDouble(Importe_Total_Factura_ResumenTextBox.Text);
		}
Ejemplo n.º 17
0
		private void GenerarImporteTotalNetoGravado(FeaEntidades.InterFacturas.resumen r)
		{
            if (IdNaturalezaComprobanteTextBox.Text != "Compra")
            {
                int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
                try
                {
                    if (Funciones.SessionTimeOut(Session))
                    {
                        Response.Redirect("~/SessionTimeout.aspx");
                    }
                    else
                    {
                        string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                        {
                            return pv.Nro == auxPV;
                        }).IdTipoPuntoVta;
                        if (idtipo.Equals("Exportacion") && !Importe_Total_Neto_Gravado_ResumenTextBox.Text.Equals("0"))
                        {
                            throw new Exception("El importe total neto gravado debe informarse en 0 para exportación.");
                        }
                        else
                        {
                            r.importe_total_neto_gravado = Convert.ToDouble(Importe_Total_Neto_Gravado_ResumenTextBox.Text);
                        }
                    }
                }
                catch (System.NullReferenceException)
                {
                    r.importe_total_neto_gravado = Convert.ToDouble(Importe_Total_Neto_Gravado_ResumenTextBox.Text);
                }
            }
            else
            {
                r.importe_total_neto_gravado = Convert.ToDouble(Importe_Total_Neto_Gravado_ResumenTextBox.Text);
            }
		}
Ejemplo n.º 18
0
		private void GenerarImporteTotalConceptoNoGravadoExtranjera(FeaEntidades.InterFacturas.resumen r, double tipodecambio, FeaEntidades.InterFacturas.resumenImportes_moneda_origen rimo)
		{
            if (IdNaturalezaComprobanteTextBox.Text != "Compra")
            {
                //para exportación se debe informar en 0
                int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
                try
                {
                    if (Funciones.SessionTimeOut(Session))
                    {
                        Response.Redirect("~/SessionTimeout.aspx");
                    }
                    else
                    {
                        string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                        {
                            return pv.Nro == auxPV;
                        }).IdTipoPuntoVta;
                        if (idtipo.Equals("Exportacion") && !Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text.Equals("0"))
                        {
                            throw new Exception("El importe total de conceptos que no integren el precio neto gravado debe informarse en 0 para exportación.");
                        }
                        else
                        {
                            if (idtipo.Equals("Exportacion"))
                            {
                                r.importe_total_concepto_no_gravado = 0;
                                rimo.importe_total_concepto_no_gravado = Convert.ToDouble(Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text);
                            }
                            else
                            {
                                r.importe_total_concepto_no_gravado = Math.Round(Convert.ToDouble(Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text) * tipodecambio, 2);
                                rimo.importe_total_concepto_no_gravado = Convert.ToDouble(Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text);
                            }
                        }
                    }
                }
                catch (System.NullReferenceException)
                {
                    r.importe_total_concepto_no_gravado = Math.Round(Convert.ToDouble(Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text) * tipodecambio, 2);
                    rimo.importe_total_concepto_no_gravado = Convert.ToDouble(Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text);
                }
            }
            else
            {
                r.importe_total_concepto_no_gravado = Math.Round(Convert.ToDouble(Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text) * tipodecambio, 2);
                rimo.importe_total_concepto_no_gravado = Convert.ToDouble(Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text);
            }
		}
Ejemplo n.º 19
0
		private void GenerarImporteTotalIngresosBrutosMonedaExtranjera(FeaEntidades.InterFacturas.resumen r, double tipodecambio, FeaEntidades.InterFacturas.resumenImportes_moneda_origen rimo)
		{
            if (IdNaturalezaComprobanteTextBox.Text != "Compra")
            {
                //para exportación se debe informar en 0
                int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
                try
                {
                    if (Funciones.SessionTimeOut(Session))
                    {
                        Response.Redirect("~/SessionTimeout.aspx");
                    }
                    else
                    {
                        string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                        {
                            return pv.Nro == auxPV;
                        }).IdTipoPuntoVta;
                        if (idtipo.Equals("Exportacion") && !(Importe_Total_Ingresos_Brutos_ResumenTextBox.Text.Equals("0") || Importe_Total_Ingresos_Brutos_ResumenTextBox.Text.Equals("")))
                        {
                            throw new Exception("El importe total de ingresos brutos debe informarse en 0 para exportación.");
                        }
                        else
                        {
                            if (idtipo.Equals("Exportacion"))
                            {
                                r.importe_total_ingresos_brutos = 0;
                                rimo.importe_total_ingresos_brutos = 0;
                            }
                            else
                            {
                                if (!Importe_Total_Ingresos_Brutos_ResumenTextBox.Text.Equals(""))
                                {
                                    r.importe_total_ingresos_brutos = Math.Round(Convert.ToDouble(Importe_Total_Ingresos_Brutos_ResumenTextBox.Text) * tipodecambio, 2);
                                    rimo.importe_total_ingresos_brutos = Convert.ToDouble(Importe_Total_Ingresos_Brutos_ResumenTextBox.Text);
                                }
                                else
                                {
                                    r.importe_total_ingresos_brutos = 0;
                                    rimo.importe_total_ingresos_brutos = 0;
                                }
                            }
                        }
                    }
                }
                catch (System.NullReferenceException)
                {
                    r.importe_total_ingresos_brutos = Math.Round(Convert.ToDouble(Importe_Total_Ingresos_Brutos_ResumenTextBox.Text) * tipodecambio, 2);
                    rimo.importe_total_ingresos_brutos = Convert.ToDouble(Importe_Total_Ingresos_Brutos_ResumenTextBox.Text);
                }
            }
            else
            {
                r.importe_total_ingresos_brutos = Math.Round(Convert.ToDouble(Importe_Total_Ingresos_Brutos_ResumenTextBox.Text) * tipodecambio, 2);
                rimo.importe_total_ingresos_brutos = Convert.ToDouble(Importe_Total_Ingresos_Brutos_ResumenTextBox.Text);
            }
            //Marcar si están informados
            if (!Importe_Total_Ingresos_Brutos_ResumenTextBox.Text.Equals(""))
            {
                r.importe_total_ingresos_brutosSpecified = true;
                rimo.importe_total_ingresos_brutosSpecified = true;
            }
            else
            {
                r.importe_total_ingresos_brutosSpecified = false;
                rimo.importe_total_ingresos_brutosSpecified = false;
            }
		}
Ejemplo n.º 20
0
 private void GenerarImpuestoLiqRNIExtranjera(FeaEntidades.InterFacturas.resumen r, double tipodecambio, FeaEntidades.InterFacturas.resumenImportes_moneda_origen rimo)
 {
     if (IdNaturalezaComprobanteTextBox.Text != "Compra")
     {
         //para exportación se debe informar en 0
         int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
         try
         {
             if (Funciones.SessionTimeOut(Session))
             {
                 Response.Redirect("~/SessionTimeout.aspx");
             }
             else
             {
                 string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                 {
                     return pv.Nro == auxPV;
                 }).IdTipoPuntoVta;
                 if (idtipo.Equals("Exportacion") && !Impuesto_Liq_Rni_ResumenTextBox.Text.Equals("0"))
                 {
                     throw new Exception("El Impuesto liquidado a RNI o percepción a no categorizados debe informarse en 0 para exportación.");
                 }
                 else
                 {
                     if (idtipo.Equals("Exportacion"))
                     {
                         r.impuesto_liq_rni = 0;
                         rimo.impuesto_liq_rni = Convert.ToDouble(Impuesto_Liq_Rni_ResumenTextBox.Text);
                     }
                     else
                     {
                         r.impuesto_liq_rni = Math.Round(Convert.ToDouble(Impuesto_Liq_Rni_ResumenTextBox.Text) * tipodecambio, 2);
                         rimo.impuesto_liq_rni = Convert.ToDouble(Impuesto_Liq_Rni_ResumenTextBox.Text);
                     }
                 }
             }
         }
         catch (System.NullReferenceException)
         {
             r.impuesto_liq_rni = Math.Round(Convert.ToDouble(Impuesto_Liq_Rni_ResumenTextBox.Text) * tipodecambio, 2);
             rimo.impuesto_liq_rni = Convert.ToDouble(Impuesto_Liq_Rni_ResumenTextBox.Text);
         }
     }
     else
     {
         r.impuesto_liq_rni = Math.Round(Convert.ToDouble(Impuesto_Liq_Rni_ResumenTextBox.Text) * tipodecambio, 2);
         rimo.impuesto_liq_rni = Convert.ToDouble(Impuesto_Liq_Rni_ResumenTextBox.Text);
     }
 }
Ejemplo n.º 21
0
		private void GenerarImportesMonedaExtranjera(FeaEntidades.InterFacturas.resumen r)
		{
			double tipodecambio = Convert.ToDouble(Tipo_de_cambioTextBox.Text);

			FeaEntidades.InterFacturas.resumenImportes_moneda_origen rimo = new FeaEntidades.InterFacturas.resumenImportes_moneda_origen();

			GenerarImporteTotalNetoGravadoExtranjera(r, tipodecambio, rimo);
			GenerarImporteTotalConceptoNoGravadoExtranjera(r, tipodecambio, rimo);
			GenerarImporteOperacionesExentasExtranjera(r, tipodecambio, rimo);
			GenerarImpuestoLiqExtranjera(r, tipodecambio, rimo);
			GenerarImpuestoLiqRNIExtranjera(r, tipodecambio, rimo);
            GenerarImporteTotalImpuestosNacionalesMonedaExtranjera(r, tipodecambio, rimo);
            GenerarImporteTotalIngresosBrutosMonedaExtranjera(r, tipodecambio, rimo);
            GenerarImporteTotalImpuestosMunicipalesMonedaExtranjera(r, tipodecambio, rimo);
            GenerarImporteTotalImpuestosInternosMonedaExtranjera(r, tipodecambio, rimo);

            r.importe_total_factura = Math.Round(Convert.ToDouble(Importe_Total_Factura_ResumenTextBox.Text) * tipodecambio, 2); ;
            rimo.importe_total_factura = Convert.ToDouble(Importe_Total_Factura_ResumenTextBox.Text);
            r.importes_moneda_origen = rimo;
        }
Ejemplo n.º 22
0
        private void AjustarLoteParaITF(FeaEntidades.InterFacturas.lote_comprobantes lote)
        {
            string TipoCbte = lote.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante.ToString();
            switch (TipoCbte)
            {
                case "6":
                case "7":
                case "8":
                case "9":
                case "10":
                case "40":
                case "61":
                case "64":
                    FeaEntidades.InterFacturas.detalle det = new FeaEntidades.InterFacturas.detalle();
                    det = lote.comprobante[0].detalle;
                    FeaEntidades.InterFacturas.linea[] listadelineas;
                    listadelineas = det.linea;
                    Double TipoDeCambio = lote.comprobante[0].resumen.tipo_de_cambio;

                    int auxPV;
                    auxPV = Convert.ToInt32(PuntoVtaDropDownList.SelectedValue);
                    string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                    {
                        return pv.Nro == auxPV;
                    }).IdTipoPuntoVta;

                    for (int i = 0; i < listadelineas.Length; i++)
                    {
                        if (det.linea[i] == null)
                        {
                            break;
                        }

                        double precio_unitario = det.linea[i].precio_unitario;
                        double alicuota_iva = det.linea[i].alicuota_iva;
                        double importe_iva = det.linea[i].importe_iva;
                        double importe_total_articulo = det.linea[i].importe_total_articulo;

                        //Moneda Local
                        if (lote.comprobante[0].resumen.codigo_moneda.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local))
                        {
                            det.linea[i].precio_unitarioSpecified = listadelineas[i].precio_unitarioSpecified;
                            if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo))
                            {
                                det.linea[i].precio_unitario = Math.Round(precio_unitario * (1 + alicuota_iva / 100), 3);
                            }
                            else
                            {
                                det.linea[i].precio_unitario = Math.Round(precio_unitario, 3);
                            }
                            if (idtipo.Equals("RG2904"))
                            {
                                det.linea[i].importe_total_articulo = Math.Round(importe_total_articulo, 2);
                            }
                            else
                            {
                                det.linea[i].importe_total_articulo = Math.Round(importe_total_articulo + importe_iva, 2);
                            }
                            //Borrar alicuota e importe
                            if (!idtipo.Equals("BonoFiscal"))
                            {
                                if (!idtipo.Equals("RG2904"))
                                {
                                    det.linea[i].alicuota_ivaSpecified = false;
                                    det.linea[i].alicuota_iva = 0;
                                }
                                det.linea[i].indicacion_exento_gravado = null;
                            }
                            det.linea[i].importe_ivaSpecified = false;
                            det.linea[i].importe_iva = 0;
                        }
                        else
                        {
                            //Moneda Extranjera
                            det.linea[i].precio_unitarioSpecified = listadelineas[i].precio_unitarioSpecified;
                            if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo))
                            {
                                det.linea[i].precio_unitario = Math.Round(precio_unitario * Convert.ToDouble(TipoDeCambio) * (1 + alicuota_iva / 100), 3);
                            }
                            else
                            {
                                det.linea[i].precio_unitario = Math.Round(precio_unitario * Convert.ToDouble(TipoDeCambio), 3);
                            }
                            det.linea[i].importe_total_articulo = Math.Round(((importe_total_articulo) + importe_iva) * Convert.ToDouble(TipoDeCambio), 2);
                            //Borrar alicuota e importe
                            det.linea[i].alicuota_ivaSpecified = false;
                            det.linea[i].alicuota_iva = 0;
                            det.linea[i].indicacion_exento_gravado = null;
                            det.linea[i].importe_ivaSpecified = false;
                            det.linea[i].importe_iva = 0;

                            //importes_moneda_origen
                            FeaEntidades.InterFacturas.lineaImportes_moneda_origen limo = new FeaEntidades.InterFacturas.lineaImportes_moneda_origen();
                            limo.importe_total_articuloSpecified = true;
                            limo.precio_unitarioSpecified = listadelineas[i].precio_unitarioSpecified;
                            if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo))
                            {
                                limo.precio_unitario = Math.Round(precio_unitario * (1 + alicuota_iva / 100), 3);
                            }
                            else
                            {
                                limo.precio_unitario = Math.Round(precio_unitario, 3);
                            }
                            if (idtipo.Equals("RG2904"))
                            {
                                limo.importe_total_articulo = Math.Round(importe_total_articulo, 2);
                            }
                            else
                            {
                                limo.importe_total_articulo = Math.Round(importe_total_articulo + importe_iva, 2);
                            }
                            limo.importe_ivaSpecified = false;
                            limo.importe_iva = 0;
                            det.linea[i].importes_moneda_origen = limo;
                        }
                    }
                    break;
            }
        }
Ejemplo n.º 23
0
 private void LlenarCampos(FeaEntidades.InterFacturas.lote_comprobantes lote, Entidades.ComprobanteATratar ComprobanteATratar)
 {
     LlenarCampos(lote);
     //Datos de emisión
     PeriodicidadEmisionDropDownList.SelectedValue = ComprobanteATratar.Comprobante.PeriodicidadEmision;
     IdDestinoComprobanteDropDownList.SelectedValue = ComprobanteATratar.Comprobante.IdDestinoComprobante;
     FechaProximaEmisionDatePickerWebUserControl.Text = ComprobanteATratar.Comprobante.FechaProximaEmision.ToString("yyyyMMdd");
     CantidadComprobantesAEmitirTextBox.Text = ComprobanteATratar.Comprobante.CantidadComprobantesAEmitir.ToString();
     CantidadComprobantesEmitidosTextBox.Text = ComprobanteATratar.Comprobante.CantidadComprobantesEmitidos.ToString();
     CantidadDiasFechaVtoTextBox.Text = ComprobanteATratar.Comprobante.CantidadDiasFechaVto.ToString();
     DatosEmailAvisoComprobanteContrato1.Datos = ComprobanteATratar.Comprobante.DatosEmailAvisoComprobanteContrato;
 }
Ejemplo n.º 24
0
        private void LeerXmlComprobante(out FeaEntidades.InterFacturas.lote_comprobantes lc, System.IO.MemoryStream ms)
		{
            lc = new FeaEntidades.InterFacturas.lote_comprobantes();
			ms.Seek(0, System.IO.SeekOrigin.Begin);
			FeaEntidades.InterFacturas.comprobante c = new FeaEntidades.InterFacturas.comprobante();
			System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(c.GetType());
			c = (FeaEntidades.InterFacturas.comprobante)x.Deserialize(ms);
			FeaEntidades.InterFacturas.comprobante[] cArray = new FeaEntidades.InterFacturas.comprobante[1];
			cArray[0] = c;
			lc.comprobante = cArray;
		}
Ejemplo n.º 25
0
		private void LeerXmlLote(out FeaEntidades.InterFacturas.lote_comprobantes lc, System.IO.MemoryStream ms)
		{
            lc = new FeaEntidades.InterFacturas.lote_comprobantes();
            System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(lc.GetType());
            lc = (FeaEntidades.InterFacturas.lote_comprobantes)x.Deserialize(ms);
        }
Ejemplo n.º 26
0
		private void GenerarInfoPermisosExportacion(FeaEntidades.InterFacturas.informacion_exportacion ie, FeaEntidades.InterFacturas.informacion_comprobante infcomprob)
		{
			if (infcomprob.tipo_de_comprobante.Equals(19) && ie.tipo_exportacion.Equals(1))
			{
				if (this.PermisosExpo.HayPermisos)
				{
					ie.permiso_existente = "S";
					ie.permisos = new FeaEntidades.InterFacturas.permisos[5];
					for (int i = 0; i < this.PermisosExpo.PermisosExportacion.Count; i++)
					{
						ie.permisos[i] = new FeaEntidades.InterFacturas.permisos();
						ie.permisos[i].descripcion_destino_mercaderia = this.PermisosExpo.PermisosExportacion[i].descripcion_destino_mercaderia;
						ie.permisos[i].destino_mercaderia = this.PermisosExpo.PermisosExportacion[i].destino_mercaderia;
						ie.permisos[i].id_permiso = this.PermisosExpo.PermisosExportacion[i].id_permiso;
					}
				}
				else
				{
					ie.permiso_existente = "N";
				}
			}
			else
			{
				if (this.PermisosExpo.HayPermisos)
				{
					throw new Exception("No se deben informar permisos de exportación para este tipo de comprobante");
				}
			}
		}
Ejemplo n.º 27
0
		private void LeerXmlLoteResponse(out FeaEntidades.InterFacturas.lote_comprobantes lc, System.IO.MemoryStream ms)
		{
			try
			{
                lc = new FeaEntidades.InterFacturas.lote_comprobantes();
				ms.Seek(0, System.IO.SeekOrigin.Begin);
				FeaEntidades.InterFacturas.XML.consulta_lote_comprobantes_response clr = new FeaEntidades.InterFacturas.XML.consulta_lote_comprobantes_response();
				System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(clr.GetType());
				clr = (FeaEntidades.InterFacturas.XML.consulta_lote_comprobantes_response)x.Deserialize(ms);
				lc = clr.consulta_lote_response.lote_comprobantes;
			}
			catch (Exception ex)
			{
                RN.Sesion.GrabarLogTexto(Server.MapPath("~/Consultar.txt"), "LeerFormatoLoteIBK: " + ex.Message);
                throw ex;
			}
		}
Ejemplo n.º 28
0
		private void GenerarInfoVendedor(FeaEntidades.InterFacturas.cabecera compcab)
		{
			FeaEntidades.InterFacturas.informacion_vendedor infovend = new FeaEntidades.InterFacturas.informacion_vendedor();
			if (!GLN_VendedorTextBox.Text.Equals(string.Empty))
			{
				infovend.GLN = Convert.ToInt64(GLN_VendedorTextBox.Text);
				infovend.GLNSpecified = true;
			}
			infovend.codigo_interno = Codigo_Interno_VendedorTextBox.Text;
			infovend.razon_social = Razon_Social_VendedorTextBox.Text;
			infovend.cuit = Convert.ToInt64(Cuit_VendedorTextBox.Text);
			int auxCondIVAVend = Convert.ToInt32(Condicion_IVA_VendedorDropDownList.SelectedValue);
			if (!auxCondIVAVend.Equals(0))
			{
				infovend.condicion_IVASpecified = true;
				infovend.condicion_IVA = auxCondIVAVend;
			}

			try
			{
				infovend.condicion_ingresos_brutos = Convert.ToInt32(Condicion_Ingresos_Brutos_VendedorDropDownList.SelectedValue);
				infovend.nro_ingresos_brutos = NroIBVendedorTextBox.Text;
			}
			catch
			{

			}
			finally
			{
				if (infovend.condicion_ingresos_brutos != 0)
				{
					infovend.condicion_ingresos_brutosSpecified = true;
				}
				else
				{
					infovend.nro_ingresos_brutos = null;
				}
			}
			infovend.inicio_de_actividades = InicioDeActividadesVendedorDatePickerWebUserControl.Text;
			infovend.contacto = Contacto_VendedorTextBox.Text;
			infovend.domicilio_calle = Domicilio_Calle_VendedorTextBox.Text;
			infovend.domicilio_numero = Domicilio_Numero_VendedorTextBox.Text;
			infovend.domicilio_piso = Domicilio_Piso_VendedorTextBox.Text;
			infovend.domicilio_depto = Domicilio_Depto_VendedorTextBox.Text;
			infovend.domicilio_sector = Domicilio_Sector_VendedorTextBox.Text;
			infovend.domicilio_torre = Domicilio_Torre_VendedorTextBox.Text;
			infovend.domicilio_manzana = Domicilio_Manzana_VendedorTextBox.Text;
			infovend.localidad = Localidad_VendedorTextBox.Text;
			string auxCodProvVend = Convert.ToString(Provincia_VendedorDropDownList.SelectedValue);
			if (!auxCodProvVend.Equals("0"))
			{
				infovend.provincia = auxCodProvVend;
			}
			infovend.cp = Cp_VendedorTextBox.Text;
			infovend.email = Email_VendedorTextBox.Text;
			infovend.telefono = Telefono_VendedorTextBox.Text;
			compcab.informacion_vendedor = infovend;
		}
Ejemplo n.º 29
0
		private void LlenarCampos(FeaEntidades.InterFacturas.lote_comprobantes lote)
        {
            #region Ajuste de controles
            if (IdNaturalezaComprobanteTextBox.Text.IndexOf("Venta") != -1)
            {
                try
                {
                    PuntoVtaDropDownList.SelectedValue = Convert.ToString(lote.cabecera_lote.punto_de_venta);
                }
                catch (NullReferenceException)
                {
                    PuntoVtaDropDownList.SelectedValue = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.punto_de_venta);
                }
                PuntoVtaDropDownList_SelectedIndexChanged(PuntoVtaDropDownList, new EventArgs());
            }
            else
            {
                PuntoVtaTextBox.Text = Convert.ToString(lote.cabecera_lote.punto_de_venta);
            }
            if (!lote.comprobante[0].resumen.codigo_moneda.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local))
            {
                Tipo_de_cambioLabel.Visible = true;
                Tipo_de_cambioTextBox.Visible = true;
            }
            else
            {
                Tipo_de_cambioLabel.Visible = false;
                Tipo_de_cambioTextBox.Visible = false;
                Tipo_de_cambioTextBox.Text = null;
            }
            #endregion
            #region CompletarCabecera
            try
            {
                Id_LoteTextbox.Text = Convert.ToString(lote.cabecera_lote.id_lote);
            }
            catch (NullReferenceException)
            {
            }
            if (IdNaturalezaComprobanteTextBox.Text.IndexOf("Venta") != -1)
            {
                int auxPV = Convert.ToInt32(PuntoVtaDropDownList.SelectedValue);
                ViewState["PuntoVenta"] = auxPV;
                DetalleLinea.PuntoDeVenta = Convert.ToString(auxPV);
                ImpuestosGlobales.PuntoDeVenta = Convert.ToString(auxPV);
                InfoReferencias.PuntoDeVenta = Convert.ToString(auxPV);
            }
            else
            {
                DetalleLinea.PuntoDeVenta = "";
                ImpuestosGlobales.PuntoDeVenta = "";
                InfoReferencias.PuntoDeVenta = "";
            }
            Tipo_De_ComprobanteDropDownList.SelectedIndex = Tipo_De_ComprobanteDropDownList.Items.IndexOf(Tipo_De_ComprobanteDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante)));
            #endregion
            #region CompletarComprobante
            Numero_ComprobanteTextBox.Text = Convert.ToString(Math.Abs(lote.comprobante[0].cabecera.informacion_comprobante.numero_comprobante));
            FechaEmisionDatePickerWebUserControl.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.fecha_emision);
            FechaVencimientoDatePickerWebUserControl.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.fecha_vencimiento);
            FechaServDesdeDatePickerWebUserControl.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.fecha_serv_desde);
            FechaServHastaDatePickerWebUserControl.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.fecha_serv_hasta);
            Condicion_De_PagoTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.condicion_de_pago);
            IVAcomputableDropDownList.SelectedIndex = IVAcomputableDropDownList.Items.IndexOf(IVAcomputableDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.iva_computable)));
            CodigoOperacionDropDownList.SelectedIndex = CodigoOperacionDropDownList.Items.IndexOf(CodigoOperacionDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.codigo_operacion)));
            CodigoConceptoDropDownList.SelectedIndex = CodigoConceptoDropDownList.Items.IndexOf(CodigoConceptoDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.codigo_concepto)));
            #endregion
            #region CompletarExportacion
            if (IdNaturalezaComprobanteTextBox.Text != "Compra")
            {
                if (lote.comprobante[0].cabecera.informacion_comprobante.informacion_exportacion != null)
                {
                    PaisDestinoExpDropDownList.SelectedIndex = PaisDestinoExpDropDownList.Items.IndexOf(PaisDestinoExpDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.informacion_exportacion.destino_comprobante)));
                    IncotermsDropDownList.SelectedIndex = IncotermsDropDownList.Items.IndexOf(IncotermsDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.informacion_exportacion.incoterms)));
                    TipoExpDropDownList.SelectedIndex = TipoExpDropDownList.Items.IndexOf(TipoExpDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprobante.informacion_exportacion.tipo_exportacion)));
                }
                else
                {
                    PaisDestinoExpDropDownList.SelectedIndex = -1;
                    IncotermsDropDownList.SelectedIndex = -1;
                    TipoExpDropDownList.SelectedIndex = -1;
                }
                PaisDestinoExpDropDownList_SelectedIndexChanged(PaisDestinoExpDropDownList, new EventArgs());
                if (lote.comprobante[0].extensiones != null)
                {
                    if (lote.comprobante[0].extensiones.extensiones_camara_facturas != null)
                    {
                        IdiomaDropDownList.SelectedIndex = IdiomaDropDownList.Items.IndexOf(IdiomaDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].extensiones.extensiones_camara_facturas.id_idioma)));
                    }
                    else
                    {
                        IdiomaDropDownList.SelectedIndex = -1;
                    }
                    if (lote.comprobante[0].extensiones.extensiones_datos_comerciales != null && lote.comprobante[0].extensiones.extensiones_datos_comerciales != "")
                    {
                        //Compatibilidad con archivos xml viejos. Verificar si la descripcion está en Hexa.
                        if (lote.comprobante[0].extensiones.extensiones_datos_comerciales.Substring(0, 1) == "%")
                        {
                            DatosComerciales.Texto = RN.Funciones.HexToString(lote.comprobante[0].extensiones.extensiones_datos_comerciales).Replace("<br>", System.Environment.NewLine);
                        }
                        else
                        {
                            DatosComerciales.Texto = lote.comprobante[0].extensiones.extensiones_datos_comerciales.Replace("<br>", System.Environment.NewLine);
                        }
                    }
                    else
                    {
                        DatosComerciales.Texto = string.Empty;
                    }
                }
                else
                {
                    IdiomaDropDownList.SelectedIndex = -1;
                    DatosComerciales.Texto = string.Empty;
                }
                PermisosExpo.CompletarPermisos(lote);
            }
            #endregion
            #region CompletarComprador
            if (lote.comprobante[0].cabecera.informacion_comprador.GLN != 0)
            {
                GLN_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.GLN);
            }
            Codigo_Interno_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.codigo_interno);
            if (!lote.comprobante[0].cabecera.informacion_comprador.codigo_doc_identificatorio.Equals(70) || PaisDestinoExpDropDownList.SelectedItem.Text.ToUpper().Contains("ARGENTINA"))
            {
                Nro_Doc_Identificatorio_CompradorTextBox.Visible = true;
                Nro_Doc_Identificatorio_CompradorDropDownList.Visible = false;
                Nro_Doc_Identificatorio_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.nro_doc_identificatorio);
            }
            else
            {
                Nro_Doc_Identificatorio_CompradorTextBox.Visible = false;
                Nro_Doc_Identificatorio_CompradorDropDownList.Visible = true;
                Nro_Doc_Identificatorio_CompradorDropDownList.SelectedIndex = Nro_Doc_Identificatorio_CompradorDropDownList.Items.IndexOf(Nro_Doc_Identificatorio_CompradorDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.nro_doc_identificatorio)));
            }
            Codigo_Doc_Identificatorio_CompradorDropDownList.SelectedIndex = Codigo_Doc_Identificatorio_CompradorDropDownList.Items.IndexOf(Codigo_Doc_Identificatorio_CompradorDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.codigo_doc_identificatorio)));
            Denominacion_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.denominacion);
            Domicilio_Calle_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.domicilio_calle);
            Domicilio_Numero_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.domicilio_numero);
            Domicilio_Piso_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.domicilio_piso);
            Domicilio_Depto_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.domicilio_depto);
            Domicilio_Sector_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.domicilio_sector);
            Domicilio_Torre_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.domicilio_torre);
            Domicilio_Manzana_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.domicilio_manzana);
            Localidad_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.localidad);
            Cp_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.cp);
            Contacto_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.contacto);
            Email_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.email);
            Telefono_CompradorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.telefono);
            InicioDeActividadesCompradorDatePickerWebUserControl.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.inicio_de_actividades);
            Provincia_CompradorDropDownList.SelectedIndex = Provincia_CompradorDropDownList.Items.IndexOf(Provincia_CompradorDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.provincia)));
            Condicion_IVA_CompradorDropDownList.SelectedIndex = Condicion_IVA_CompradorDropDownList.Items.IndexOf(Condicion_IVA_CompradorDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_comprador.condicion_IVA)));
            if (lote.comprobante[0].extensiones != null)
            {
                if (lote.comprobante[0].extensiones.extensiones_destinatarios != null)
                {
                    EmailAvisoVisualizacionTextBox.Text = lote.comprobante[0].extensiones.extensiones_destinatarios.email;
                }
            }
            #endregion
            #region CompletarVendedor(lote);
            if (lote.comprobante[0].cabecera.informacion_vendedor.razon_social != null)
            {
                Razon_Social_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.razon_social);
            }
            Localidad_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.localidad);
            if (lote.comprobante[0].cabecera.informacion_vendedor.GLN != 0)
            {
                GLN_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.GLN);
            }
            Email_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.email);
            Cuit_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.cuit);
            Provincia_VendedorDropDownList.SelectedIndex = Provincia_VendedorDropDownList.Items.IndexOf(Provincia_VendedorDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.provincia)));
            Condicion_IVA_VendedorDropDownList.SelectedIndex = Condicion_IVA_VendedorDropDownList.Items.IndexOf(Condicion_IVA_VendedorDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.condicion_IVA)));
            Condicion_Ingresos_Brutos_VendedorDropDownList.SelectedIndex = Condicion_Ingresos_Brutos_VendedorDropDownList.Items.IndexOf(Condicion_Ingresos_Brutos_VendedorDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.condicion_ingresos_brutos)));
            Cp_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.cp);
            Contacto_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.contacto);
            Telefono_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.telefono);
            Codigo_Interno_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.codigo_interno);
            NroIBVendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.nro_ingresos_brutos);
            InicioDeActividadesVendedorDatePickerWebUserControl.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.inicio_de_actividades);
            Domicilio_Calle_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.domicilio_calle);
            Domicilio_Numero_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.domicilio_numero);
            Domicilio_Piso_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.domicilio_piso);
            Domicilio_Depto_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.domicilio_depto);
            Domicilio_Sector_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.domicilio_sector);
            Domicilio_Torre_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.domicilio_torre);
            Domicilio_Manzana_VendedorTextBox.Text = Convert.ToString(lote.comprobante[0].cabecera.informacion_vendedor.domicilio_manzana);
            #endregion
            DetalleLinea.CompletarDetalles(lote);
			DescuentosGlobales.Completar(lote);
            InfoReferencias.CompletarReferencias(lote);
			ImpuestosGlobales.Completar(lote);
			ComentariosTextBox.Text = lote.comprobante[0].detalle.comentarios;
            #region CompletarResumen
            MonedaComprobanteDropDownList.SelectedIndex = MonedaComprobanteDropDownList.Items.IndexOf(MonedaComprobanteDropDownList.Items.FindByValue(Convert.ToString(lote.comprobante[0].resumen.codigo_moneda)));
            Tipo_de_cambioTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.tipo_de_cambio);
            if (lote.comprobante[0].resumen.codigo_moneda.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local))
            {
                Importe_Total_Neto_Gravado_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importe_total_neto_gravado);
                Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importe_total_concepto_no_gravado);
                Importe_Operaciones_Exentas_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importe_operaciones_exentas);
                Impuesto_Liq_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.impuesto_liq);
                Impuesto_Liq_Rni_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.impuesto_liq_rni);
                Importe_Total_Factura_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importe_total_factura);
                if (lote.comprobante[0].resumen.importe_total_impuestos_nacionalesSpecified.Equals(true))
                {
                    Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importe_total_impuestos_nacionales);
                }
                else
                {
                    Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text = string.Empty;
                }
                if (lote.comprobante[0].resumen.importe_total_impuestos_municipalesSpecified.Equals(true))
                {
                    Importe_Total_Impuestos_Municipales_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importe_total_impuestos_municipales);
                }
                else
                {
                    Importe_Total_Impuestos_Municipales_ResumenTextBox.Text = string.Empty;
                }
                if (lote.comprobante[0].resumen.importe_total_impuestos_internosSpecified.Equals(true))
                {
                    Importe_Total_Impuestos_Internos_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importe_total_impuestos_internos);
                }
                else
                {
                    Importe_Total_Impuestos_Internos_ResumenTextBox.Text = string.Empty;
                }
                if (lote.comprobante[0].resumen.importe_total_ingresos_brutosSpecified.Equals(true))
                {
                    Importe_Total_Ingresos_Brutos_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importe_total_ingresos_brutos);
                }
                else
                {
                    Importe_Total_Ingresos_Brutos_ResumenTextBox.Text = string.Empty;
                }
            }
            else
            {
                Importe_Total_Neto_Gravado_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.importe_total_neto_gravado);
                Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.importe_total_concepto_no_gravado);
                Importe_Operaciones_Exentas_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.importe_operaciones_exentas);
                Impuesto_Liq_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.impuesto_liq);
                Impuesto_Liq_Rni_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.impuesto_liq_rni);
                Importe_Total_Factura_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.importe_total_factura);
                if (lote.comprobante[0].resumen.importes_moneda_origen.importe_total_impuestos_nacionalesSpecified.Equals(true))
                {
                    Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.importe_total_impuestos_nacionales);
                }
                else
                {
                    Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text = string.Empty;
                }
                if (lote.comprobante[0].resumen.importes_moneda_origen.importe_total_impuestos_municipalesSpecified.Equals(true))
                {
                    Importe_Total_Impuestos_Municipales_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.importe_total_impuestos_municipales);
                }
                else
                {
                    Importe_Total_Impuestos_Municipales_ResumenTextBox.Text = string.Empty;
                }
                if (lote.comprobante[0].resumen.importes_moneda_origen.importe_total_impuestos_internosSpecified.Equals(true))
                {
                    Importe_Total_Impuestos_Internos_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.importe_total_impuestos_internos);
                }
                else
                {
                    Importe_Total_Impuestos_Internos_ResumenTextBox.Text = string.Empty;
                }
                if (lote.comprobante[0].resumen.importes_moneda_origen.importe_total_ingresos_brutosSpecified.Equals(true))
                {
                    Importe_Total_Ingresos_Brutos_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.importes_moneda_origen.importe_total_ingresos_brutos);
                }
                else
                {
                    Importe_Total_Ingresos_Brutos_ResumenTextBox.Text = string.Empty;
                }
            }
            #endregion
            Observaciones_ResumenTextBox.Text = Convert.ToString(lote.comprobante[0].resumen.observaciones);
            #region CompletarCAE
            CAETextBox.Text = lote.comprobante[0].cabecera.informacion_comprobante.cae;
            FechaCAEObtencionDatePickerWebUserControl.Text = lote.comprobante[0].cabecera.informacion_comprobante.fecha_obtencion_cae;
            FechaCAEVencimientoDatePickerWebUserControl.Text = lote.comprobante[0].cabecera.informacion_comprobante.fecha_vencimiento_cae;
            //ResultadoTextBox.Text = lote.comprobante[0].cabecera.informacion_comprobante.resultado;
            //MotivoTextBox.Text = lote.comprobante[0].cabecera.informacion_comprobante.motivo;
            #endregion
            BindearDropDownLists();
		}
Ejemplo n.º 30
0
        private void GenerarInfoComprador(FeaEntidades.InterFacturas.cabecera compcab, FeaEntidades.InterFacturas.informacion_comprador infcompra)
        {
            if (!GLN_CompradorTextBox.Text.Equals(string.Empty))
            {
                infcompra.GLN = Convert.ToInt64(GLN_CompradorTextBox.Text);
                infcompra.GLNSpecified = true;
            }
            infcompra.codigo_interno = Codigo_Interno_CompradorTextBox.Text;
            try
            {
                infcompra.codigo_doc_identificatorio = Convert.ToInt32(Codigo_Doc_Identificatorio_CompradorDropDownList.SelectedValue);
            }
            catch (FormatException)
            {
                throw new Exception("Tipo de documento del comprador no informado");
            }

            if (Codigo_Doc_Identificatorio_CompradorDropDownList.SelectedValue != new FeaEntidades.Documentos.CUITPais().Codigo.ToString())
            {
                try
                {
                    //Para comprobantes B y C, cuando no se informa un número de documento, se envía en el codigo_doc_identificatorio el valor 99.
                    string tdc = "/6/7/8/9/11/12/13/15/";
                    if (tdc.IndexOf("/" + Tipo_De_ComprobanteDropDownList.SelectedValue + "/") != -1 && (Nro_Doc_Identificatorio_CompradorTextBox.Text == "" || Nro_Doc_Identificatorio_CompradorTextBox.Text == "0"))
                    {
                        infcompra.codigo_doc_identificatorio = Convert.ToInt32("99");
                        infcompra.nro_doc_identificatorio = Convert.ToInt64("0");
                    }
                    else
                    {
                        infcompra.nro_doc_identificatorio = Convert.ToInt64(Nro_Doc_Identificatorio_CompradorTextBox.Text);
                    }
                }
                catch (FormatException)
                {
                    throw new Exception("Nro documento del comprador no informado");
                }
            }
            else
            {
                try
                {
                    infcompra.nro_doc_identificatorio = Convert.ToInt64(Nro_Doc_Identificatorio_CompradorDropDownList.SelectedValue);
                }
                catch (FormatException)
                {
                    throw new Exception("Nro documento del comprador para exportación no informado");
                }
            }
            infcompra.denominacion = Denominacion_CompradorTextBox.Text;
            int auxCondIVACompra = Convert.ToInt32(Condicion_IVA_CompradorDropDownList.SelectedValue);
            if (!auxCondIVACompra.Equals(0))
            {
                infcompra.condicion_IVASpecified = true;
                infcompra.condicion_IVA = auxCondIVACompra;
            }
            //infcompra.condicion_ingresos_brutosSpecified = true;
            //infcompra.condicion_ingresos_brutos = Convert.ToInt32(Condicion_Ingresos_Brutos_CompradorDropDownList.SelectedValue);
            //infcompra.nro_ingresos_brutos
            infcompra.inicio_de_actividades = InicioDeActividadesCompradorDatePickerWebUserControl.Text;
            infcompra.contacto = Contacto_CompradorTextBox.Text;

            //obligatorio para exportación
            if (Domicilio_Calle_CompradorTextBox.Text.Equals(string.Empty))
            {
                if (IdNaturalezaComprobanteTextBox.Text != "Compra")
                {
                    int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
                    try
                    {
                        if (Funciones.SessionTimeOut(Session))
                        {
                            Response.Redirect("~/SessionTimeout.aspx");
                        }
                        else
                        {
                            string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                            {
                                return pv.Nro == auxPV;
                            }).IdTipoPuntoVta;
                            if (idtipo.Equals("Exportacion"))
                            {
                                Domicilio_Calle_CompradorTextBox.Focus();
                                throw new Exception("La calle del domicilio del comprador es obligatoria para exportación");
                            }
                            else
                            {
                                infcompra.domicilio_calle = string.Empty;
                            }
                        }
                    }
                    catch (System.NullReferenceException)
                    {
                        infcompra.domicilio_calle = string.Empty;
                    }
                }
                else
                {
                    infcompra.domicilio_calle = string.Empty;
                }
            }
            else
            {
                infcompra.domicilio_calle = Domicilio_Calle_CompradorTextBox.Text;
            }
            //obligatorio para exportación
            if (Domicilio_Numero_CompradorTextBox.Text.Equals(string.Empty))
            {
                if (IdNaturalezaComprobanteTextBox.Text != "Compra")
                {
                    int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
                    try
                    {
                        if (Funciones.SessionTimeOut(Session))
                        {
                            Response.Redirect("~/SessionTimeout.aspx");
                        }
                        else
                        {
                            string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                            {
                                return pv.Nro == auxPV;
                            }).IdTipoPuntoVta;
                            if (idtipo.Equals("Exportacion"))
                            {
                                Domicilio_Numero_CompradorTextBox.Focus();
                                throw new Exception("El número de la calle del domicilio del comprador es obligatorio para exportación");
                            }
                            else
                            {
                                infcompra.domicilio_numero = string.Empty;
                            }
                        }
                    }
                    catch (System.NullReferenceException)
                    {
                        infcompra.domicilio_numero = string.Empty;
                    }
                }
                else
                {
                    infcompra.domicilio_numero = string.Empty;
                }
            }
            else
            {
                infcompra.domicilio_numero = Domicilio_Numero_CompradorTextBox.Text;
            }
            infcompra.domicilio_piso = Domicilio_Piso_CompradorTextBox.Text;
            infcompra.domicilio_depto = Domicilio_Depto_CompradorTextBox.Text;
            infcompra.domicilio_sector = Domicilio_Sector_CompradorTextBox.Text;
            infcompra.domicilio_torre = Domicilio_Torre_CompradorTextBox.Text;
            infcompra.domicilio_manzana = Domicilio_Manzana_CompradorTextBox.Text;
            infcompra.localidad = Localidad_CompradorTextBox.Text;
            string auxCodProvCompra = Convert.ToString(Provincia_CompradorDropDownList.SelectedValue);
            //No se tiene que informar para exportación
            if (!auxCodProvCompra.Equals("0"))
            {
                if (IdNaturalezaComprobanteTextBox.Text != "Compra")
                {
                    int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
                    try
                    {
                        if (Funciones.SessionTimeOut(Session))
                        {
                            Response.Redirect("~/SessionTimeout.aspx");
                        }
                        else
                        {
                            string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                            {
                                return pv.Nro == auxPV;
                            }).IdTipoPuntoVta;
                            if (idtipo.Equals("Exportacion"))
                            {
                                if (!PaisDestinoExpDropDownList.SelectedItem.Text.ToUpper().Contains("ARGENTINA"))
                                {
                                    Provincia_CompradorDropDownList.Focus();
                                    throw new Exception("La provincia del domicilio del comprador no se debe informar para exportación");
                                }
                                else
                                {
                                    infcompra.provincia = auxCodProvCompra;
                                }
                            }
                            else
                            {
                                infcompra.provincia = auxCodProvCompra;
                            }
                        }
                    }
                    catch (System.NullReferenceException)
                    {
                        infcompra.provincia = auxCodProvCompra;
                    }
                }
                else
                {
                    infcompra.provincia = auxCodProvCompra;
                }
            }
            infcompra.cp = Cp_CompradorTextBox.Text;
            infcompra.email = Email_CompradorTextBox.Text;
            infcompra.telefono = Telefono_CompradorTextBox.Text;

            compcab.informacion_comprador = infcompra;
        }