Ejemplo n.º 1
0
 public void GenerarImpuestos(FeaEntidades.InterFacturas.comprobante comp, string monedaComprobante, string tipoDeCambio)
 {
     System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos> listadeimpuestos = ((System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenImpuestos>)ViewState["impuestos"]);
     comp.resumen.impuestos = new FeaEntidades.InterFacturas.resumenImpuestos[listadeimpuestos.Count];
     for (int i = 0; i < listadeimpuestos.Count; i++)
     {
         if (!listadeimpuestos[i].codigo_impuesto.Equals(0))
         {
             comp.resumen.impuestos[i] = new FeaEntidades.InterFacturas.resumenImpuestos();
             comp.resumen.impuestos[i].codigo_impuesto              = listadeimpuestos[i].codigo_impuesto;
             comp.resumen.impuestos[i].codigo_jurisdiccion          = listadeimpuestos[i].codigo_jurisdiccion;
             comp.resumen.impuestos[i].codigo_jurisdiccionSpecified = listadeimpuestos[i].codigo_jurisdiccionSpecified;
             comp.resumen.impuestos[i].descripcion                  = listadeimpuestos[i].descripcion;
             comp.resumen.impuestos[i].porcentaje_impuesto          = listadeimpuestos[i].porcentaje_impuesto;
             comp.resumen.impuestos[i].porcentaje_impuestoSpecified = listadeimpuestos[i].porcentaje_impuestoSpecified;
             if (monedaComprobante.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local))
             {
                 comp.resumen.impuestos[i].importe_impuesto = listadeimpuestos[i].importe_impuesto;
             }
             else
             {
                 comp.resumen.impuestos[i].importe_impuesto = Math.Round(listadeimpuestos[i].importe_impuesto * Convert.ToDouble(tipoDeCambio), 2);
                 comp.resumen.impuestos[i].importe_impuesto_moneda_origen          = listadeimpuestos[i].importe_impuesto;
                 comp.resumen.impuestos[i].importe_impuesto_moneda_origenSpecified = true;
             }
         }
     }
 }
Ejemplo n.º 2
0
        private void LeerFormatoDetalleIBK(EventArgs e, FeaEntidades.InterFacturas.lote_comprobantes lc, System.IO.MemoryStream ms)
        {
            //Formato detalle_factura IBK
            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;
            Session["ComprobanteAConsultar"] = lc;

            Entidades.Comprobante comprobante = new Entidades.Comprobante();
            string XML = "";

            RN.Comprobante.SerializarLc(out XML, lc);
            comprobante.Request           = XML;
            Session["ComprobanteATratar"] = new Entidades.ComprobanteATratar(Entidades.Enum.TratamientoComprobante.Consulta, comprobante);
            string script = "window.open('/ComprobanteConsulta.aspx', '');";

            ScriptManager.RegisterStartupScript(this, typeof(Page), "popup", script, true);
        }
Ejemplo n.º 3
0
        public void GenerarResumen(FeaEntidades.InterFacturas.comprobante comp, string monedaComprobante, string tipoDeCambio)
        {
            System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenDescuentos> listadedescuentos = (System.Collections.Generic.List <FeaEntidades.InterFacturas.resumenDescuentos>)ViewState["descuentos"];
            comp.resumen.descuentos = new FeaEntidades.InterFacturas.resumenDescuentos[listadedescuentos.Count];
            for (int i = 0; i < listadedescuentos.Count; i++)
            {
                if (listadedescuentos[i].descripcion_descuento != null && !listadedescuentos[i].descripcion_descuento.Equals(string.Empty))
                {
                    comp.resumen.descuentos[i] = new FeaEntidades.InterFacturas.resumenDescuentos();
                    comp.resumen.descuentos[i].alicuota_iva_descuento              = listadedescuentos[i].alicuota_iva_descuento;
                    comp.resumen.descuentos[i].alicuota_iva_descuentoSpecified     = listadedescuentos[i].alicuota_iva_descuentoSpecified;
                    comp.resumen.descuentos[i].descripcion_descuento               = listadedescuentos[i].descripcion_descuento;
                    comp.resumen.descuentos[i].importe_iva_descuento               = listadedescuentos[i].importe_iva_descuento;
                    comp.resumen.descuentos[i].importe_iva_descuentoSpecified      = listadedescuentos[i].importe_iva_descuentoSpecified;
                    comp.resumen.descuentos[i].porcentaje_descuento                = listadedescuentos[i].porcentaje_descuento;
                    comp.resumen.descuentos[i].porcentaje_descuentoSpecified       = listadedescuentos[i].porcentaje_descuentoSpecified;
                    comp.resumen.descuentos[i].indicacion_exento_gravado_descuento = listadedescuentos[i].indicacion_exento_gravado_descuento;

                    if (monedaComprobante.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local))
                    {
                        comp.resumen.descuentos[i].importe_descuento = listadedescuentos[i].importe_descuento;
                    }
                    else
                    {
                        comp.resumen.descuentos[i].importe_descuento = Math.Round(listadedescuentos[i].importe_descuento * Convert.ToDouble(tipoDeCambio), 2);
                        comp.resumen.descuentos[i].importe_descuento_moneda_origen          = listadedescuentos[i].importe_descuento;
                        comp.resumen.descuentos[i].importe_descuento_moneda_origenSpecified = true;
                        if (!comp.resumen.descuentos[i].importe_iva_descuento.Equals(0))
                        {
                            comp.resumen.descuentos[i].importe_iva_descuento = Math.Round(listadedescuentos[i].importe_iva_descuento * Convert.ToDouble(tipoDeCambio), 2);
                            comp.resumen.descuentos[i].importe_iva_descuento_moneda_origen          = listadedescuentos[i].importe_iva_descuento;
                            comp.resumen.descuentos[i].importe_iva_descuento_moneda_origenSpecified = true;
                        }
                    }
                }
            }
        }
Ejemplo n.º 4
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.º 5
0
        private FeaEntidades.InterFacturas.lote_comprobantes GenerarLote(bool EsParaImprimirPDF)
        {
            FeaEntidades.InterFacturas.lote_comprobantes lote = new FeaEntidades.InterFacturas.lote_comprobantes();
            FeaEntidades.InterFacturas.comprobante comp = new FeaEntidades.InterFacturas.comprobante();
            FeaEntidades.InterFacturas.cabecera_lote cab = new FeaEntidades.InterFacturas.cabecera_lote();
            cab.cantidad_reg = 1;
            cab.cuit_canal = Convert.ToInt64(Entidades.Const.CuitInterfacturas);
            cab.cuit_vendedor = Convert.ToInt64(Cuit_VendedorTextBox.Text);
            cab.id_lote = Convert.ToInt64(Id_LoteTextbox.Text);

            GenerarPrestaServicio(cab);

            if (IdNaturalezaComprobanteTextBox.Text != "Compra")
            {
                cab.punto_de_venta = Convert.ToInt32(PuntoVtaDropDownList.SelectedValue);
            }
            else
            {
                cab.punto_de_venta = Convert.ToInt32(PuntoVtaTextBox.Text);
            }
            lote.cabecera_lote = cab;

            FeaEntidades.InterFacturas.cabecera compcab = new FeaEntidades.InterFacturas.cabecera();

            FeaEntidades.InterFacturas.informacion_comprador infcompra = new FeaEntidades.InterFacturas.informacion_comprador();

            if (!MonedaComprobanteDropDownList.SelectedValue.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;
            }

            GenerarInfoComprador(compcab, infcompra);
            FeaEntidades.InterFacturas.informacion_comprobante infcomprob = GenerarInfoComprobante();
            GenerarReferencias(infcomprob);
            GenerarInfoExportacion(comp, infcomprob);
            GenerarInfoExtensionesComerciales(comp);
            GenerarInfoExtensionesCamaraFacturas(comp);
            GenerarInfoExtensionesDestinatarios(comp);
            compcab.informacion_comprobante = infcomprob;
            GenerarInfoVendedor(compcab);
            comp.cabecera = compcab;

            string idtipo = "Comun";
            if (IdNaturalezaComprobanteTextBox.Text != "Compra")
            {
                int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
                try
                {
                    if (Funciones.SessionTimeOut(Session))
                    {
                        Response.Redirect("~/SessionTimeout.aspx");
                    }
                    else
                    {
                        idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                        {
                            return pv.Nro == auxPV;
                        }).IdTipoPuntoVta;
                    }
                }
                catch (NullReferenceException)
                {
                }
            }
            FeaEntidades.InterFacturas.detalle det = DetalleLinea.GenerarDetalles(MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text, idtipo, Tipo_De_ComprobanteDropDownList.SelectedValue, EsParaImprimirPDF);

            det.comentarios = ComentariosTextBox.Text;
            comp.detalle = det;

            FeaEntidades.InterFacturas.resumen r = new FeaEntidades.InterFacturas.resumen();
            if (Tipo_de_cambioTextBox.Text != string.Empty)
            {
                r.tipo_de_cambio = Convert.ToDouble(Tipo_de_cambioTextBox.Text);
            }
            else
            {
                r.tipo_de_cambio = 1;
            }
            r.codigo_moneda = MonedaComprobanteDropDownList.SelectedValue;

            if (MonedaComprobanteDropDownList.SelectedValue.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local))
            {
                //Moneda local
                GenerarImportesMonedaLocal(r);
            }
            else
            {
                //Moneda extranjera
                GenerarImportesMonedaExtranjera(r);
            }

            r.observaciones = Observaciones_ResumenTextBox.Text;
            comp.resumen = r;
            System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos> listadeimpuestos = ImpuestosGlobales.Lista;
            if (IdNaturalezaComprobanteTextBox.Text != "Compra")
            {
                int auxPV = Convert.ToInt32(((DropDownList)PuntoVtaDropDownList).SelectedValue);
                try
                {
                    if (Funciones.SessionTimeOut(Session))
                    {
                        Response.Redirect("~/SessionTimeout.aspx");
                    }
                    else
                    {
                        idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv)
                        {
                            return pv.Nro == auxPV;
                        }).IdTipoPuntoVta;
                        if (idtipo.Equals("Exportacion"))
                        {
                            if (listadeimpuestos[0].importe_impuesto != 0 || listadeimpuestos.Count > 1)
                            {
                                ImpuestosGlobales.Focus();
                                throw new Exception("Los impuestos globales no se deben informar para exportación");
                            }
                        }
                        else
                        {
                            ImpuestosGlobales.GenerarImpuestos(comp, MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text);
                        }
                    }
                }
                catch (System.NullReferenceException)
                {
                    ImpuestosGlobales.GenerarImpuestos(comp, MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text);
                }
            }
            else
            {
                ImpuestosGlobales.GenerarImpuestos(comp, MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text);
            }
            DescuentosGlobales.GenerarResumen(comp, MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text);
            lote.comprobante[0] = comp;
            return lote;
        }
Ejemplo n.º 6
0
        public static FeaEntidades.InterFacturas.lote_comprobantes Ws2Fea(org.dyndns.cedweb.consulta.ConsultarResult lcIBK)
        {
            FeaEntidades.InterFacturas.lote_comprobantes lcFEA = new FeaEntidades.InterFacturas.lote_comprobantes();

            lcFEA.cabecera_lote = new FeaEntidades.InterFacturas.cabecera_lote();
            lcFEA.cabecera_lote.cantidad_reg = lcIBK.cabecera_lote.cantidad_reg;
            lcFEA.cabecera_lote.cod_interno_canal = lcIBK.cabecera_lote.cod_interno_canal;
            lcFEA.cabecera_lote.cuit_canal = lcIBK.cabecera_lote.cuit_canal;
            lcFEA.cabecera_lote.cuit_vendedor = lcIBK.cabecera_lote.cuit_vendedor;
            lcFEA.cabecera_lote.fecha_envio_lote = lcIBK.cabecera_lote.fecha_envio_lote;
            lcFEA.cabecera_lote.id_lote = lcIBK.cabecera_lote.id_lote;
            lcFEA.cabecera_lote.motivo = lcIBK.cabecera_lote.motivo;
            lcFEA.cabecera_lote.presta_serv = lcIBK.cabecera_lote.presta_serv;
            lcFEA.cabecera_lote.presta_servSpecified = lcIBK.cabecera_lote.presta_servSpecified;
            lcFEA.cabecera_lote.punto_de_venta = lcIBK.cabecera_lote.punto_de_venta;
            lcFEA.cabecera_lote.resultado = lcIBK.cabecera_lote.resultado;

            lcFEA.comprobante = new FeaEntidades.InterFacturas.comprobante[lcIBK.comprobante.Length];

            for (int i = 0; i < lcIBK.comprobante.Length; i++)
            {
                FeaEntidades.InterFacturas.comprobante cIBK = new FeaEntidades.InterFacturas.comprobante();

                cIBK.cabecera = new FeaEntidades.InterFacturas.cabecera();

                //Comprador
                cIBK.cabecera.informacion_comprador = new FeaEntidades.InterFacturas.informacion_comprador();
                cIBK.cabecera.informacion_comprador.codigo_doc_identificatorio = lcIBK.comprobante[i].cabecera.informacion_comprador.codigo_doc_identificatorio;
                cIBK.cabecera.informacion_comprador.codigo_interno = lcIBK.comprobante[i].cabecera.informacion_comprador.codigo_interno;
                cIBK.cabecera.informacion_comprador.condicion_ingresos_brutos = lcIBK.comprobante[i].cabecera.informacion_comprador.condicion_ingresos_brutos;
                cIBK.cabecera.informacion_comprador.condicion_ingresos_brutosSpecified = lcIBK.comprobante[i].cabecera.informacion_comprador.condicion_ingresos_brutosSpecified;
                cIBK.cabecera.informacion_comprador.condicion_IVA = lcIBK.comprobante[i].cabecera.informacion_comprador.condicion_IVA;
                cIBK.cabecera.informacion_comprador.condicion_IVASpecified = lcIBK.comprobante[i].cabecera.informacion_comprador.condicion_IVASpecified;
                cIBK.cabecera.informacion_comprador.contacto = lcIBK.comprobante[i].cabecera.informacion_comprador.contacto;
                cIBK.cabecera.informacion_comprador.cp = lcIBK.comprobante[i].cabecera.informacion_comprador.cp;
                cIBK.cabecera.informacion_comprador.denominacion = lcIBK.comprobante[i].cabecera.informacion_comprador.denominacion;
                cIBK.cabecera.informacion_comprador.domicilio_calle = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_calle;
                cIBK.cabecera.informacion_comprador.domicilio_depto = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_depto;
                cIBK.cabecera.informacion_comprador.domicilio_manzana = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_manzana;
                cIBK.cabecera.informacion_comprador.domicilio_numero = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_numero;
                cIBK.cabecera.informacion_comprador.domicilio_piso = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_piso;
                cIBK.cabecera.informacion_comprador.domicilio_sector = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_sector;
                cIBK.cabecera.informacion_comprador.domicilio_torre = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_torre;
                cIBK.cabecera.informacion_comprador.email = lcIBK.comprobante[i].cabecera.informacion_comprador.email;
                cIBK.cabecera.informacion_comprador.GLN = lcIBK.comprobante[i].cabecera.informacion_comprador.GLN;
                cIBK.cabecera.informacion_comprador.GLNSpecified = lcIBK.comprobante[i].cabecera.informacion_comprador.GLNSpecified;
                cIBK.cabecera.informacion_comprador.inicio_de_actividades = lcIBK.comprobante[i].cabecera.informacion_comprador.inicio_de_actividades;
                cIBK.cabecera.informacion_comprador.localidad = lcIBK.comprobante[i].cabecera.informacion_comprador.localidad;
                cIBK.cabecera.informacion_comprador.nro_doc_identificatorio = lcIBK.comprobante[i].cabecera.informacion_comprador.nro_doc_identificatorio;
                cIBK.cabecera.informacion_comprador.nro_ingresos_brutos = lcIBK.comprobante[i].cabecera.informacion_comprador.nro_ingresos_brutos;
                cIBK.cabecera.informacion_comprador.provincia = lcIBK.comprobante[i].cabecera.informacion_comprador.provincia;
                cIBK.cabecera.informacion_comprador.telefono = lcIBK.comprobante[i].cabecera.informacion_comprador.telefono;

                //Info Comprobante
                cIBK.cabecera.informacion_comprobante = new FeaEntidades.InterFacturas.informacion_comprobante();
                cIBK.cabecera.informacion_comprobante.cae = lcIBK.comprobante[i].cabecera.informacion_comprobante.cae;
                cIBK.cabecera.informacion_comprobante.caeSpecified = false;
                if (cIBK.cabecera.informacion_comprobante.cae != null && cIBK.cabecera.informacion_comprobante.cae != "")
                {
                    cIBK.cabecera.informacion_comprobante.caeSpecified = true;
                }
                cIBK.cabecera.informacion_comprobante.codigo_operacion = lcIBK.comprobante[i].cabecera.informacion_comprobante.codigo_operacion;
                cIBK.cabecera.informacion_comprobante.condicion_de_pago = lcIBK.comprobante[i].cabecera.informacion_comprobante.condicion_de_pago;
                cIBK.cabecera.informacion_comprobante.condicion_de_pagoSpecified = true;
                cIBK.cabecera.informacion_comprobante.es_detalle_encriptado = lcIBK.comprobante[i].cabecera.informacion_comprobante.es_detalle_encriptado;
                cIBK.cabecera.informacion_comprobante.fecha_emision = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_emision;
                cIBK.cabecera.informacion_comprobante.fecha_obtencion_cae = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_obtencion_cae;
                cIBK.cabecera.informacion_comprobante.fecha_obtencion_caeSpecified = false;
                if (cIBK.cabecera.informacion_comprobante.fecha_obtencion_cae != null && cIBK.cabecera.informacion_comprobante.fecha_obtencion_cae != "")
                {
                    cIBK.cabecera.informacion_comprobante.fecha_obtencion_caeSpecified = true;
                }
                cIBK.cabecera.informacion_comprobante.fecha_serv_desde = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_serv_desde;
                cIBK.cabecera.informacion_comprobante.fecha_serv_hasta = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_serv_hasta;
                cIBK.cabecera.informacion_comprobante.fecha_vencimiento = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento;
                cIBK.cabecera.informacion_comprobante.fecha_vencimiento_cae = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento_cae;
                cIBK.cabecera.informacion_comprobante.fecha_vencimiento_caeSpecified = false;
                if (cIBK.cabecera.informacion_comprobante.fecha_vencimiento_cae != null && cIBK.cabecera.informacion_comprobante.fecha_vencimiento_cae != "")
                {
                    cIBK.cabecera.informacion_comprobante.fecha_vencimiento_caeSpecified = true;
                }
                cIBK.cabecera.informacion_comprobante.iva_computable = lcIBK.comprobante[i].cabecera.informacion_comprobante.iva_computable;
                cIBK.cabecera.informacion_comprobante.motivo = lcIBK.comprobante[i].cabecera.informacion_comprobante.motivo;
                cIBK.cabecera.informacion_comprobante.numero_comprobante = lcIBK.comprobante[i].cabecera.informacion_comprobante.numero_comprobante;
                cIBK.cabecera.informacion_comprobante.punto_de_venta = lcIBK.comprobante[i].cabecera.informacion_comprobante.punto_de_venta;
                cIBK.cabecera.informacion_comprobante.resultado = lcIBK.comprobante[i].cabecera.informacion_comprobante.resultado;
                cIBK.cabecera.informacion_comprobante.tipo_de_comprobante = lcIBK.comprobante[i].cabecera.informacion_comprobante.tipo_de_comprobante;
                cIBK.cabecera.informacion_comprobante.codigo_concepto = lcIBK.comprobante[i].cabecera.informacion_comprobante.codigo_concepto;
                cIBK.cabecera.informacion_comprobante.codigo_conceptoSpecified = lcIBK.comprobante[i].cabecera.informacion_comprobante.codigo_conceptoSpecified;

                //Info Vendedor
                cIBK.cabecera.informacion_vendedor = new FeaEntidades.InterFacturas.informacion_vendedor();
                cIBK.cabecera.informacion_vendedor.codigo_interno = lcIBK.comprobante[i].cabecera.informacion_vendedor.codigo_interno;
                cIBK.cabecera.informacion_vendedor.razon_social = lcIBK.comprobante[i].cabecera.informacion_vendedor.razon_social;
                cIBK.cabecera.informacion_vendedor.condicion_ingresos_brutos = lcIBK.comprobante[i].cabecera.informacion_vendedor.condicion_ingresos_brutos;
                cIBK.cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified = lcIBK.comprobante[i].cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified;
                cIBK.cabecera.informacion_vendedor.condicion_IVA = lcIBK.comprobante[i].cabecera.informacion_vendedor.condicion_IVA;
                cIBK.cabecera.informacion_vendedor.condicion_IVASpecified = lcIBK.comprobante[i].cabecera.informacion_vendedor.condicion_IVASpecified;
                cIBK.cabecera.informacion_vendedor.contacto = lcIBK.comprobante[i].cabecera.informacion_vendedor.contacto;
                cIBK.cabecera.informacion_vendedor.cp = lcIBK.comprobante[i].cabecera.informacion_vendedor.cp;
                cIBK.cabecera.informacion_vendedor.cuit = lcIBK.comprobante[i].cabecera.informacion_vendedor.cuit;
                cIBK.cabecera.informacion_vendedor.domicilio_calle = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_calle;
                cIBK.cabecera.informacion_vendedor.domicilio_depto = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_depto;
                cIBK.cabecera.informacion_vendedor.domicilio_manzana = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_manzana;
                cIBK.cabecera.informacion_vendedor.domicilio_numero = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_numero;
                cIBK.cabecera.informacion_vendedor.domicilio_piso = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_piso;
                cIBK.cabecera.informacion_vendedor.domicilio_sector = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_sector;
                cIBK.cabecera.informacion_vendedor.domicilio_torre = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_torre;
                cIBK.cabecera.informacion_vendedor.email = lcIBK.comprobante[i].cabecera.informacion_vendedor.email;
                cIBK.cabecera.informacion_vendedor.GLN = lcIBK.comprobante[i].cabecera.informacion_vendedor.GLN;
                cIBK.cabecera.informacion_vendedor.GLNSpecified = lcIBK.comprobante[i].cabecera.informacion_vendedor.GLNSpecified;
                cIBK.cabecera.informacion_vendedor.inicio_de_actividades = lcIBK.comprobante[i].cabecera.informacion_vendedor.inicio_de_actividades;
                cIBK.cabecera.informacion_vendedor.localidad = lcIBK.comprobante[i].cabecera.informacion_vendedor.localidad;
                cIBK.cabecera.informacion_vendedor.nro_ingresos_brutos = lcIBK.comprobante[i].cabecera.informacion_vendedor.nro_ingresos_brutos;
                cIBK.cabecera.informacion_vendedor.provincia = lcIBK.comprobante[i].cabecera.informacion_vendedor.provincia;
                cIBK.cabecera.informacion_vendedor.telefono = lcIBK.comprobante[i].cabecera.informacion_vendedor.telefono;

                //Info Comprobantes de Referencia
                if (lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias != null)
                {
                    cIBK.cabecera.informacion_comprobante.referencias = new FeaEntidades.InterFacturas.informacion_comprobanteReferencias[lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias.Length];

                    for (int j = 0; j < lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias.Length; j++)
                    {
                        if (lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias[j] != null)
                        {
                            cIBK.cabecera.informacion_comprobante.referencias[j] = new FeaEntidades.InterFacturas.informacion_comprobanteReferencias();
                            if (lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias[j].tipo_comprobante_afip == RN.IBK.informacion_comprobanteReferenciasTipo_comprobante_afip.S.ToString())
                            {
                                cIBK.cabecera.informacion_comprobante.referencias[j].tipo_comprobante_afip = "S";
                            }
                            else if (lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias[j].tipo_comprobante_afip == RN.IBK.informacion_comprobanteReferenciasTipo_comprobante_afip.N.ToString())
                            {
                                cIBK.cabecera.informacion_comprobante.referencias[j].tipo_comprobante_afip = "N";
                            }
                            cIBK.cabecera.informacion_comprobante.referencias[j].codigo_de_referencia = lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias[j].codigo_de_referencia;
                            cIBK.cabecera.informacion_comprobante.referencias[j].dato_de_referencia = lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias[j].dato_de_referencia;
                        }
                    }
                }

                //Info Informacion Adicional Comprobante
                if (lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante != null)
                {
                    cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante = new FeaEntidades.InterFacturas.informacion_adicional_comprobante[lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante.Length];

                    for (int j = 0; j < lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante.Length; j++)
                    {
                        cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante[j] = new FeaEntidades.InterFacturas.informacion_adicional_comprobante();
                        cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante[j].tipo = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante[j].tipo;
                        cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante[j].valor = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante[j].valor;
                    }
                }

                //Info Exportación
                if (lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion != null)
                {
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion = new FeaEntidades.InterFacturas.informacion_exportacion();
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.destino_comprobante = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.destino_comprobante;
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.tipo_exportacion = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.tipo_exportacion;
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.id_impositivo = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.id_impositivo;
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.incoterms = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.incoterms;
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms;
                    if (lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permiso_existente != null && lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permiso_existente != "")
                    {
                        cIBK.cabecera.informacion_comprobante.informacion_exportacion.permiso_existente = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permiso_existente;
                    }
                    if (lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos != null)
                    {
                        cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos = new FeaEntidades.InterFacturas.permisos[lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos.Length];
                        for (int j = 0; j < lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos.Length; j++)
                        {
                            if (lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos[j] != null)
                            {
                                cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j] = new FeaEntidades.InterFacturas.permisos();
                                cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].id_permiso = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos[j].id_permiso;
                                cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].destino_mercaderia = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos[j].destino_mercaderia;
                            }
                        }
                    }
                }

                //Detalle y Lineas
                FeaEntidades.InterFacturas.detalle d = new FeaEntidades.InterFacturas.detalle();
                org.dyndns.cedweb.consulta.ConsultarResultComprobanteDetalle detalle = lcIBK.comprobante[i].detalle;
                d.linea = new FeaEntidades.InterFacturas.linea[detalle.linea.Length];
                d.comentarios = detalle.comentarios;
                for (int j = 0; j < detalle.linea.Length; j++)
                {
                    if (detalle.linea[j] != null)
                    {
                        d.linea[j] = new FeaEntidades.InterFacturas.linea();
                        d.linea[j].alicuota_iva = detalle.linea[j].alicuota_iva;
                        d.linea[j].alicuota_ivaSpecified = detalle.linea[j].alicuota_ivaSpecified;
                        d.linea[j].cantidad = detalle.linea[j].cantidad;
                        d.linea[j].cantidadSpecified = detalle.linea[j].cantidadSpecified;
                        d.linea[j].codigo_producto_comprador = detalle.linea[j].codigo_producto_comprador;
                        d.linea[j].codigo_producto_vendedor = detalle.linea[j].codigo_producto_vendedor;
                        d.linea[j].descripcion = detalle.linea[j].descripcion;

                        d.linea[j].GTIN = detalle.linea[j].GTIN;
                        d.linea[j].GTINSpecified = detalle.linea[j].GTINSpecified;
                        d.linea[j].importe_iva = detalle.linea[j].importe_iva;
                        d.linea[j].importe_ivaSpecified = detalle.linea[j].importe_ivaSpecified;
                        d.linea[j].importe_total_articulo = detalle.linea[j].importe_total_articulo;
                        d.linea[j].importe_total_descuentos = detalle.linea[j].importe_total_descuentos;
                        d.linea[j].importe_total_descuentosSpecified = detalle.linea[j].importe_total_descuentosSpecified;
                        d.linea[j].importe_total_impuestos = detalle.linea[j].importe_total_impuestos;
                        d.linea[j].importe_total_impuestosSpecified = detalle.linea[j].importe_total_impuestosSpecified;

                        if (detalle.linea[j].importes_moneda_origen != null)
                        {
                            d.linea[j].importes_moneda_origen = new FeaEntidades.InterFacturas.lineaImportes_moneda_origen();
                            d.linea[j].importes_moneda_origen.importe_iva = detalle.linea[j].importes_moneda_origen.importe_iva;
                            d.linea[j].importes_moneda_origen.importe_ivaSpecified = detalle.linea[j].importes_moneda_origen.importe_ivaSpecified;
                            d.linea[j].importes_moneda_origen.importe_total_articulo = detalle.linea[j].importes_moneda_origen.importe_total_articulo;
                            d.linea[j].importes_moneda_origen.importe_total_articuloSpecified = detalle.linea[j].importes_moneda_origen.importe_total_articuloSpecified;
                            d.linea[j].importes_moneda_origen.importe_total_descuentos = detalle.linea[j].importes_moneda_origen.importe_total_descuentos;
                            d.linea[j].importes_moneda_origen.importe_total_descuentosSpecified = detalle.linea[j].importes_moneda_origen.importe_total_descuentosSpecified;
                            d.linea[j].importes_moneda_origen.importe_total_impuestos = detalle.linea[j].importes_moneda_origen.importe_total_impuestos;
                            d.linea[j].importes_moneda_origen.importe_total_impuestosSpecified = detalle.linea[j].importes_moneda_origen.importe_total_impuestosSpecified;
                            d.linea[j].importes_moneda_origen.precio_unitario = detalle.linea[j].importes_moneda_origen.precio_unitario;
                            d.linea[j].importes_moneda_origen.precio_unitarioSpecified = detalle.linea[j].importes_moneda_origen.precio_unitarioSpecified;
                        }

                        if (detalle.linea[j].impuestos != null)
                        {
                            d.linea[j].impuestos = new FeaEntidades.InterFacturas.lineaImpuestos[detalle.linea[j].impuestos.Length];
                            for (int k = 0; k < d.linea[j].impuestos.Length; k++)
                            {
                                d.linea[j].impuestos[k] = new FeaEntidades.InterFacturas.lineaImpuestos();
                                d.linea[j].impuestos[k].codigo_impuesto = detalle.linea[j].impuestos[k].codigo_impuesto;
                                d.linea[j].impuestos[k].descripcion_impuesto = detalle.linea[j].impuestos[k].descripcion_impuesto;
                                d.linea[j].impuestos[k].importe_impuesto = detalle.linea[j].impuestos[k].importe_impuesto;
                                d.linea[j].impuestos[k].importe_impuesto_moneda_origen = detalle.linea[j].impuestos[k].importe_impuesto_moneda_origen;
                                d.linea[j].impuestos[k].importe_impuesto_moneda_origenSpecified = detalle.linea[j].impuestos[k].importe_impuesto_moneda_origenSpecified;
                                d.linea[j].impuestos[k].porcentaje_impuesto = detalle.linea[j].impuestos[k].porcentaje_impuesto;
                                d.linea[j].impuestos[k].porcentaje_impuestoSpecified = detalle.linea[j].impuestos[k].porcentaje_impuestoSpecified;
                            }
                        }
                        if (detalle.linea[j].descuentos != null)
                        {
                            d.linea[j].lineaDescuentos = new FeaEntidades.InterFacturas.lineaDescuentos[detalle.linea[j].descuentos.Length];
                            for (int k = 0; k < d.linea[j].lineaDescuentos.Length; k++)
                            {
                                d.linea[j].lineaDescuentos[k] = new FeaEntidades.InterFacturas.lineaDescuentos();
                                d.linea[j].lineaDescuentos[k].descripcion_descuento = detalle.linea[j].descuentos[k].descripcion_descuento;
                                d.linea[j].lineaDescuentos[k].importe_descuento = detalle.linea[j].descuentos[k].importe_descuento;
                                d.linea[j].lineaDescuentos[k].importe_descuento_moneda_origen = detalle.linea[j].descuentos[k].importe_descuento_moneda_origen;
                                d.linea[j].lineaDescuentos[k].importe_descuento_moneda_origenSpecified = detalle.linea[j].descuentos[k].importe_descuento_moneda_origenSpecified;
                                d.linea[j].lineaDescuentos[k].porcentaje_descuento = detalle.linea[j].descuentos[k].porcentaje_descuento;
                                d.linea[j].lineaDescuentos[k].porcentaje_descuentoSpecified = detalle.linea[j].descuentos[k].porcentaje_descuentoSpecified;
                            }
                        }
                        if (detalle.linea[j].informacion_adicional != null)
                        {
                            d.linea[j].informacion_adicional = new FeaEntidades.InterFacturas.lineaInformacion_adicional[detalle.linea[j].informacion_adicional.Length];
                            for (int k = 0; k < d.linea[j].informacion_adicional.Length; k++)
                            {
                                d.linea[j].informacion_adicional[k] = new FeaEntidades.InterFacturas.lineaInformacion_adicional();
                                d.linea[j].informacion_adicional[k].tipo = detalle.linea[j].informacion_adicional[k].tipo;
                                d.linea[j].informacion_adicional[k].valor = detalle.linea[j].informacion_adicional[k].valor;
                            }
                        }
                        d.linea[j].indicacion_exento_gravado = detalle.linea[j].indicacion_exento_gravado;
                        d.linea[j].numeroLinea = detalle.linea[j].numeroLinea;
                        d.linea[j].precio_unitario = detalle.linea[j].precio_unitario;
                        d.linea[j].precio_unitarioSpecified = detalle.linea[j].precio_unitarioSpecified;
                        d.linea[j].unidad = detalle.linea[j].unidad;
                    }
                    else
                    {
                        break;
                    }
                }
                cIBK.detalle = d;

                //Info Extensiones
                cIBK.extensiones = new FeaEntidades.InterFacturas.extensiones();
                cIBK.extensionesSpecified = false;
                if (lcIBK.comprobante[i].extensiones != null)
                {
                    cIBK.extensiones = new FeaEntidades.InterFacturas.extensiones();
                    cIBK.extensionesSpecified = true;
                    if (lcIBK.comprobante[i].extensiones.extensiones_camara_facturas != null)
                    {
                        cIBK.extensiones.extensiones_camara_facturasSpecified = true;
                        cIBK.extensiones.extensiones_camara_facturas = new FeaEntidades.InterFacturas.extensionesExtensiones_camara_facturas();
                        cIBK.extensiones.extensiones_camara_facturas.clave_de_vinculacion = lcIBK.comprobante[i].extensiones.extensiones_camara_facturas.clave_de_vinculacion;
                        cIBK.extensiones.extensiones_camara_facturas.id_idioma = lcIBK.comprobante[i].extensiones.extensiones_camara_facturas.id_idioma;
                        cIBK.extensiones.extensiones_camara_facturas.id_template = lcIBK.comprobante[i].extensiones.extensiones_camara_facturas.id_template;
                    }
                    if (lcIBK.comprobante[i].extensiones.extensiones_datos_comerciales != null)
                    {
                        if (!lcIBK.comprobante[i].extensiones.extensiones_datos_comerciales.Equals(string.Empty))
                        {

                            string aux = lcIBK.comprobante[i].extensiones.extensiones_datos_comerciales.ToString();
                            if (aux.Length > 0 && aux.Substring(0, 1) == "%")
                            {
                                aux = RN.Funciones.HexToString(aux);
                            }
                            cIBK.extensiones.extensiones_datos_comerciales = aux;
                        }
                    }
                    if (lcIBK.comprobante[i].extensiones.extensiones_datos_marketing != null)
                    {
                        if (!lcIBK.comprobante[i].extensiones.extensiones_datos_marketing.Equals(string.Empty))
                        {
                            string aux = lcIBK.comprobante[i].extensiones.extensiones_datos_marketing.ToString();
                            if (aux.Length > 0 && aux.Substring(0, 1) == "%")
                            {
                                aux = RN.Funciones.HexToString(aux);
                            }
                            cIBK.extensiones.extensiones_datos_marketing = aux;
                        }
                    }
                    if (lcIBK.comprobante[i].extensiones.extensiones_destinatarios != null)
                    {
                        cIBK.extensiones.extensiones_destinatarios = new FeaEntidades.InterFacturas.extensionesExtensiones_destinatarios();
                        cIBK.extensiones.extensiones_destinatarios.email = lcIBK.comprobante[i].extensiones.extensiones_destinatarios.email;
                    }
                }

                cIBK.resumen = new FeaEntidades.InterFacturas.resumen();
                cIBK.resumen.cant_alicuotas_iva = lcIBK.comprobante[i].resumen.cant_alicuotas_iva;
                cIBK.resumen.cant_alicuotas_ivaSpecified = lcIBK.comprobante[i].resumen.cant_alicuotas_ivaSpecified;
                cIBK.resumen.codigo_moneda = lcIBK.comprobante[i].resumen.codigo_moneda;

                cIBK.resumen.descuentos = new FeaEntidades.InterFacturas.resumenDescuentos[0];

                cIBK.resumen.cant_alicuotas_iva = lcIBK.comprobante[i].resumen.cant_alicuotas_iva;
                cIBK.resumen.cant_alicuotas_ivaSpecified = lcIBK.comprobante[i].resumen.cant_alicuotas_ivaSpecified;
                cIBK.resumen.codigo_moneda = lcIBK.comprobante[i].resumen.codigo_moneda;

                cIBK.resumen.importe_operaciones_exentas = lcIBK.comprobante[i].resumen.importe_operaciones_exentas;
                cIBK.resumen.importe_total_concepto_no_gravado = lcIBK.comprobante[i].resumen.importe_total_concepto_no_gravado;
                cIBK.resumen.importe_total_factura = lcIBK.comprobante[i].resumen.importe_total_factura;
                cIBK.resumen.importe_total_impuestos_internos = lcIBK.comprobante[i].resumen.importe_total_impuestos_internos;
                cIBK.resumen.importe_total_impuestos_internosSpecified = lcIBK.comprobante[i].resumen.importe_total_impuestos_internosSpecified;
                cIBK.resumen.importe_total_impuestos_municipales = lcIBK.comprobante[i].resumen.importe_total_impuestos_municipales;
                cIBK.resumen.importe_total_impuestos_municipalesSpecified = lcIBK.comprobante[i].resumen.importe_total_impuestos_municipalesSpecified;
                cIBK.resumen.importe_total_impuestos_nacionales = lcIBK.comprobante[i].resumen.importe_total_impuestos_nacionales;
                cIBK.resumen.importe_total_impuestos_nacionalesSpecified = lcIBK.comprobante[i].resumen.importe_total_impuestos_nacionalesSpecified;
                cIBK.resumen.importe_total_ingresos_brutos = lcIBK.comprobante[i].resumen.importe_total_ingresos_brutos;
                cIBK.resumen.importe_total_ingresos_brutosSpecified = lcIBK.comprobante[i].resumen.importe_total_ingresos_brutosSpecified;
                cIBK.resumen.importe_total_neto_gravado = lcIBK.comprobante[i].resumen.importe_total_neto_gravado;

                if (lcIBK.comprobante[i].resumen.importes_moneda_origen != null)
                {
                    cIBK.resumen.importes_moneda_origen = new FeaEntidades.InterFacturas.resumenImportes_moneda_origen();
                    cIBK.resumen.importes_moneda_origen.importe_operaciones_exentas = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_operaciones_exentas;
                    cIBK.resumen.importes_moneda_origen.importe_total_concepto_no_gravado = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_concepto_no_gravado;
                    cIBK.resumen.importes_moneda_origen.importe_total_factura = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_factura;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_internos = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_internos;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_internosSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_internosSpecified;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_municipales = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_municipales;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_municipalesSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_municipalesSpecified;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_nacionales = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_nacionales;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_nacionalesSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_nacionalesSpecified;
                    cIBK.resumen.importes_moneda_origen.importe_total_ingresos_brutos = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_ingresos_brutos;
                    cIBK.resumen.importes_moneda_origen.importe_total_ingresos_brutosSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_ingresos_brutosSpecified;
                    cIBK.resumen.importes_moneda_origen.importe_total_neto_gravado = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_neto_gravado;
                    cIBK.resumen.importes_moneda_origen.impuesto_liq = lcIBK.comprobante[i].resumen.importes_moneda_origen.impuesto_liq;
                    cIBK.resumen.importes_moneda_origen.impuesto_liq_rni = lcIBK.comprobante[i].resumen.importes_moneda_origen.impuesto_liq_rni;
                }

                cIBK.resumen.impuesto_liq = lcIBK.comprobante[i].resumen.impuesto_liq;
                cIBK.resumen.impuesto_liq_rni = lcIBK.comprobante[i].resumen.impuesto_liq_rni;

                if (lcIBK.comprobante[i].resumen.descuentos != null)
                {
                    cIBK.resumen.descuentos = new FeaEntidades.InterFacturas.resumenDescuentos[lcIBK.comprobante[i].resumen.descuentos.Length];
                    for (int l = 0; l < lcIBK.comprobante[i].resumen.descuentos.Length; l++)
                    {
                        if (lcIBK.comprobante[i].resumen.descuentos[l] != null)
                        {
                            cIBK.resumen.descuentos[l] = new FeaEntidades.InterFacturas.resumenDescuentos();
                            cIBK.resumen.descuentos[l].alicuota_iva_descuento = lcIBK.comprobante[i].resumen.descuentos[l].alicuota_iva_descuento;
                            cIBK.resumen.descuentos[l].alicuota_iva_descuentoSpecified = lcIBK.comprobante[i].resumen.descuentos[l].alicuota_iva_descuentoSpecified;
                            cIBK.resumen.descuentos[l].descripcion_descuento = lcIBK.comprobante[i].resumen.descuentos[l].descripcion_descuento;
                            cIBK.resumen.descuentos[l].importe_descuento = lcIBK.comprobante[i].resumen.descuentos[l].importe_descuento;
                            cIBK.resumen.descuentos[l].importe_descuento_moneda_origen = lcIBK.comprobante[i].resumen.descuentos[l].importe_descuento_moneda_origen;
                            cIBK.resumen.descuentos[l].importe_descuento_moneda_origenSpecified = lcIBK.comprobante[i].resumen.descuentos[l].importe_descuento_moneda_origenSpecified;
                            cIBK.resumen.descuentos[l].importe_iva_descuento = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuento;
                            cIBK.resumen.descuentos[l].importe_iva_descuento_moneda_origen = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuento_moneda_origen;
                            cIBK.resumen.descuentos[l].importe_iva_descuento_moneda_origenSpecified = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuento_moneda_origenSpecified;
                            cIBK.resumen.descuentos[l].importe_iva_descuentoSpecified = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuentoSpecified;
                            cIBK.resumen.descuentos[l].porcentaje_descuento = lcIBK.comprobante[i].resumen.descuentos[l].porcentaje_descuento;
                            cIBK.resumen.descuentos[l].porcentaje_descuentoSpecified = lcIBK.comprobante[i].resumen.descuentos[l].porcentaje_descuentoSpecified;
                            cIBK.resumen.descuentos[l].indicacion_exento_gravado_descuento = lcIBK.comprobante[i].resumen.descuentos[l].indicacion_exento_gravado_descuento;
                        }
                    }
                }

                if (lcIBK.comprobante[i].resumen.impuestos != null)
                {
                    cIBK.resumen.impuestos = new FeaEntidades.InterFacturas.resumenImpuestos[lcIBK.comprobante[i].resumen.impuestos.Length];
                    for (int l = 0; l < lcIBK.comprobante[i].resumen.impuestos.Length; l++)
                    {
                        if (lcIBK.comprobante[i].resumen.impuestos[l] != null)
                        {
                            cIBK.resumen.impuestos[l] = new FeaEntidades.InterFacturas.resumenImpuestos();
                            cIBK.resumen.impuestos[l].codigo_impuesto = lcIBK.comprobante[i].resumen.impuestos[l].codigo_impuesto;
                            cIBK.resumen.impuestos[l].codigo_jurisdiccion = lcIBK.comprobante[i].resumen.impuestos[l].codigo_jurisdiccion;
                            cIBK.resumen.impuestos[l].codigo_jurisdiccionSpecified = lcIBK.comprobante[i].resumen.impuestos[l].codigo_jurisdiccionSpecified;
                            cIBK.resumen.impuestos[l].descripcion = lcIBK.comprobante[i].resumen.impuestos[l].descripcion;
                            cIBK.resumen.impuestos[l].importe_impuesto = lcIBK.comprobante[i].resumen.impuestos[l].importe_impuesto;
                            cIBK.resumen.impuestos[l].importe_impuesto_moneda_origen = lcIBK.comprobante[i].resumen.impuestos[l].importe_impuesto_moneda_origen;
                            cIBK.resumen.impuestos[l].importe_impuesto_moneda_origenSpecified = lcIBK.comprobante[i].resumen.impuestos[l].importe_impuesto_moneda_origenSpecified;
                            cIBK.resumen.impuestos[l].jurisdiccion_municipal = lcIBK.comprobante[i].resumen.impuestos[l].jurisdiccion_municipal;
                            cIBK.resumen.impuestos[l].porcentaje_impuesto = lcIBK.comprobante[i].resumen.impuestos[l].porcentaje_impuesto;
                            cIBK.resumen.impuestos[l].porcentaje_impuestoSpecified = lcIBK.comprobante[i].resumen.impuestos[l].porcentaje_impuestoSpecified;
                        }
                    }
                }
                cIBK.resumen.observaciones = lcIBK.comprobante[i].resumen.observaciones;
                cIBK.resumen.tipo_de_cambio = lcIBK.comprobante[i].resumen.tipo_de_cambio;

                lcFEA.comprobante[i] = cIBK;
            }
            return lcFEA;
        }
Ejemplo n.º 7
0
        public void ConsultarN(List<eFact_I_Bj.Entidades.ComprobanteBj> Comprobantes, FeaEntidades.InterFacturas.lote_comprobantes Lc, eFact_I_Bj.RN.TableroBj.TipoConsulta TipoConsulta, DateTime FechaDsd, DateTime FechaHst, string IdTipoComprobante, string PuntoVenta, string NumeroComprobante, bool VerificarExistenciaCAE)
        {
            StringBuilder commandText = new StringBuilder();
            commandText.Append("DECLARE @FechaDsd as Datetime DECLARE @FechaHst as Datetime DECLARE @NroComp as Varchar(250) ");
			commandText.Append("SET @FechaDsd='" + FechaDsd.ToString("yyyyMMdd") + "' ");
			commandText.Append("SET @FechaHst='" + FechaHst.ToString("yyyyMMdd") + "' ");

			if (NumeroComprobante != string.Empty)
			{
				commandText.Append("SET @NroComp='" + NumeroComprobante + "' ");
			}
            commandText.Append("select gva12.id_gva12, gva12.cod_client, gva12.cat_iva, gva12.fecha_emis, gva12.n_comp, gva12.t_comp, gva12.cotiz, gva12.importe_iv, round(gva12.importe_iv * gva12.cotiz, 6) as importe_iv_pesos, gva12.unidades, gva12.importe, round((gva12.unidades - gva12.importe_iv) * gva12.cotiz, 6) as ImpTotalNetoGravado, gva12.pto_vta, gva12.leyenda_1, gva12.leyenda_2, gva12.leyenda_3, gva12.leyenda_4, gva12.leyenda_5, gva12.MON_CTE, ");
            commandText.Append("gva14.c_postal, gva14.cod_provin, gva14.cuit, gva14.domicilio, gva14.localidad, gva14.nom_com, gva14.tipo_doc ");
            commandText.Append("from GVA12 ");
            commandText.Append("inner join gva14 on gva12.cod_client=gva14.cod_client ");
			if (NumeroComprobante != string.Empty)
			{
				commandText.Append("and gva12.n_comp like '%'+@NroComp+'%' ");
			}
			else
			{
				commandText.Append("where fecha_emis >= @FechaDsd and fecha_emis < Dateadd (Day, 1, @FechaHst) ");
			}

            commandText.Append("select gva12.id_gva12, gva12.cod_client, gva12.cat_iva, gva12.fecha_emis, gva12.n_comp, gva12.t_comp, gva12.cotiz, gva12.importe_iv, gva12.unidades, gva12.importe, ");
            commandText.Append("gva14.id_gva14, gva14.c_postal, gva14.cod_provin, gva14.cuit, gva14.domicilio, gva14.localidad, gva14.nom_com, gva14.tipo_doc, ");
            commandText.Append("gva53.cantidad, gva53.id_medida_ventas, GVA53.PRECIO_NET, round(GVA53.PRECIO_NET * gva12.cotiz, 7) as PRECIO_NET_pesos, gva53.IMP_NETO_P, round(GVA53.IMP_NETO_P * gva12.cotiz, 6) as IMP_NETO_P_pesos, GVA53.PORC_IVA, ");
            commandText.Append("sta11.descripcio, ");
            commandText.Append("medida.cod_medida ");
            commandText.Append("from GVA12 ");
            commandText.Append("inner join gva14 on gva12.cod_client=gva14.cod_client ");
            commandText.Append("inner join gva53 on gva53.N_comp=gva12.n_comp and gva53.t_comp=gva12.t_comp ");
            commandText.Append("inner join sta11 on gva53.COD_ARTICU=sta11.cod_articu ");
            commandText.Append("inner join medida on gva53.ID_MEDIDA_VENTAS=medida.id_medida ");
            
			if (NumeroComprobante != string.Empty)
			{
				commandText.Append("and gva12.n_comp like '%'+@NroComp+'%' ");
			}
			else
			{
				commandText.Append("where fecha_emis >= @FechaDsd and fecha_emis < Dateadd (Day, 1, @FechaHst) ");
			}
      
            DataSet ds = new DataSet();
            ds = (DataSet)Ejecutar(commandText.ToString(), TipoRetorno.DS, Transaccion.Acepta, sesion.CnnStrAplicExterna);

            commandText = commandText.Remove(0, commandText.Length);
            commandText.Append("select * from vendedores where cuitvendedor='33709728119' ");
            
            DataTable dsTable = new DataTable();
            dsTable = ((DataTable)Ejecutar(commandText.ToString(), TipoRetorno.TB, Transaccion.Acepta, sesion.CnnStr)).Copy();
            dsTable.TableName = "Vendedor";
            ds.Tables.Add(dsTable);
            ds.AcceptChanges();

            commandText = commandText.Remove(0, commandText.Length);
            commandText.Append("select * from GVA15 ");
            DataTable dsTable1 = new DataTable();
            dsTable1 = ((DataTable)Ejecutar(commandText.ToString(), TipoRetorno.TB, Transaccion.Acepta, sesion.CnnStrAplicExterna)).Copy();
            dsTable1.TableName = "TComprobantes";
            ds.Tables.Add(dsTable1);
            ds.AcceptChanges();

            if (ds.Tables.Count == 0)
            {
                throw new Microsoft.ApplicationBlocks.ExceptionManagement.Validaciones.NoHayDatos();
            }
            else
            {
				try
				{
					DataTable dt = ds.Tables[0];
					DataTable dt2 = ds.Tables[2];
					DataTable dtTComprobantes = ds.Tables[3];
					//Crear "cabecera" del lote de comprobantes
					Lc.cabecera_lote = new FeaEntidades.InterFacturas.cabecera_lote();
					Lc.cabecera_lote.cuit_canal = Convert.ToInt64(@System.Configuration.ConfigurationManager.AppSettings["CuitCanal"].ToString());
					Lc.cabecera_lote.cuit_vendedor = Convert.ToInt64(dt2.Rows[0]["CuitVendedor"]);
					Lc.cabecera_lote.cantidad_reg = dt.Rows.Count;
					Lc.cabecera_lote.id_lote = Convert.ToInt64(DateTime.Now.ToString("yyyyMMddHHmmss"));
					Lc.cabecera_lote.fecha_envio_lote = DateTime.Now.ToString("yyyyMMdd") + " " + DateTime.Now.ToString("HHmmss");
					for (int i = 0; i < dt.Rows.Count; i++)
					{
						eFact_I_Bj.Entidades.ComprobanteBj Comprobante = new eFact_I_Bj.Entidades.ComprobanteBj();
						//Crear "lote_comprobantes"
						//FeaEntidades.InterFacturas.lote_comprobantes lc = new FeaEntidades.InterFacturas.lote_comprobantes();
						//Crear "comprobante" del lote de comprobantes
						FeaEntidades.InterFacturas.comprobante c = new FeaEntidades.InterFacturas.comprobante();
						//Crear "cabecera" del comprobante
						c.cabecera = new FeaEntidades.InterFacturas.cabecera();
						//Crear "informacion_comprador" de la cabecera del comprobante
						c.cabecera.informacion_comprador = new FeaEntidades.InterFacturas.informacion_comprador();
						//Crear "informacion_vendedor" de la cabecera del comprobante
						c.cabecera.informacion_vendedor = new FeaEntidades.InterFacturas.informacion_vendedor();
						//Crear "informacion_comprobante" de la cabecera del comprobante
						c.cabecera.informacion_comprobante = new FeaEntidades.InterFacturas.informacion_comprobante();
						//Crear "detalle" del comprobante.
						c.detalle = new FeaEntidades.InterFacturas.detalle();
						//Crear "resumen" del comprobante.
						c.resumen = new FeaEntidades.InterFacturas.resumen();

						Comprobante.Clave = Convert.ToInt32(dt.Rows[i]["id_gva12"]);
						//Comprobante.Vendedor.Codigo = dt.Rows[i]["Codigo"].ToString();
						// Armar switch con cada tipo de comprobante de Tango a Cedeira
						string letraComprobante = dt.Rows[i]["n_comp"].ToString().Substring(0, 1);
						switch (dt.Rows[i]["t_comp"].ToString())
						{
							case "FAC":
								if (letraComprobante == "A")
								{
									FeaEntidades.TiposDeComprobantes.Facturas.A tc = new FeaEntidades.TiposDeComprobantes.Facturas.A();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								else
								{
									FeaEntidades.TiposDeComprobantes.Facturas.B tc = new FeaEntidades.TiposDeComprobantes.Facturas.B();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								break;
							case "N/D":
								if (letraComprobante == "A")
								{
									FeaEntidades.TiposDeComprobantes.NotasDebito.A tc = new FeaEntidades.TiposDeComprobantes.NotasDebito.A();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								else
								{
									FeaEntidades.TiposDeComprobantes.NotasDebito.B tc = new FeaEntidades.TiposDeComprobantes.NotasDebito.B();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								break;
							case "N/C":
								if (letraComprobante == "A")
								{
									FeaEntidades.TiposDeComprobantes.NotasCredito.A tc = new FeaEntidades.TiposDeComprobantes.NotasCredito.A();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								else
								{
									FeaEntidades.TiposDeComprobantes.NotasCredito.B tc = new FeaEntidades.TiposDeComprobantes.NotasCredito.B();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								break;
							case "LIQ":
								if (letraComprobante == "A")
								{
									FeaEntidades.TiposDeComprobantes.Liquidacion.A tc = new FeaEntidades.TiposDeComprobantes.Liquidacion.A();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								else
								{
									FeaEntidades.TiposDeComprobantes.Liquidacion.B tc = new FeaEntidades.TiposDeComprobantes.Liquidacion.B();
									c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
									Comprobante.IdTipoComprobante = tc.Codigo.ToString();
								}
								break;
							case "NDI":
								break;
							case "NCI":
								break;

						}
						FeaEntidades.InterFacturas.informacion_comprador feaEntidadinfComprador = new FeaEntidades.InterFacturas.informacion_comprador();
						Comprobante.NumeroComprobante = dt.Rows[i]["n_comp"].ToString();
						c.cabecera.informacion_comprobante.numero_comprobante = Convert.ToInt64(Comprobante.NumeroComprobante.Substring(5, Comprobante.NumeroComprobante.Length - 5));

						Comprobante.PuntoVenta = Convert.ToInt32(Comprobante.NumeroComprobante.Substring(1, 4));
						Lc.cabecera_lote.punto_de_venta = Comprobante.PuntoVenta;
						c.cabecera.informacion_comprobante.punto_de_venta = Comprobante.PuntoVenta;


						// Armar switch con cada tipo doc de Tango a Cedeira
						Comprobante.Comprador.TipoDoc = Convert.ToInt16(dt.Rows[i]["tipo_doc"]);
						feaEntidadinfComprador.codigo_doc_identificatorio = Comprobante.Comprador.TipoDoc;

						Comprobante.Comprador.NroDoc = dt.Rows[i]["cuit"].ToString();
						feaEntidadinfComprador.nro_doc_identificatorio = Convert.ToInt64(Comprobante.Comprador.NroDoc.Replace("-", string.Empty));
						feaEntidadinfComprador.codigo_interno = "";

						Comprobante.Comprador.Nombre = dt.Rows[i]["nom_com"].ToString();
						feaEntidadinfComprador.denominacion = Comprobante.Comprador.Nombre;
						feaEntidadinfComprador.denominacion = Comprobante.Comprador.Nombre;
						Comprobante.Comprador.DomicilioCalle = dt.Rows[i]["domicilio"].ToString();
						feaEntidadinfComprador.domicilio_calle = Comprobante.Comprador.DomicilioCalle;
						Comprobante.Comprador.CondicionIVA = dt.Rows[i]["cat_iva"].ToString();
						FeaEntidades.CondicionesIVA.ResponsableInscripto condicionIVA = new FeaEntidades.CondicionesIVA.ResponsableInscripto();
						feaEntidadinfComprador.condicion_IVA = condicionIVA.Codigo;
						feaEntidadinfComprador.condicion_IVASpecified = true;
						Comprobante.Comprador.Localidad = dt.Rows[i]["localidad"].ToString();
						feaEntidadinfComprador.localidad = Comprobante.Comprador.Localidad;
						Comprobante.Comprador.Provincia = DeterminarProvincia(Convert.ToInt16(dt.Rows[i]["cod_provin"]));
						feaEntidadinfComprador.provincia = Convert.ToString(Comprobante.Comprador.Provincia);
						Comprobante.Comprador.CP = dt.Rows[i]["c_postal"].ToString();
						feaEntidadinfComprador.cp = Comprobante.Comprador.CP;
						//Comprobante.Comprador.Telefono = dt.Rows[i]["Comprador_telefono"].ToString();
						//Comprobante.Comprador.EMail = dt.Rows[i]["Comprador_email"].ToString();
						Comprobante.Fecha = Convert.ToDateTime(dt.Rows[i]["fecha_emis"]);
						c.cabecera.informacion_comprobante.fecha_emision = Comprobante.Fecha.ToString("yyyyMMdd");
						if (!dt.Rows[i]["leyenda_1"].ToString().Equals(string.Empty))
						{
							Comprobante.FechaVto = Convert.ToDateTime(dt.Rows[i]["leyenda_1"].ToString(), cedeiraCultura.DateTimeFormat);
							c.cabecera.informacion_comprobante.fecha_vencimiento = Comprobante.FechaVto.ToString("yyyyMMdd");
						}
						else
						{
							Comprobante.FechaVto = Convert.ToDateTime("1970/05/22", cedeiraCultura.DateTimeFormat);
							//c.cabecera.informacion_comprobante.fecha_vencimiento = Comprobante.FechaVto.ToString("yyyyMMdd");
						}
						//Comprobante.Importe = Convert.ToDecimal(dt.Rows[i]["importe"]);
						//Comprobante.ImporteNetoGravado = Convert.ToDecimal(dt.Rows[i]["PRECIO_NET"]);
						//Comprobante.ImporteNetoNoGravado = Convert.ToDecimal(dt.Rows[i]["importe"]);
						//feaEntidadComprobante.Imp_neto = Comprobante.ImporteNetoNoGravado;
						//Comprobante.ImporteOpsExentas = Convert.ToDecimal(dt.Rows[i]["Resumen_importe_operaciones_exentas"]);
						//Comprobante.ImpuestoLiq = Convert.ToDecimal(dt.Rows[i]["Resumen_impuesto_liq"]);
						//Comprobante.ImpuestoRNI = Convert.ToDecimal(dt.Rows[i]["Resumen_impuesto_liq_rni"]);
						//Comprobante.ImpuestosNacionales = Convert.ToDecimal(dt.Rows[i]["Resumen_importe_total_impuestos_nacionales"]);
						//Comprobante.CantAlicuotasIVA = Convert.ToInt32(dt.Rows[i]["Resumen_cant_alicuotas_iva"]);
						//if (dt.Rows[i]["Comprobante_cae"] != System.DBNull.Value && dt.Rows[i]["Comprobante_cae"].ToString() != "")
						//{
						//    Comprobante.NumeroCAE = dt.Rows[i]["Comprobante_cae"].ToString();
						//    Comprobante.FechaVtoCAE = Convert.ToDateTime(dt.Rows[i]["Comprobante_fecha_vencimiento_cae"]);
						//}
						Comprobante.Vendedor.CuitVendedor = dt2.Rows[0]["CuitVendedor"].ToString();
						FeaEntidades.InterFacturas.informacion_vendedor feaEntidadInfVendedor = new FeaEntidades.InterFacturas.informacion_vendedor();
						feaEntidadInfVendedor.cuit = Convert.ToInt64(Comprobante.Vendedor.CuitVendedor.Replace("-", string.Empty));
						Comprobante.Vendedor.Nombre = dt2.Rows[0]["Nombre"].ToString();
						feaEntidadInfVendedor.razon_social = Comprobante.Vendedor.Nombre;
						Comprobante.Vendedor.NumeroSerieCertificado = dt2.Rows[0]["NumeroSerieCertificado"].ToString();
						//System.IO.MemoryStream memStream = new System.IO.MemoryStream(dt2.Rows[i]["Logo"]);
						//Byte[] logo = memStream.GetBuffer();
						//Comprobante.Vendedor.Logo = dt2.Rows[i]["Logo"];
						Comprobante.Vendedor.Codigo = dt2.Rows[0]["Codigo"].ToString();
						feaEntidadInfVendedor.codigo_interno = Comprobante.Vendedor.Codigo;
						Comprobante.Vendedor.InicioActividades = Convert.ToDateTime(dt2.Rows[0]["InicioActividades"]);
						feaEntidadInfVendedor.inicio_de_actividades = Comprobante.Vendedor.InicioActividades.ToString("yyyyMMdd");
						Comprobante.Vendedor.Contacto = dt2.Rows[0]["Contacto"].ToString();
						feaEntidadInfVendedor.contacto = Comprobante.Vendedor.Contacto;
						Comprobante.Vendedor.DomicilioCalle = dt2.Rows[0]["DomicilioCalle"].ToString();
						feaEntidadInfVendedor.domicilio_calle = Comprobante.Vendedor.DomicilioCalle;
						Comprobante.Vendedor.DomicilioNumero = dt2.Rows[0]["DomicilioNumero"].ToString();
						feaEntidadInfVendedor.domicilio_numero = Comprobante.Vendedor.DomicilioNumero;
						Comprobante.Vendedor.DomicilioPiso = dt2.Rows[0]["DomicilioPiso"].ToString();
						feaEntidadInfVendedor.domicilio_piso = Comprobante.Vendedor.DomicilioPiso;
						Comprobante.Vendedor.DomicilioDepto = dt2.Rows[0]["DomicilioDepto"].ToString();
						feaEntidadInfVendedor.domicilio_depto = Comprobante.Vendedor.DomicilioDepto;
						Comprobante.Vendedor.DomicilioSector = dt2.Rows[0]["DomicilioSector"].ToString();
						feaEntidadInfVendedor.domicilio_sector = Comprobante.Vendedor.DomicilioSector;
						Comprobante.Vendedor.DomicilioTorre = dt2.Rows[0]["DomicilioTorre"].ToString();
						feaEntidadInfVendedor.domicilio_torre = Comprobante.Vendedor.DomicilioTorre;
						Comprobante.Vendedor.DomicilioManzana = dt2.Rows[0]["DomicilioManzana"].ToString();
						feaEntidadInfVendedor.domicilio_manzana = Comprobante.Vendedor.DomicilioManzana;
						Comprobante.Vendedor.CondicionIVA = Convert.ToInt32(dt2.Rows[0]["CondicionIVA"]);
						feaEntidadInfVendedor.condicion_IVA = Comprobante.Vendedor.CondicionIVA;
						feaEntidadInfVendedor.condicion_IVASpecified = true;
						Comprobante.Vendedor.CondicionIB = Convert.ToInt32(dt2.Rows[0]["CondicionIB"]);
						feaEntidadInfVendedor.condicion_ingresos_brutos = Comprobante.Vendedor.CondicionIB;
						feaEntidadInfVendedor.condicion_ingresos_brutosSpecified = true;
						Comprobante.Vendedor.NroIB = dt2.Rows[0]["NroIB"].ToString();
						feaEntidadInfVendedor.nro_ingresos_brutos = Comprobante.Vendedor.NroIB;
						Comprobante.Vendedor.Localidad = dt2.Rows[0]["Localidad"].ToString();
						feaEntidadInfVendedor.localidad = Comprobante.Vendedor.Localidad;
						Comprobante.Vendedor.Provincia = DeterminarProvincia(Convert.ToInt16(dt2.Rows[0]["Provincia"])).ToString();
						feaEntidadInfVendedor.provincia = Comprobante.Vendedor.Provincia;
						Comprobante.Vendedor.CP = dt2.Rows[0]["CP"].ToString();
						feaEntidadInfVendedor.cp = Comprobante.Vendedor.CP;
						Comprobante.Vendedor.Telefono = dt2.Rows[0]["Telefono"].ToString();
						feaEntidadInfVendedor.telefono = Comprobante.Vendedor.Telefono;
						Comprobante.Vendedor.EMail = dt2.Rows[0]["EMail"].ToString();
						feaEntidadInfVendedor.email = Comprobante.Vendedor.EMail;
						c.cabecera.informacion_comprador = feaEntidadinfComprador;
						c.cabecera.informacion_vendedor = feaEntidadInfVendedor;

						c.resumen.tipo_de_cambio = Convert.ToDouble(dt.Rows[i]["cotiz"]);
						Comprobante.TipoDeCambio = Convert.ToDouble(dt.Rows[i]["cotiz"]);
						c.resumen.importe_total_factura = Math.Round(Convert.ToDouble(dt.Rows[i]["importe"]), 2);
						
						c.resumen.impuesto_liq = Math.Round(Convert.ToDouble(dt.Rows[i]["importe_iv_pesos"]), 2);
						if (c.resumen.impuesto_liq != 0)
						{
							c.resumen.importe_total_neto_gravado = Math.Round(Convert.ToDouble(dt.Rows[i]["ImpTotalNetoGravado"]), 2);
						}
						else
						{
							c.resumen.importe_total_concepto_no_gravado = Math.Round(Convert.ToDouble(dt.Rows[i]["ImpTotalNetoGravado"]), 2);
						}

						//Guardar Leyendas
						List<string> leyendas = new List<string>();
						leyendas.Add(dt.Rows[i]["leyenda_1"].ToString());
						leyendas.Add(dt.Rows[i]["leyenda_2"].ToString());
						leyendas.Add(dt.Rows[i]["leyenda_3"].ToString());
						leyendas.Add(dt.Rows[i]["leyenda_4"].ToString());
						leyendas.Add(dt.Rows[i]["leyenda_5"].ToString());
						Comprobante.Leyendas = leyendas;

						//List<FeaEntidades.CodigosMoneda.CodigoMoneda> listaCodMoneda = FeaEntidades.CodigosMoneda.CodigoMoneda.Lista();
						if (!Convert.ToBoolean(dt.Rows[i]["MON_CTE"]))
						{
							c.resumen.codigo_moneda = "DOL";
							Comprobante.IdMoneda = "DOL";
							c.resumen.importes_moneda_origen = new FeaEntidades.InterFacturas.resumenImportes_moneda_origen();
							c.resumen.importes_moneda_origen.impuesto_liq = Math.Round(Convert.ToDouble(dt.Rows[i]["importe_iv"]), 2);
							c.resumen.importes_moneda_origen.importe_total_factura = Math.Round(Convert.ToDouble(dt.Rows[i]["unidades"]), 2);
							
							if (c.resumen.importes_moneda_origen.impuesto_liq != 0)
							{
								c.resumen.importes_moneda_origen.importe_total_neto_gravado = Math.Round(c.resumen.importes_moneda_origen.importe_total_factura - c.resumen.importes_moneda_origen.impuesto_liq, 2);
							}
							else
							{
								c.resumen.importes_moneda_origen.importe_total_concepto_no_gravado = Math.Round(c.resumen.importes_moneda_origen.importe_total_factura - c.resumen.importes_moneda_origen.impuesto_liq, 2);
							}
							Comprobante.Importe = Math.Round(Convert.ToDecimal(dt.Rows[i]["unidades"]), 2);
						}
						else
						{
							c.resumen.codigo_moneda = "PES";
							Comprobante.IdMoneda = "PES";
							Comprobante.Importe = Math.Round(Convert.ToDecimal(dt.Rows[i]["importe"]), 2);
						}
						FeaEntidades.InterFacturas.lineas feaEntidadLineas = new FeaEntidades.InterFacturas.lineas();
						DataRow[] drDetDesc = ds.Tables[1].Select("id_gva12 = " + Comprobante.Clave);
						List<double> iva = new List<double>();
						List<double> ivaMonedaOrigen = new List<double>();
						iva.Add(0);
						iva.Add(0);
						ivaMonedaOrigen.Add(0);
						ivaMonedaOrigen.Add(0);
						double porcIVA = 0;
						for (int j = 0; j < drDetDesc.Length; j++)
						{
							eFact_I_Bj.Entidades.ComprobanteBjLinea linea = new eFact_I_Bj.Entidades.ComprobanteBjLinea();
							FeaEntidades.InterFacturas.linea lineaFEA = new FeaEntidades.InterFacturas.linea();
							DataRow dr = drDetDesc[j];
							linea.Clave = Convert.ToInt32(Comprobante.Clave);
							linea.Descripcion = dr["descripcio"].ToString();
							lineaFEA.numeroLinea = j + 1;
							lineaFEA.descripcion = linea.Descripcion;
							linea.Cantidad = Convert.ToDecimal(dr["cantidad"]);
							lineaFEA.cantidad = Convert.ToDouble(linea.Cantidad);
							lineaFEA.cantidadSpecified = true;
							linea.Precio_unitario = Convert.ToDecimal(dr["precio_net_pesos"]);
							lineaFEA.precio_unitario = Math.Round(Convert.ToDouble(dr["precio_net_pesos"]), 6);
							lineaFEA.precio_unitarioSpecified = true;
							linea.Alicuota_iva = Convert.ToDecimal(dr["porc_iva"]);
							lineaFEA.alicuota_iva = Convert.ToDouble(linea.Alicuota_iva);
							lineaFEA.alicuota_ivaSpecified = true;
							linea.Importe_total_articulo = Convert.ToDecimal(dr["IMP_NETO_P_pesos"]);
							lineaFEA.importe_total_articulo = Math.Round(Convert.ToDouble(dr["IMP_NETO_P_pesos"]), 3);
							lineaFEA.importe_iva = Math.Round(lineaFEA.importe_total_articulo * (lineaFEA.alicuota_iva / 100), 2);
							lineaFEA.importe_ivaSpecified = true;
							linea.Importe_iva = Convert.ToDecimal(lineaFEA.importe_iva);
							//linea.Indicacion_exento_gravado = dr[0]["Linea_indicacion_exento_gravado"].ToString();
							//linea.Importe_total_descuentos = Convert.ToDecimal(dr[0]["Linea_importe_total_descuentos"]);
							//linea.Importe_total_impuestos = Convert.ToDecimal(dr[0]["Linea_Importe_total_impuestos"]);
							if (lineaFEA.alicuota_iva != 0)
							{
								if (lineaFEA.alicuota_iva == 21)
								{
									iva[0] = iva[0] + lineaFEA.importe_iva;
								}
								if (lineaFEA.alicuota_iva == 27)
								{
									iva[1] = iva[1] + lineaFEA.importe_iva;
								}
								porcIVA = lineaFEA.alicuota_iva;
							}
							if (c.resumen.codigo_moneda == "DOL")
							{
								lineaFEA.importes_moneda_origen = new FeaEntidades.InterFacturas.lineaImportes_moneda_origen();
								lineaFEA.importes_moneda_origen.importe_total_articulo = Math.Round(Convert.ToDouble(dr["IMP_NETO_P"]), 3);
								lineaFEA.importes_moneda_origen.importe_total_articuloSpecified = true;
								lineaFEA.importes_moneda_origen.importe_iva = Math.Round(lineaFEA.importes_moneda_origen.importe_total_articulo * (lineaFEA.alicuota_iva / 100), 2);
								lineaFEA.importes_moneda_origen.importe_ivaSpecified = true;
								lineaFEA.importes_moneda_origen.precio_unitario = Math.Round(Convert.ToDouble(dr["PRECIO_NET"]), 6);
								lineaFEA.importes_moneda_origen.precio_unitarioSpecified = true;
								if (lineaFEA.alicuota_iva != 0)
								{
									if (lineaFEA.alicuota_iva == 21)
									{
										ivaMonedaOrigen[0] = ivaMonedaOrigen[0] + lineaFEA.importes_moneda_origen.importe_iva;
									}
									if (lineaFEA.alicuota_iva == 27)
									{
										ivaMonedaOrigen[1] = ivaMonedaOrigen[1] + lineaFEA.importes_moneda_origen.importe_iva;
									}
									porcIVA = lineaFEA.alicuota_iva;
								}
							}
							Comprobante.Lineas.Add(linea);
							c.detalle.linea[j] = lineaFEA;
						}
						c.resumen.impuestos = new FeaEntidades.InterFacturas.resumenImpuestos[10];
						if (iva[0] != 0)
						{
							FeaEntidades.InterFacturas.resumenImpuestos imp = new FeaEntidades.InterFacturas.resumenImpuestos();
							imp.codigo_impuesto = 1;
							imp.descripcion = "IVA";
							imp.porcentaje_impuesto = Convert.ToDouble(21);
							imp.porcentaje_impuestoSpecified = true;
							imp.importe_impuesto = Math.Round(iva[0], 2);
							if (c.resumen.codigo_moneda == "DOL")
							{
								imp.importe_impuesto_moneda_origen = Math.Round(ivaMonedaOrigen[0],2);
								imp.importe_impuesto_moneda_origenSpecified = true;
							}
							c.resumen.impuestos[0] = imp;
						}
						if (iva[1] != 0)
						{
							FeaEntidades.InterFacturas.resumenImpuestos imp = new FeaEntidades.InterFacturas.resumenImpuestos();
							imp.codigo_impuesto = 1;
							imp.descripcion = "IVA";
							imp.porcentaje_impuesto = Convert.ToDouble(27);
							imp.porcentaje_impuestoSpecified = true;
							imp.importe_impuesto = Math.Round(iva[1],2);
							if (c.resumen.codigo_moneda == "DOL")
							{
								imp.importe_impuesto_moneda_origen = Math.Round(ivaMonedaOrigen[1],2);
								imp.importe_impuesto_moneda_origenSpecified = true;
							}
							c.resumen.impuestos[1] = imp;
						}
						Comprobantes.Add(Comprobante);
						Lc.comprobante[i] = c;
					}
				}
				catch
				{
				}
                    
                }
            }
Ejemplo n.º 8
0
		private void ExcelButton_Click(object sender, EventArgs e)
		{
			OpenFileDialog xlsOpenFileDialog = new OpenFileDialog();

			xlsOpenFileDialog.Filter = "Archivos Excel (*.xls)|*.xls|Todos los archivos (*.*)|*.*";
			xlsOpenFileDialog.Multiselect = false;
			xlsOpenFileDialog.FilterIndex = 1;
			xlsOpenFileDialog.RestoreDirectory = true;

			if (xlsOpenFileDialog.ShowDialog() == DialogResult.OK)
			{
				try
				{
					string archivo = xlsOpenFileDialog.FileName;
					FeaEntidades.InterFacturas.lote_comprobantes lote = new FeaEntidades.InterFacturas.lote_comprobantes();
					FeaEntidades.InterFacturas.cabecera compcab = new FeaEntidades.InterFacturas.cabecera();
					FeaEntidades.InterFacturas.comprobante comp = new FeaEntidades.InterFacturas.comprobante();
					comp.cabecera = compcab;
					lote.comprobante[0] = comp;

					List<FeaEntidades.Excel.Ubicador> lista = FeaEntidades.Excel.Ubicador.Lista();
					foreach (FeaEntidades.Excel.Ubicador u in lista)
					{
						FileHelpers.DataLink.ExcelStorage provider = new FileHelpers.DataLink.ExcelStorage(u.GetType());
						provider.StartRow = u.X;
						provider.StartColumn = u.Y;
						provider.FileName = @archivo;
						provider.SheetName = "XML";
						Object[] oArray = (Object[])System.Array.CreateInstance(u.GetType(), 10);
						oArray = (Object[])provider.ExtractRecords();

						foreach (Object o in oArray)
						{
							FileHelpers.DataLink.ExcelStorage providerInterno = new FileHelpers.DataLink.ExcelStorage(System.Type.GetType("FeaEntidades.InterFacturas." + ((FeaEntidades.Excel.Ubicador)o).Tipo + ", FeaEntidades"));
							providerInterno.StartRow = ((FeaEntidades.Excel.Ubicador)o).Y;
							providerInterno.StartColumn = ((FeaEntidades.Excel.Ubicador)o).X;
							providerInterno.FileName = @archivo;
							providerInterno.SheetName = "XML";
							Object[] oArrayInterno = (Object[])System.Array.CreateInstance(System.Type.GetType("FeaEntidades.InterFacturas." + ((FeaEntidades.Excel.Ubicador)o).Tipo + ", FeaEntidades"), 10);
							oArrayInterno = (Object[])providerInterno.ExtractRecords();

							if (oArrayInterno.Length > 0)
							{
								switch (oArrayInterno.GetType().ToString())
								{
									case "FeaEntidades.InterFacturas.cabecera_lote[]":
										lote.cabecera_lote = (FeaEntidades.InterFacturas.cabecera_lote)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.informacion_comprador[]":
										compcab.informacion_comprador = (FeaEntidades.InterFacturas.informacion_comprador)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.informacion_comprobante[]":
										compcab.informacion_comprobante = (FeaEntidades.InterFacturas.informacion_comprobante)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.informacion_comprobanteReferencias[]":
										compcab.informacion_comprobante.referencias = (FeaEntidades.InterFacturas.informacion_comprobanteReferencias[])oArrayInterno;
										break;
									case "FeaEntidades.InterFacturas.informacion_vendedor[]":
										compcab.informacion_vendedor = (FeaEntidades.InterFacturas.informacion_vendedor)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.detalle[]":
										comp.detalle = (FeaEntidades.InterFacturas.detalle)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.linea[]":
										comp.detalle.linea = (FeaEntidades.InterFacturas.linea[])oArrayInterno;
										break;
									case "FeaEntidades.InterFacturas.lineaImportes_moneda_origen[]":
										break;
									case "FeaEntidades.InterFacturas.lineaImpuestos[]":
										break;
									case "FeaEntidades.InterFacturas.lineaDescuentos[]":
										break;
									case "FeaEntidades.InterFacturas.resumen[]":
										comp.resumen = (FeaEntidades.InterFacturas.resumen)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.resumenDescuentos[]":
										comp.resumen.descuentos = (FeaEntidades.InterFacturas.resumenDescuentos[])oArrayInterno;
										break;
									case "FeaEntidades.InterFacturas.resumenImportes_moneda_origen[]":
										break;
									case "FeaEntidades.InterFacturas.resumenImpuestos[]":
                                        FeaEntidades.InterFacturas.resumenImpuestos[] impLista = ((FeaEntidades.InterFacturas.resumenImpuestos[])oArrayInterno);
                                        FeaEntidades.InterFacturas.resumenImpuestos[] impNewLista = new FeaEntidades.InterFacturas.resumenImpuestos[10];
                                        for (int im = 0; im < impLista.Length; im++)
                                        {
                                            if (impLista[im].importe_impuesto != 0)
                                            {
                                                impNewLista[im] = impLista[im];
                                            }
                                        }
                                        comp.resumen.impuestos = impNewLista;
        								break;
								}
							}
						}
					}

					System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(lote.GetType());
					System.Text.StringBuilder sb = new System.Text.StringBuilder();
					if (d != null)
					{
						sb.Append(@d);
						sb.Append(System.IO.Path.DirectorySeparatorChar);
					}
					else
					{
						throw new Exception("Debe elegir un directorio primero");
					}
					sb.Append(lote.cabecera_lote.cuit_vendedor);
					sb.Append("-");
					sb.Append(lote.cabecera_lote.punto_de_venta.ToString("0000"));
					sb.Append("-");
					sb.Append(lote.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante.ToString("00"));
					sb.Append("-");
					sb.Append(lote.comprobante[0].cabecera.informacion_comprobante.numero_comprobante.ToString("00000000"));
					sb.Append(".xml");
					System.IO.Stream fs = new System.IO.FileStream(sb.ToString(), System.IO.FileMode.Create);
					System.Xml.XmlWriter writer = new System.Xml.XmlTextWriter(fs, System.Text.Encoding.GetEncoding("ISO-8859-1"));
					x.Serialize(writer, lote);
					fs.Close();
					System.Diagnostics.Process.Start(sb.ToString());
				}
				catch(NullReferenceException)
				{
					try
					{
						throw new Exception("El archivo seleccionado no está generado desde el template excel");
					}
					catch (Exception exc)
					{
						Microsoft.ApplicationBlocks.ExceptionManagement.ExceptionManager.Publish(exc);
					}
				}
				catch (Exception ex)
				{
					Microsoft.ApplicationBlocks.ExceptionManagement.ExceptionManager.Publish(ex);
				}
			}
		}
Ejemplo n.º 9
0
        private void Completar_lote_comprobantes(FeaEntidades.InterFacturas.lote_comprobantes lc)
        {
            //Crear "cabecera" del lote de comprobantes
            lc.cabecera_lote = new FeaEntidades.InterFacturas.cabecera_lote();
            lc.cabecera_lote.cuit_canal = Convert.ToInt64("30690783521");
            lc.cabecera_lote.cuit_vendedor = Convert.ToInt64(CuitTextBox.Text);
            lc.cabecera_lote.punto_de_venta = Convert.ToInt32(PuntoVentaTextBox.Text);
            lc.cabecera_lote.id_lote = Convert.ToInt64(NumeroLoteTextBox.Text);
            lc.cabecera_lote.presta_serv = 0;
            lc.cabecera_lote.presta_servSpecified = false;
            //Cantidad de comprobantes por lote.
            lc.cabecera_lote.cantidad_reg = 1;

            //Crear "comprobante" del lote de comprobantes
            FeaEntidades.InterFacturas.comprobante c = new FeaEntidades.InterFacturas.comprobante();
            //Crear "cabecera" del comprobante
            c.cabecera = new FeaEntidades.InterFacturas.cabecera();

            ////Crear "informacion_comprador" de la cabecera del comprobante
            c.cabecera.informacion_comprador = new FeaEntidades.InterFacturas.informacion_comprador();
            c.cabecera.informacion_comprador.codigo_doc_identificatorio = 80;
            c.cabecera.informacion_comprador.nro_doc_identificatorio = Convert.ToInt64("30561748140");
            c.cabecera.informacion_comprador.condicion_IVA = 1;
            c.cabecera.informacion_comprador.domicilio_calle = "Av.Corrientes";
            c.cabecera.informacion_comprador.domicilio_numero = "1ºA";
            c.cabecera.informacion_comprador.telefono = "2134-2323 / 29";

            ////Crear "informacion_vendedor" de la cabecera del comprobante
            c.cabecera.informacion_vendedor = new FeaEntidades.InterFacturas.informacion_vendedor();
            c.cabecera.informacion_vendedor.razon_social = "Syspro Consulting";
            c.cabecera.informacion_vendedor.cuit = Convert.ToInt64(CuitTextBox.Text);
            c.cabecera.informacion_vendedor.condicion_IVA = 1;
            c.cabecera.informacion_vendedor.domicilio_calle = "Av.Córdoba";
            c.cabecera.informacion_vendedor.domicilio_numero = "7ºG";
            c.cabecera.informacion_vendedor.telefono = "4235-2323";
            c.cabecera.informacion_vendedor.cp = "1425";

            ////Crear "informacion_comprobante" de la cabecera del comprobante
            c.cabecera.informacion_comprobante = new FeaEntidades.InterFacturas.informacion_comprobante();
            c.cabecera.informacion_comprobante.tipo_de_comprobante = 1;
            // --- Otra forma de asignar el codigo de tipo de comprobante utilizando la clase. ---
            FeaEntidades.TiposDeComprobantes.Facturas.A tc = new FeaEntidades.TiposDeComprobantes.Facturas.A();
            c.cabecera.informacion_comprobante.tipo_de_comprobante = tc.Codigo;
            // -----------------------------------------------------------------------------------
            c.cabecera.informacion_comprobante.numero_comprobante = Convert.ToInt32(NroComprobanteTextBox.Text); ;
            c.cabecera.informacion_comprobante.punto_de_venta = Convert.ToInt32(PuntoVentaTextBox.Text);
            c.cabecera.informacion_comprobante.fecha_emision = FechaEmisionDateTimePicker.Value.ToString("yyyyMMdd");          //Formato: yyyyMMdd
            c.cabecera.informacion_comprobante.fecha_vencimiento = FechaVtoDateTimePicker.Value.ToString("yyyyMMdd");          //Formato: yyyyMMdd
            //Si es un comprobante de servicios
            c.cabecera.informacion_comprobante.fecha_serv_desde = "";
            c.cabecera.informacion_comprobante.fecha_serv_hasta = "";

            //Crear "detalle" del comprobante.
            c.detalle = new FeaEntidades.InterFacturas.detalle();
            //Informar "comentarios" del comprobante. 
            //Es un texto libre que se imprime antes del detalle ( los renglones ) del comprobante.
            c.detalle.comentarios = "xxxxxxx xxxxx xxx xxxxxxxx.";
            //Crear "linea" del detalle del comprobante.
            FeaEntidades.InterFacturas.linea linea = new FeaEntidades.InterFacturas.linea();
            linea.numeroLinea = 1;
            linea.descripcion = "Nombre del producto";
            linea.precio_unitario = 100;
            linea.cantidad = 3;
            linea.alicuota_iva = 21;
            linea.importe_iva = 63;     // = 100 * 3 * .21 
            linea.importe_total_articulo = 363;
            // Otra forma de asignar el valor del IVA.;
            FeaEntidades.IVA.Veintiuno iva = new FeaEntidades.IVA.Veintiuno();
            linea.alicuota_iva = iva.Codigo;
            // -----------------------------------------------------
            linea.unidad = "5";         //5 = Litros
            // --- Otra forma de asignar la unidad. La clase FeaEntidades expone listas para el armado de combos de algunos campos.
            //No es necesario utilizarla.
            List<FeaEntidades.CodigosUnidad.CodigoUnidad> listaUnidades = FeaEntidades.CodigosUnidad.CodigoUnidad.Lista();
            FeaEntidades.CodigosUnidad.CodigoUnidad codigoUnidad = listaUnidades[5];
            linea.unidad = codigoUnidad.Codigo.ToString();

            FeaEntidades.CodigosUnidad.Litros unidad = new FeaEntidades.CodigosUnidad.Litros();
            linea.unidad = unidad.Codigo.ToString();
            // -----------------------------------------------------------------------------------
            c.detalle.linea[0] = linea;

            //Crear "resumen" del comprobante.
            c.resumen = new FeaEntidades.InterFacturas.resumen();
            //Es un comentario en el area de resumen del comprobante impreso.
            c.resumen.observaciones = "xxxxxx xxxxx xxxx xxxx xxxx";
            c.resumen.importe_total_neto_gravado = 300;
            c.resumen.cant_alicuotas_iva = 1;
            c.resumen.impuesto_liq = 63;
            c.resumen.importe_total_factura = 363;

            // 1 para facturas en pesos.
            c.resumen.tipo_de_cambio = 1;
            FeaEntidades.CodigosMoneda.PesosArgentinos moneda = new FeaEntidades.CodigosMoneda.PesosArgentinos();
            c.resumen.codigo_moneda = moneda.Codigo;

            //Asignar objeto comprobante dentro del lote de camprobantes.
            lc.comprobante[0] = c; 
        }
Ejemplo n.º 10
0
		private FeaEntidades.InterFacturas.lote_comprobantes GenerarLote()
		{
			FeaEntidades.InterFacturas.lote_comprobantes lote = new FeaEntidades.InterFacturas.lote_comprobantes();
			FeaEntidades.InterFacturas.comprobante comp = new FeaEntidades.InterFacturas.comprobante();
			FeaEntidades.InterFacturas.cabecera_lote cab = new FeaEntidades.InterFacturas.cabecera_lote();
			cab.cantidad_reg = 1;
			cab.cuit_canal = Convert.ToInt64(Cuit_CanalTextBox.Text);
			cab.cuit_vendedor = Convert.ToInt64(Cuit_VendedorTextBox.Text);
			cab.id_lote = Convert.ToInt64(Id_LoteTextbox.Text);

			GenerarPrestaServicio(cab);

			cab.punto_de_venta = Convert.ToInt32(Punto_VentaTextBox.Text);
			lote.cabecera_lote = cab;

			FeaEntidades.InterFacturas.cabecera compcab = new FeaEntidades.InterFacturas.cabecera();

			FeaEntidades.InterFacturas.informacion_comprador infcompra = new FeaEntidades.InterFacturas.informacion_comprador();

			if (!MonedaComprobanteDropDownList.SelectedValue.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local))
			{
				Tipo_de_cambioLabel.Visible = true;
				Tipo_de_cambioTextBox.Visible = true;
				Tipo_de_cambioRequiredFieldValidator.Enabled = true;
				Tipo_de_cambioRegularExpressionValidator.Enabled = true;
			}
			else
			{
				Tipo_de_cambioLabel.Visible = false;
				Tipo_de_cambioTextBox.Visible = false;
				Tipo_de_cambioTextBox.Text = null;
				Tipo_de_cambioRequiredFieldValidator.Enabled = false;
				Tipo_de_cambioRegularExpressionValidator.Enabled = false;
			}

			GenerarInfoComprador(compcab, infcompra);

			FeaEntidades.InterFacturas.informacion_comprobante infcomprob = GenerarInfoComprobante();

			GenerarReferencias(infcomprob);

			GenerarInfoExportacion(comp, infcomprob);

			GenerarInfoExtensionesComerciales(comp);

			GenerarInfoExtensionesCamaraFacturas(comp);

			GenerarInfoExtensionesDestinatarios(comp);

			compcab.informacion_comprobante = infcomprob;

			GenerarInfoVendedor(compcab);

			comp.cabecera = compcab;

			int auxPV = Convert.ToInt32(((TextBox)Punto_VentaTextBox).Text);
			string idtipo;
            try
            {
                idtipo = ((CedWebEntidades.Sesion)Session["Sesion"]).Cuenta.Vendedor.PuntosDeVenta.Find(delegate(CedWebEntidades.PuntoDeVenta pv)
                        {
                            return pv.Id == auxPV;
                        }).IdTipo;
            }
            catch (NullReferenceException)
            {
                idtipo = "Comun";
            }
			FeaEntidades.InterFacturas.detalle det = DetalleLinea.GenerarDetalles(MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text, idtipo, Tipo_De_ComprobanteDropDownList.SelectedValue);

			det.comentarios = ComentariosTextBox.Text;

			comp.detalle = det;

			FeaEntidades.InterFacturas.resumen r = new FeaEntidades.InterFacturas.resumen();
			if (Tipo_de_cambioTextBox.Text != string.Empty)
			{
				r.tipo_de_cambio = Convert.ToDouble(Tipo_de_cambioTextBox.Text);
			}
			else
			{
				r.tipo_de_cambio = 1;
			}
			r.codigo_moneda = MonedaComprobanteDropDownList.SelectedValue;

			if (MonedaComprobanteDropDownList.SelectedValue.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local))
			//Moneda local
			{
				GenerarImportesMonedaLocal(r);
			}
			else
			//Moneda extranjera
			{
				GenerarImportesMonedaExtranjera(r);
			}

			r.observaciones = Observaciones_ResumenTextBox.Text;

			comp.resumen = r;

			System.Collections.Generic.List<FeaEntidades.InterFacturas.resumenImpuestos> listadeimpuestos = ImpuestosGlobales.Lista;
			if (CedWebRN.Fun.EstaLogueadoUnUsuarioPremium((CedWebEntidades.Sesion)Session["Sesion"]))
			{
			    auxPV = Convert.ToInt32(((TextBox)Punto_VentaTextBox).Text);
			    try
			    {
			        idtipo = ((CedWebEntidades.Sesion)Session["Sesion"]).Cuenta.Vendedor.PuntosDeVenta.Find(delegate(CedWebEntidades.PuntoDeVenta pv)
			        {
			            return pv.Id == auxPV;
			        }).IdTipo;
			        if (idtipo.Equals("Export"))
			        {
			            if (listadeimpuestos[0].importe_impuesto != 0 || listadeimpuestos.Count > 1)
			            {
			                ImpuestosGlobales.Focus();
			                throw new Exception("Los impuestos globales no se deben informar para exportación");
			            }
			        }
			        else
			        {
			            ImpuestosGlobales.GenerarImpuestos(comp, MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text );
			        }
			    }
			    catch (System.NullReferenceException)
			    {
					ImpuestosGlobales.GenerarImpuestos(comp, MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text);
			    }
			}
			else
			{
				ImpuestosGlobales.GenerarImpuestos(comp, MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text);
			}

			DescuentosGlobales.GenerarResumen(comp, MonedaComprobanteDropDownList.SelectedValue, Tipo_de_cambioTextBox.Text);

			lote.comprobante[0] = comp;
			return lote;
		}
Ejemplo n.º 11
0
		private void LeerFormatoDetalleIBK(EventArgs e, FeaEntidades.InterFacturas.lote_comprobantes lc, System.IO.MemoryStream ms)
		{
			//Formato detalle_factura IBK
			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;
			CompletarUI(lc, e);
			ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('Datos del comprobante correctamente cargados desde el archivo de formato detalle_factura.xml');</script>");
		}
        private void LeerFormatoDetalleIBK(EventArgs e, FeaEntidades.InterFacturas.lote_comprobantes lc, System.IO.MemoryStream ms)
        {
            //Formato detalle_factura IBK
            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;
            Session["ComprobanteAConsultar"] = lc;

            Entidades.Comprobante comprobante = new Entidades.Comprobante();
            string XML = "";
            RN.Comprobante.SerializarLc(out XML, lc);
            comprobante.Request = XML;
            Session["ComprobanteATratar"] = new Entidades.ComprobanteATratar(Entidades.Enum.TratamientoComprobante.Consulta, comprobante);
            string script = "window.open('/ComprobanteConsulta.aspx', '');";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "popup", script, true);
        }
Ejemplo n.º 13
0
        private FeaEntidades.InterFacturas.comprobante IBKP2Fea(CedWebRN.IBKP.comprobante cIBK)
        {
            //Crear FEA comprobante
            FeaEntidades.InterFacturas.comprobante cFEA = new FeaEntidades.InterFacturas.comprobante();
            cFEA.cabecera = new FeaEntidades.InterFacturas.cabecera();

            //Comprador
            cFEA.cabecera.informacion_comprador = new FeaEntidades.InterFacturas.informacion_comprador();
            cFEA.cabecera.informacion_comprador.codigo_doc_identificatorio = cIBK.cabecera.informacion_comprador.codigo_doc_identificatorio;
            cFEA.cabecera.informacion_comprador.codigo_interno = cIBK.cabecera.informacion_comprador.codigo_interno;
            cFEA.cabecera.informacion_comprador.condicion_ingresos_brutos = cIBK.cabecera.informacion_comprador.condicion_ingresos_brutos;
            cFEA.cabecera.informacion_comprador.condicion_ingresos_brutosSpecified = cIBK.cabecera.informacion_comprador.condicion_ingresos_brutosSpecified;
            cFEA.cabecera.informacion_comprador.condicion_IVA = cIBK.cabecera.informacion_comprador.condicion_IVA;
            cFEA.cabecera.informacion_comprador.condicion_IVASpecified = cIBK.cabecera.informacion_comprador.condicion_IVASpecified;
            cFEA.cabecera.informacion_comprador.contacto = cIBK.cabecera.informacion_comprador.contacto;
            cFEA.cabecera.informacion_comprador.cp = cIBK.cabecera.informacion_comprador.cp;
            cFEA.cabecera.informacion_comprador.denominacion = cIBK.cabecera.informacion_comprador.denominacion;
            cFEA.cabecera.informacion_comprador.domicilio_calle = cIBK.cabecera.informacion_comprador.domicilio_calle;
            cFEA.cabecera.informacion_comprador.domicilio_depto = cIBK.cabecera.informacion_comprador.domicilio_depto;
            cFEA.cabecera.informacion_comprador.domicilio_manzana = cIBK.cabecera.informacion_comprador.domicilio_manzana;
            cFEA.cabecera.informacion_comprador.domicilio_numero = cIBK.cabecera.informacion_comprador.domicilio_numero;
            cFEA.cabecera.informacion_comprador.domicilio_piso = cIBK.cabecera.informacion_comprador.domicilio_piso;
            cFEA.cabecera.informacion_comprador.domicilio_sector = cIBK.cabecera.informacion_comprador.domicilio_sector;
            cFEA.cabecera.informacion_comprador.domicilio_torre = cIBK.cabecera.informacion_comprador.domicilio_torre;
            cFEA.cabecera.informacion_comprador.email = cIBK.cabecera.informacion_comprador.email;
            cFEA.cabecera.informacion_comprador.GLN = cIBK.cabecera.informacion_comprador.GLN;
            cFEA.cabecera.informacion_comprador.GLNSpecified = cIBK.cabecera.informacion_comprador.GLNSpecified;
            cFEA.cabecera.informacion_comprador.inicio_de_actividades = cIBK.cabecera.informacion_comprador.inicio_de_actividades;
            cFEA.cabecera.informacion_comprador.localidad = cIBK.cabecera.informacion_comprador.localidad;
            cFEA.cabecera.informacion_comprador.nro_doc_identificatorio = cIBK.cabecera.informacion_comprador.nro_doc_identificatorio;
            cFEA.cabecera.informacion_comprador.nro_ingresos_brutos = cIBK.cabecera.informacion_comprador.nro_ingresos_brutos;
            cFEA.cabecera.informacion_comprador.provincia = cIBK.cabecera.informacion_comprador.provincia;
            cFEA.cabecera.informacion_comprador.telefono = cIBK.cabecera.informacion_comprador.telefono;

            //Info Comprobante
            cFEA.cabecera.informacion_comprobante = new FeaEntidades.InterFacturas.informacion_comprobante();
            cFEA.cabecera.informacion_comprobante.cae = cIBK.cabecera.informacion_comprobante.cae;
            cFEA.cabecera.informacion_comprobante.caeSpecified = false;
            if (cIBK.cabecera.informacion_comprobante.cae != null && cIBK.cabecera.informacion_comprobante.cae != "")
            {
                cFEA.cabecera.informacion_comprobante.caeSpecified = true;
            }
            cFEA.cabecera.informacion_comprobante.codigo_operacion = cIBK.cabecera.informacion_comprobante.codigo_operacion;
            cFEA.cabecera.informacion_comprobante.condicion_de_pago = cIBK.cabecera.informacion_comprobante.condicion_de_pago;
            cFEA.cabecera.informacion_comprobante.condicion_de_pagoSpecified = true;
            cFEA.cabecera.informacion_comprobante.es_detalle_encriptado = cIBK.cabecera.informacion_comprobante.es_detalle_encriptado;
            cFEA.cabecera.informacion_comprobante.fecha_emision = cIBK.cabecera.informacion_comprobante.fecha_emision;
            cFEA.cabecera.informacion_comprobante.fecha_obtencion_cae = cIBK.cabecera.informacion_comprobante.fecha_obtencion_cae;
            cFEA.cabecera.informacion_comprobante.fecha_obtencion_caeSpecified = false;
            if (cIBK.cabecera.informacion_comprobante.fecha_obtencion_cae != null && cIBK.cabecera.informacion_comprobante.fecha_obtencion_cae != "")
            {
                cFEA.cabecera.informacion_comprobante.fecha_obtencion_caeSpecified = true;
            }
            cFEA.cabecera.informacion_comprobante.fecha_serv_desde = cIBK.cabecera.informacion_comprobante.fecha_serv_desde;
            cFEA.cabecera.informacion_comprobante.fecha_serv_hasta = cIBK.cabecera.informacion_comprobante.fecha_serv_hasta;
            cFEA.cabecera.informacion_comprobante.fecha_vencimiento = cIBK.cabecera.informacion_comprobante.fecha_vencimiento;
            cFEA.cabecera.informacion_comprobante.fecha_vencimiento_cae = cIBK.cabecera.informacion_comprobante.fecha_vencimiento_cae;
            cFEA.cabecera.informacion_comprobante.fecha_vencimiento_caeSpecified = false;
            if (cIBK.cabecera.informacion_comprobante.fecha_vencimiento_cae != null && cIBK.cabecera.informacion_comprobante.fecha_vencimiento_cae != "")
            {
                cFEA.cabecera.informacion_comprobante.fecha_vencimiento_caeSpecified = true;
            }
            cFEA.cabecera.informacion_comprobante.iva_computable = cIBK.cabecera.informacion_comprobante.iva_computable;
            cFEA.cabecera.informacion_comprobante.motivo = cIBK.cabecera.informacion_comprobante.motivo;
            cFEA.cabecera.informacion_comprobante.numero_comprobante = cIBK.cabecera.informacion_comprobante.numero_comprobante;
            cFEA.cabecera.informacion_comprobante.punto_de_venta = cIBK.cabecera.informacion_comprobante.punto_de_venta;
            cFEA.cabecera.informacion_comprobante.resultado = cIBK.cabecera.informacion_comprobante.resultado;
            cFEA.cabecera.informacion_comprobante.tipo_de_comprobante = cIBK.cabecera.informacion_comprobante.tipo_de_comprobante;
            cFEA.cabecera.informacion_comprobante.codigo_concepto = cIBK.cabecera.informacion_comprobante.codigo_concepto;
            cFEA.cabecera.informacion_comprobante.codigo_conceptoSpecified = cIBK.cabecera.informacion_comprobante.codigo_conceptoSpecified;

            //Info Vendedor
            cFEA.cabecera.informacion_vendedor = new FeaEntidades.InterFacturas.informacion_vendedor();
            cFEA.cabecera.informacion_vendedor.codigo_interno = cIBK.cabecera.informacion_vendedor.codigo_interno;
            cFEA.cabecera.informacion_vendedor.razon_social = cIBK.cabecera.informacion_vendedor.razon_social;
            cFEA.cabecera.informacion_vendedor.condicion_ingresos_brutos = cIBK.cabecera.informacion_vendedor.condicion_ingresos_brutos;
            cFEA.cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified = cIBK.cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified;
            cFEA.cabecera.informacion_vendedor.condicion_IVA = cIBK.cabecera.informacion_vendedor.condicion_IVA;
            cFEA.cabecera.informacion_vendedor.condicion_IVASpecified = cIBK.cabecera.informacion_vendedor.condicion_IVASpecified;
            cFEA.cabecera.informacion_vendedor.contacto = cIBK.cabecera.informacion_vendedor.contacto;
            cFEA.cabecera.informacion_vendedor.cp = cIBK.cabecera.informacion_vendedor.cp;
            cFEA.cabecera.informacion_vendedor.cuit = cIBK.cabecera.informacion_vendedor.cuit;
            cFEA.cabecera.informacion_vendedor.domicilio_calle = cIBK.cabecera.informacion_vendedor.domicilio_calle;
            cFEA.cabecera.informacion_vendedor.domicilio_depto = cIBK.cabecera.informacion_vendedor.domicilio_depto;
            cFEA.cabecera.informacion_vendedor.domicilio_manzana = cIBK.cabecera.informacion_vendedor.domicilio_manzana;
            cFEA.cabecera.informacion_vendedor.domicilio_numero = cIBK.cabecera.informacion_vendedor.domicilio_numero;
            cFEA.cabecera.informacion_vendedor.domicilio_piso = cIBK.cabecera.informacion_vendedor.domicilio_piso;
            cFEA.cabecera.informacion_vendedor.domicilio_sector = cIBK.cabecera.informacion_vendedor.domicilio_sector;
            cFEA.cabecera.informacion_vendedor.domicilio_torre = cIBK.cabecera.informacion_vendedor.domicilio_torre;
            cFEA.cabecera.informacion_vendedor.email = cIBK.cabecera.informacion_vendedor.email;
            cFEA.cabecera.informacion_vendedor.GLN = cIBK.cabecera.informacion_vendedor.GLN;
            cFEA.cabecera.informacion_vendedor.GLNSpecified = cIBK.cabecera.informacion_vendedor.GLNSpecified;
            cFEA.cabecera.informacion_vendedor.inicio_de_actividades = cIBK.cabecera.informacion_vendedor.inicio_de_actividades;
            cFEA.cabecera.informacion_vendedor.localidad = cIBK.cabecera.informacion_vendedor.localidad;
            cFEA.cabecera.informacion_vendedor.nro_ingresos_brutos = cIBK.cabecera.informacion_vendedor.nro_ingresos_brutos;
            cFEA.cabecera.informacion_vendedor.provincia = cIBK.cabecera.informacion_vendedor.provincia;
            cFEA.cabecera.informacion_vendedor.telefono = cIBK.cabecera.informacion_vendedor.telefono;

            //Info Comprobantes de Referencia
            if (cIBK.cabecera.informacion_comprobante.referencias != null)
            {
                cFEA.cabecera.informacion_comprobante.referencias = new FeaEntidades.InterFacturas.informacion_comprobanteReferencias[cIBK.cabecera.informacion_comprobante.referencias.Length];

                for (int j = 0; j < cIBK.cabecera.informacion_comprobante.referencias.Length; j++)
                {
                    if (cIBK.cabecera.informacion_comprobante.referencias[j] != null)
                    {
                        cFEA.cabecera.informacion_comprobante.referencias[j] = new FeaEntidades.InterFacturas.informacion_comprobanteReferencias();
                        if (cIBK.cabecera.informacion_comprobante.referencias[j].tipo_comprobante_afip == CedWebRN.IBKP.informacion_comprobanteReferenciasTipo_comprobante_afip.S)
                        {
                            cFEA.cabecera.informacion_comprobante.referencias[j].tipo_comprobante_afip = "S";
                        }
                        else if (cIBK.cabecera.informacion_comprobante.referencias[j].tipo_comprobante_afip == CedWebRN.IBKP.informacion_comprobanteReferenciasTipo_comprobante_afip.N)
                        {
                            cFEA.cabecera.informacion_comprobante.referencias[j].tipo_comprobante_afip = "N";
                        }
                        cFEA.cabecera.informacion_comprobante.referencias[j].codigo_de_referencia = cIBK.cabecera.informacion_comprobante.referencias[j].codigo_de_referencia;
                        cFEA.cabecera.informacion_comprobante.referencias[j].dato_de_referencia = cIBK.cabecera.informacion_comprobante.referencias[j].dato_de_referencia;
                    }
                }
            }

            //Info Informacion Adicional Comprobante
            if (cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante != null)
            {
                cFEA.cabecera.informacion_comprobante.informacion_adicional_comprobante = new FeaEntidades.InterFacturas.informacion_adicional_comprobante[cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante.Length];

                for (int j = 0; j < cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante.Length; j++)
                {
                    cFEA.cabecera.informacion_comprobante.informacion_adicional_comprobante[j] = new FeaEntidades.InterFacturas.informacion_adicional_comprobante();
                    cFEA.cabecera.informacion_comprobante.informacion_adicional_comprobante[j].tipo = cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante[j].tipo;
                    cFEA.cabecera.informacion_comprobante.informacion_adicional_comprobante[j].valor = cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante[j].valor;
                }
            }

            //Info Exportación
            if (cIBK.cabecera.informacion_comprobante.informacion_exportacion != null)
            {
                cFEA.cabecera.informacion_comprobante.informacion_exportacion = new FeaEntidades.InterFacturas.informacion_exportacion();
                cFEA.cabecera.informacion_comprobante.informacion_exportacion.destino_comprobante = cIBK.cabecera.informacion_comprobante.informacion_exportacion.destino_comprobante;
                cFEA.cabecera.informacion_comprobante.informacion_exportacion.tipo_exportacion = cIBK.cabecera.informacion_comprobante.informacion_exportacion.tipo_exportacion;
                cFEA.cabecera.informacion_comprobante.informacion_exportacion.id_impositivo = cIBK.cabecera.informacion_comprobante.informacion_exportacion.id_impositivo;
                cFEA.cabecera.informacion_comprobante.informacion_exportacion.incoterms = cIBK.cabecera.informacion_comprobante.informacion_exportacion.incoterms;
                cFEA.cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms = cIBK.cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms;
                if (cIBK.cabecera.informacion_comprobante.informacion_exportacion.permiso_existente != null && cIBK.cabecera.informacion_comprobante.informacion_exportacion.permiso_existente != "")
                {
                    cFEA.cabecera.informacion_comprobante.informacion_exportacion.permiso_existente = cIBK.cabecera.informacion_comprobante.informacion_exportacion.permiso_existente;
                }
                if (cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos != null)
                {
                    cFEA.cabecera.informacion_comprobante.informacion_exportacion.permisos = new FeaEntidades.InterFacturas.permisos[cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos.Length];
                    for (int j = 0; j < cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos.Length; j++)
                    {
                        if (cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j] != null)
                        {
                            cFEA.cabecera.informacion_comprobante.informacion_exportacion.permisos[j] = new FeaEntidades.InterFacturas.permisos();
                            cFEA.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].id_permiso = cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].id_permiso;
                            cFEA.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].destino_mercaderia = cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].destino_mercaderia;
                        }
                    }
                }
            }

            //    //Detalle y Lineas
            //    FeaEntidades.InterFacturas.detalle d = new FeaEntidades.InterFacturas.detalle();
            //    IBK.detalle detalle = (IBK.detalle)lcIBK.comprobante[i].Item;
            //    d.linea = new FeaEntidades.InterFacturas.linea[detalle.linea.Length];
            //    d.comentarios = detalle.comentarios;
            //    for (int j = 0; j < detalle.linea.Length; j++)
            //    {
            //        if (detalle.linea[j] != null)
            //        {
            //            d.linea[j] = new FeaEntidades.InterFacturas.linea();
            //            d.linea[j].alicuota_iva = detalle.linea[j].alicuota_iva;
            //            d.linea[j].alicuota_ivaSpecified = detalle.linea[j].alicuota_ivaSpecified;
            //            d.linea[j].cantidad = detalle.linea[j].cantidad;
            //            d.linea[j].cantidadSpecified = detalle.linea[j].cantidadSpecified;
            //            d.linea[j].codigo_producto_comprador = detalle.linea[j].codigo_producto_comprador;
            //            d.linea[j].codigo_producto_vendedor = detalle.linea[j].codigo_producto_vendedor;
            //            d.linea[j].descripcion = detalle.linea[j].descripcion;

            //            d.linea[j].GTIN = detalle.linea[j].GTIN;
            //            d.linea[j].GTINSpecified = detalle.linea[j].GTINSpecified;
            //            d.linea[j].importe_iva = detalle.linea[j].importe_iva;
            //            d.linea[j].importe_ivaSpecified = detalle.linea[j].importe_ivaSpecified;
            //            d.linea[j].importe_total_articulo = detalle.linea[j].importe_total_articulo;
            //            d.linea[j].importe_total_descuentos = detalle.linea[j].importe_total_descuentos;
            //            d.linea[j].importe_total_descuentosSpecified = detalle.linea[j].importe_total_descuentosSpecified;
            //            d.linea[j].importe_total_impuestos = detalle.linea[j].importe_total_impuestos;
            //            d.linea[j].importe_total_impuestosSpecified = detalle.linea[j].importe_total_impuestosSpecified;

            //            if (detalle.linea[j].importes_moneda_origen != null)
            //            {
            //                d.linea[j].importes_moneda_origen = new FeaEntidades.InterFacturas.lineaImportes_moneda_origen();
            //                d.linea[j].importes_moneda_origen.importe_iva = detalle.linea[j].importes_moneda_origen.importe_iva;
            //                d.linea[j].importes_moneda_origen.importe_ivaSpecified = detalle.linea[j].importes_moneda_origen.importe_ivaSpecified;
            //                d.linea[j].importes_moneda_origen.importe_total_articulo = detalle.linea[j].importes_moneda_origen.importe_total_articulo;
            //                d.linea[j].importes_moneda_origen.importe_total_articuloSpecified = detalle.linea[j].importes_moneda_origen.importe_total_articuloSpecified;
            //                d.linea[j].importes_moneda_origen.importe_total_descuentos = detalle.linea[j].importes_moneda_origen.importe_total_descuentos;
            //                d.linea[j].importes_moneda_origen.importe_total_descuentosSpecified = detalle.linea[j].importes_moneda_origen.importe_total_descuentosSpecified;
            //                d.linea[j].importes_moneda_origen.importe_total_impuestos = detalle.linea[j].importes_moneda_origen.importe_total_impuestos;
            //                d.linea[j].importes_moneda_origen.importe_total_impuestosSpecified = detalle.linea[j].importes_moneda_origen.importe_total_impuestosSpecified;
            //                d.linea[j].importes_moneda_origen.precio_unitario = detalle.linea[j].importes_moneda_origen.precio_unitario;
            //                d.linea[j].importes_moneda_origen.precio_unitarioSpecified = detalle.linea[j].importes_moneda_origen.precio_unitarioSpecified;
            //            }

            //            if (detalle.linea[j].impuestos != null)
            //            {
            //                d.linea[j].impuestos = new FeaEntidades.InterFacturas.lineaImpuestos[detalle.linea[j].impuestos.Length];
            //                for (int k = 0; k < d.linea[j].impuestos.Length; k++)
            //                {
            //                    d.linea[j].impuestos[k] = new FeaEntidades.InterFacturas.lineaImpuestos();
            //                    d.linea[j].impuestos[k].codigo_impuesto = detalle.linea[j].impuestos[k].codigo_impuesto;
            //                    d.linea[j].impuestos[k].descripcion_impuesto = detalle.linea[j].impuestos[k].descripcion_impuesto;
            //                    d.linea[j].impuestos[k].importe_impuesto = detalle.linea[j].impuestos[k].importe_impuesto;
            //                    d.linea[j].impuestos[k].importe_impuesto_moneda_origen = detalle.linea[j].impuestos[k].importe_impuesto_moneda_origen;
            //                    d.linea[j].impuestos[k].importe_impuesto_moneda_origenSpecified = detalle.linea[j].impuestos[k].importe_impuesto_moneda_origenSpecified;
            //                    d.linea[j].impuestos[k].porcentaje_impuesto = detalle.linea[j].impuestos[k].porcentaje_impuesto;
            //                    d.linea[j].impuestos[k].porcentaje_impuestoSpecified = detalle.linea[j].impuestos[k].porcentaje_impuestoSpecified;
            //                }
            //            }
            //            if (detalle.linea[j].descuentos != null)
            //            {
            //                d.linea[j].lineaDescuentos = new FeaEntidades.InterFacturas.lineaDescuentos[detalle.linea[j].descuentos.Length];
            //                for (int k = 0; k < d.linea[j].lineaDescuentos.Length; k++)
            //                {
            //                    d.linea[j].lineaDescuentos[k] = new FeaEntidades.InterFacturas.lineaDescuentos();
            //                    d.linea[j].lineaDescuentos[k].descripcion_descuento = detalle.linea[j].descuentos[k].descripcion_descuento;
            //                    d.linea[j].lineaDescuentos[k].importe_descuento = detalle.linea[j].descuentos[k].importe_descuento;
            //                    d.linea[j].lineaDescuentos[k].importe_descuento_moneda_origen = detalle.linea[j].descuentos[k].importe_descuento_moneda_origen;
            //                    d.linea[j].lineaDescuentos[k].importe_descuento_moneda_origenSpecified = detalle.linea[j].descuentos[k].importe_descuento_moneda_origenSpecified;
            //                    d.linea[j].lineaDescuentos[k].porcentaje_descuento = detalle.linea[j].descuentos[k].porcentaje_descuento;
            //                    d.linea[j].lineaDescuentos[k].porcentaje_descuentoSpecified = detalle.linea[j].descuentos[k].porcentaje_descuentoSpecified;
            //                }
            //            }
            //            if (detalle.linea[j].informacion_adicional != null)
            //            {
            //                d.linea[j].informacion_adicional = new FeaEntidades.InterFacturas.lineaInformacion_adicional[detalle.linea[j].informacion_adicional.Length];
            //                for (int k = 0; k < d.linea[j].informacion_adicional.Length; k++)
            //                {
            //                    d.linea[j].informacion_adicional[k] = new FeaEntidades.InterFacturas.lineaInformacion_adicional();
            //                    d.linea[j].informacion_adicional[k].tipo = detalle.linea[j].informacion_adicional[k].tipo;
            //                    d.linea[j].informacion_adicional[k].valor = detalle.linea[j].informacion_adicional[k].valor;
            //                }
            //            }
            //            d.linea[j].indicacion_exento_gravado = detalle.linea[j].indicacion_exento_gravado;
            //            d.linea[j].numeroLinea = detalle.linea[j].numeroLinea;
            //            d.linea[j].precio_unitario = detalle.linea[j].precio_unitario;
            //            d.linea[j].precio_unitarioSpecified = detalle.linea[j].precio_unitarioSpecified;
            //            d.linea[j].unidad = detalle.linea[j].unidad;
            //        }
            //        else
            //        {
            //            break;
            //        }
            //    }
            //    cIBK.detalle = d;

            //    //Info Extensiones
            //    cIBK.extensiones = new FeaEntidades.InterFacturas.extensiones();
            //    cIBK.extensionesSpecified = false;
            //    if (lcIBK.comprobante[i].extensiones != null)
            //    {
            //        cIBK.extensiones = new FeaEntidades.InterFacturas.extensiones();
            //        cIBK.extensionesSpecified = true;
            //        if (lcIBK.comprobante[i].extensiones.extensiones_camara_facturas != null)
            //        {
            //            cIBK.extensiones.extensiones_camara_facturasSpecified = true;
            //            cIBK.extensiones.extensiones_camara_facturas = new FeaEntidades.InterFacturas.extensionesExtensiones_camara_facturas();
            //            cIBK.extensiones.extensiones_camara_facturas.clave_de_vinculacion = lcIBK.comprobante[i].extensiones.extensiones_camara_facturas.clave_de_vinculacion;
            //            cIBK.extensiones.extensiones_camara_facturas.id_idioma = lcIBK.comprobante[i].extensiones.extensiones_camara_facturas.id_idioma;
            //            cIBK.extensiones.extensiones_camara_facturas.id_template = lcIBK.comprobante[i].extensiones.extensiones_camara_facturas.id_template;
            //        }
            //        if (lcIBK.comprobante[i].extensiones.extensiones_datos_comerciales != null)
            //        {
            //            cIBK.extensiones.extensiones_datos_comerciales = lcIBK.comprobante[i].extensiones.extensiones_datos_comerciales.ToString();
            //        }
            //        if (lcIBK.comprobante[i].extensiones.extensiones_datos_marketing != null)
            //        {
            //            cIBK.extensiones.extensiones_datos_marketing = lcIBK.comprobante[i].extensiones.extensiones_datos_marketing;
            //        }
            //        if (lcIBK.comprobante[i].extensiones.extensiones_destinatarios != null)
            //        {
            //            cIBK.extensiones.extensiones_destinatarios = new FeaEntidades.InterFacturas.extensionesExtensiones_destinatarios();
            //            cIBK.extensiones.extensiones_destinatarios.email = lcIBK.comprobante[i].extensiones.extensiones_destinatarios.email;
            //        }
            //    }

            //    cIBK.resumen = new FeaEntidades.InterFacturas.resumen();
            //    cIBK.resumen.cant_alicuotas_iva = lcIBK.comprobante[i].resumen.cant_alicuotas_iva;
            //    cIBK.resumen.cant_alicuotas_ivaSpecified = lcIBK.comprobante[i].resumen.cant_alicuotas_ivaSpecified;
            //    cIBK.resumen.codigo_moneda = lcIBK.comprobante[i].resumen.codigo_moneda;

            //    cIBK.resumen.descuentos = new FeaEntidades.InterFacturas.resumenDescuentos[0];

            //    cIBK.resumen.cant_alicuotas_iva = lcIBK.comprobante[i].resumen.cant_alicuotas_iva;
            //    cIBK.resumen.cant_alicuotas_ivaSpecified = lcIBK.comprobante[i].resumen.cant_alicuotas_ivaSpecified;
            //    cIBK.resumen.codigo_moneda = lcIBK.comprobante[i].resumen.codigo_moneda;

            //    cIBK.resumen.importe_operaciones_exentas = lcIBK.comprobante[i].resumen.importe_operaciones_exentas;
            //    cIBK.resumen.importe_total_concepto_no_gravado = lcIBK.comprobante[i].resumen.importe_total_concepto_no_gravado;
            //    cIBK.resumen.importe_total_factura = lcIBK.comprobante[i].resumen.importe_total_factura;
            //    cIBK.resumen.importe_total_impuestos_internos = lcIBK.comprobante[i].resumen.importe_total_impuestos_internos;
            //    cIBK.resumen.importe_total_impuestos_internosSpecified = lcIBK.comprobante[i].resumen.importe_total_impuestos_internosSpecified;
            //    cIBK.resumen.importe_total_impuestos_municipales = lcIBK.comprobante[i].resumen.importe_total_impuestos_municipales;
            //    cIBK.resumen.importe_total_impuestos_municipalesSpecified = lcIBK.comprobante[i].resumen.importe_total_impuestos_municipalesSpecified;
            //    cIBK.resumen.importe_total_impuestos_nacionales = lcIBK.comprobante[i].resumen.importe_total_impuestos_nacionales;
            //    cIBK.resumen.importe_total_impuestos_nacionalesSpecified = lcIBK.comprobante[i].resumen.importe_total_impuestos_nacionalesSpecified;
            //    cIBK.resumen.importe_total_ingresos_brutos = lcIBK.comprobante[i].resumen.importe_total_ingresos_brutos;
            //    cIBK.resumen.importe_total_ingresos_brutosSpecified = lcIBK.comprobante[i].resumen.importe_total_ingresos_brutosSpecified;
            //    cIBK.resumen.importe_total_neto_gravado = lcIBK.comprobante[i].resumen.importe_total_neto_gravado;

            //    if (lcIBK.comprobante[i].resumen.importes_moneda_origen != null)
            //    {
            //        cIBK.resumen.importes_moneda_origen = new FeaEntidades.InterFacturas.resumenImportes_moneda_origen();
            //        cIBK.resumen.importes_moneda_origen.importe_operaciones_exentas = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_operaciones_exentas;
            //        cIBK.resumen.importes_moneda_origen.importe_total_concepto_no_gravado = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_concepto_no_gravado;
            //        cIBK.resumen.importes_moneda_origen.importe_total_factura = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_factura;
            //        cIBK.resumen.importes_moneda_origen.importe_total_impuestos_internos = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_internos;
            //        cIBK.resumen.importes_moneda_origen.importe_total_impuestos_internosSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_internosSpecified;
            //        cIBK.resumen.importes_moneda_origen.importe_total_impuestos_municipales = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_municipales;
            //        cIBK.resumen.importes_moneda_origen.importe_total_impuestos_municipalesSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_municipalesSpecified;
            //        cIBK.resumen.importes_moneda_origen.importe_total_impuestos_nacionales = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_nacionales;
            //        cIBK.resumen.importes_moneda_origen.importe_total_impuestos_nacionalesSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_nacionalesSpecified;
            //        cIBK.resumen.importes_moneda_origen.importe_total_ingresos_brutos = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_ingresos_brutos;
            //        cIBK.resumen.importes_moneda_origen.importe_total_ingresos_brutosSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_ingresos_brutosSpecified;
            //        cIBK.resumen.importes_moneda_origen.importe_total_neto_gravado = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_neto_gravado;
            //        cIBK.resumen.importes_moneda_origen.impuesto_liq = lcIBK.comprobante[i].resumen.importes_moneda_origen.impuesto_liq;
            //        cIBK.resumen.importes_moneda_origen.impuesto_liq_rni = lcIBK.comprobante[i].resumen.importes_moneda_origen.impuesto_liq_rni;
            //    }

            //    cIBK.resumen.impuesto_liq = lcIBK.comprobante[i].resumen.impuesto_liq;
            //    cIBK.resumen.impuesto_liq_rni = lcIBK.comprobante[i].resumen.impuesto_liq_rni;

            //    if (lcIBK.comprobante[i].resumen.descuentos != null)
            //    {
            //        cIBK.resumen.descuentos = new FeaEntidades.InterFacturas.resumenDescuentos[lcIBK.comprobante[i].resumen.descuentos.Length];
            //        for (int l = 0; l < lcIBK.comprobante[i].resumen.descuentos.Length; l++)
            //        {
            //            if (lcIBK.comprobante[i].resumen.descuentos[l] != null)
            //            {
            //                cIBK.resumen.descuentos[l] = new FeaEntidades.InterFacturas.resumenDescuentos();
            //                cIBK.resumen.descuentos[l].alicuota_iva_descuento = lcIBK.comprobante[i].resumen.descuentos[l].alicuota_iva_descuento;
            //                cIBK.resumen.descuentos[l].alicuota_iva_descuentoSpecified = lcIBK.comprobante[i].resumen.descuentos[l].alicuota_iva_descuentoSpecified;
            //                cIBK.resumen.descuentos[l].descripcion_descuento = lcIBK.comprobante[i].resumen.descuentos[l].descripcion_descuento;
            //                cIBK.resumen.descuentos[l].importe_descuento = lcIBK.comprobante[i].resumen.descuentos[l].importe_descuento;
            //                cIBK.resumen.descuentos[l].importe_descuento_moneda_origen = lcIBK.comprobante[i].resumen.descuentos[l].importe_descuento_moneda_origen;
            //                cIBK.resumen.descuentos[l].importe_descuento_moneda_origenSpecified = lcIBK.comprobante[i].resumen.descuentos[l].importe_descuento_moneda_origenSpecified;
            //                cIBK.resumen.descuentos[l].importe_iva_descuento = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuento;
            //                cIBK.resumen.descuentos[l].importe_iva_descuento_moneda_origen = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuento_moneda_origen;
            //                cIBK.resumen.descuentos[l].importe_iva_descuento_moneda_origenSpecified = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuento_moneda_origenSpecified;
            //                cIBK.resumen.descuentos[l].importe_iva_descuentoSpecified = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuentoSpecified;
            //                cIBK.resumen.descuentos[l].porcentaje_descuento = lcIBK.comprobante[i].resumen.descuentos[l].porcentaje_descuento;
            //                cIBK.resumen.descuentos[l].porcentaje_descuentoSpecified = lcIBK.comprobante[i].resumen.descuentos[l].porcentaje_descuentoSpecified;
            //                cIBK.resumen.descuentos[l].indicacion_exento_gravado_descuento = lcIBK.comprobante[i].resumen.descuentos[l].indicacion_exento_gravado_descuento;
            //            }
            //        }
            //    }

            //    if (lcIBK.comprobante[i].resumen.impuestos != null)
            //    {
            //        cIBK.resumen.impuestos = new FeaEntidades.InterFacturas.resumenImpuestos[lcIBK.comprobante[i].resumen.impuestos.Length];
            //        for (int l = 0; l < lcIBK.comprobante[i].resumen.impuestos.Length; l++)
            //        {
            //            if (lcIBK.comprobante[i].resumen.impuestos[l] != null)
            //            {
            //                cIBK.resumen.impuestos[l] = new FeaEntidades.InterFacturas.resumenImpuestos();
            //                cIBK.resumen.impuestos[l].codigo_impuesto = lcIBK.comprobante[i].resumen.impuestos[l].codigo_impuesto;
            //                cIBK.resumen.impuestos[l].codigo_jurisdiccion = lcIBK.comprobante[i].resumen.impuestos[l].codigo_jurisdiccion;
            //                cIBK.resumen.impuestos[l].codigo_jurisdiccionSpecified = lcIBK.comprobante[i].resumen.impuestos[l].codigo_jurisdiccionSpecified;
            //                cIBK.resumen.impuestos[l].descripcion = lcIBK.comprobante[i].resumen.impuestos[l].descripcion;
            //                cIBK.resumen.impuestos[l].importe_impuesto = lcIBK.comprobante[i].resumen.impuestos[l].importe_impuesto;
            //                cIBK.resumen.impuestos[l].importe_impuesto_moneda_origen = lcIBK.comprobante[i].resumen.impuestos[l].importe_impuesto_moneda_origen;
            //                cIBK.resumen.impuestos[l].importe_impuesto_moneda_origenSpecified = lcIBK.comprobante[i].resumen.impuestos[l].importe_impuesto_moneda_origenSpecified;
            //                cIBK.resumen.impuestos[l].jurisdiccion_municipal = lcIBK.comprobante[i].resumen.impuestos[l].jurisdiccion_municipal;
            //                cIBK.resumen.impuestos[l].porcentaje_impuesto = lcIBK.comprobante[i].resumen.impuestos[l].porcentaje_impuesto;
            //                cIBK.resumen.impuestos[l].porcentaje_impuestoSpecified = lcIBK.comprobante[i].resumen.impuestos[l].porcentaje_impuestoSpecified;
            //            }
            //        }
            //    }
            //    cIBK.resumen.observaciones = lcIBK.comprobante[i].resumen.observaciones;
            //    cIBK.resumen.tipo_de_cambio = lcIBK.comprobante[i].resumen.tipo_de_cambio;

            //    lcFEA.comprobante[i] = cIBK;
            //}
            return cFEA;
        }
Ejemplo n.º 14
0
 public FeaEntidades.InterFacturas.comprobante ConsultarIBKP(IBKP.consulta_detalle_comprobante cdc, string certificado)
 {
     FeaEntidades.InterFacturas.comprobante c = new FeaEntidades.InterFacturas.comprobante();
     IBKP.ConsultaFacturaWebServiceConSchema objIBKP;
     objIBKP = new IBKP.ConsultaFacturaWebServiceConSchema();
     objIBKP.Url = System.Configuration.ConfigurationManager.AppSettings["URLinterfacturasP"];
     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;
         objIBKP.Proxy = wp;
     }
     X509Store store = new X509Store(StoreLocation.CurrentUser);
     store.Open(OpenFlags.ReadOnly);
     X509Certificate2Collection col = store.Certificates.Find(X509FindType.FindBySerialNumber, certificado, true);
     if (col.Count.Equals(1))
     {
         objIBKP.ClientCertificates.Add(col[0]);
         System.Threading.Thread.Sleep(1000);
         IBKP.consulta_detalle_comprobante_response cdcr = objIBKP.consultaDetalleConSchema(cdc);
         IBKP.consulta_detalle_response cdr;
         try
         {
             cdr = (IBKP.consulta_detalle_response)cdcr.Item;
             IBKP.comprobante cIBK = (IBKP.comprobante)cdr.Item;
             c = IBKP2Fea(cIBK);
         }
         catch (InvalidCastException)
         {
             string errorText = "";
             throw new Exception(errorText.ToString());
         }
         catch (Exception ex)
         {
             throw new Exception(ex.Message);
         }
         return c;
     }
     else
     {
         throw new Exception("Su certificado no está disponible en nuestro repositorio");
     }
 }
Ejemplo n.º 15
0
        static internal FeaEntidades.InterFacturas.lote_comprobantes IBK2Entidad(IBK.lote_comprobantes lcIBK)
        {
            FeaEntidades.InterFacturas.lote_comprobantes lcFEA = new FeaEntidades.InterFacturas.lote_comprobantes();

            lcFEA.cabecera_lote = new FeaEntidades.InterFacturas.cabecera_lote();
            lcFEA.cabecera_lote.cantidad_reg = lcIBK.cabecera_lote.cantidad_reg;
            lcFEA.cabecera_lote.cod_interno_canal = lcIBK.cabecera_lote.cod_interno_canal;
            lcFEA.cabecera_lote.cuit_canal = lcIBK.cabecera_lote.cuit_canal;
            lcFEA.cabecera_lote.cuit_vendedor = lcIBK.cabecera_lote.cuit_vendedor;
            lcFEA.cabecera_lote.fecha_envio_lote = lcIBK.cabecera_lote.fecha_envio_lote;
            lcFEA.cabecera_lote.id_lote = lcIBK.cabecera_lote.id_lote;
            lcFEA.cabecera_lote.motivo = lcIBK.cabecera_lote.motivo;
            lcFEA.cabecera_lote.presta_serv = lcIBK.cabecera_lote.presta_serv;
            lcFEA.cabecera_lote.presta_servSpecified = lcIBK.cabecera_lote.presta_servSpecified;
            lcFEA.cabecera_lote.punto_de_venta = lcIBK.cabecera_lote.punto_de_venta;
            lcFEA.cabecera_lote.resultado = lcIBK.cabecera_lote.resultado;

            lcFEA.comprobante = new FeaEntidades.InterFacturas.comprobante[lcIBK.comprobante.Length];

            for (int i = 0; i < lcIBK.comprobante.Length; i++)
            {
                FeaEntidades.InterFacturas.comprobante cIBK = new FeaEntidades.InterFacturas.comprobante();

                cIBK.cabecera = new FeaEntidades.InterFacturas.cabecera();

                cIBK.cabecera.informacion_comprador = new FeaEntidades.InterFacturas.informacion_comprador();
                cIBK.cabecera.informacion_comprador.codigo_doc_identificatorio = lcIBK.comprobante[i].cabecera.informacion_comprador.codigo_doc_identificatorio;
                cIBK.cabecera.informacion_comprador.codigo_interno = lcIBK.comprobante[i].cabecera.informacion_comprador.codigo_interno;
                cIBK.cabecera.informacion_comprador.condicion_ingresos_brutos = lcIBK.comprobante[i].cabecera.informacion_comprador.condicion_ingresos_brutos;
                cIBK.cabecera.informacion_comprador.condicion_ingresos_brutosSpecified = lcIBK.comprobante[i].cabecera.informacion_comprador.condicion_ingresos_brutosSpecified;
                cIBK.cabecera.informacion_comprador.condicion_IVA = lcIBK.comprobante[i].cabecera.informacion_comprador.condicion_IVA;
                cIBK.cabecera.informacion_comprador.condicion_IVASpecified = lcIBK.comprobante[i].cabecera.informacion_comprador.condicion_IVASpecified;
                cIBK.cabecera.informacion_comprador.contacto = lcIBK.comprobante[i].cabecera.informacion_comprador.contacto;
                cIBK.cabecera.informacion_comprador.cp = lcIBK.comprobante[i].cabecera.informacion_comprador.cp;
                cIBK.cabecera.informacion_comprador.denominacion = lcIBK.comprobante[i].cabecera.informacion_comprador.denominacion;
                cIBK.cabecera.informacion_comprador.domicilio_calle = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_calle;
                cIBK.cabecera.informacion_comprador.domicilio_depto = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_depto;
                cIBK.cabecera.informacion_comprador.domicilio_manzana = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_manzana;
                cIBK.cabecera.informacion_comprador.domicilio_numero = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_numero;
                cIBK.cabecera.informacion_comprador.domicilio_piso = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_piso;
                cIBK.cabecera.informacion_comprador.domicilio_sector = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_sector;
                cIBK.cabecera.informacion_comprador.domicilio_torre = lcIBK.comprobante[i].cabecera.informacion_comprador.domicilio_torre;
                cIBK.cabecera.informacion_comprador.email = lcIBK.comprobante[i].cabecera.informacion_comprador.email;
                cIBK.cabecera.informacion_comprador.GLN = lcIBK.comprobante[i].cabecera.informacion_comprador.GLN;
                cIBK.cabecera.informacion_comprador.GLNSpecified = lcIBK.comprobante[i].cabecera.informacion_comprador.GLNSpecified;
                cIBK.cabecera.informacion_comprador.inicio_de_actividades = lcIBK.comprobante[i].cabecera.informacion_comprador.inicio_de_actividades;
                cIBK.cabecera.informacion_comprador.localidad = lcIBK.comprobante[i].cabecera.informacion_comprador.localidad;
                cIBK.cabecera.informacion_comprador.nro_doc_identificatorio = lcIBK.comprobante[i].cabecera.informacion_comprador.nro_doc_identificatorio;
                cIBK.cabecera.informacion_comprador.nro_ingresos_brutos = lcIBK.comprobante[i].cabecera.informacion_comprador.nro_ingresos_brutos;
                cIBK.cabecera.informacion_comprador.provincia = lcIBK.comprobante[i].cabecera.informacion_comprador.provincia;
                cIBK.cabecera.informacion_comprador.telefono = lcIBK.comprobante[i].cabecera.informacion_comprador.telefono;
                cIBK.cabecera.informacion_comprobante = new FeaEntidades.InterFacturas.informacion_comprobante();
                cIBK.cabecera.informacion_comprobante.cae = lcIBK.comprobante[i].cabecera.informacion_comprobante.cae;
                cIBK.cabecera.informacion_comprobante.caeSpecified = false;
                if (cIBK.cabecera.informacion_comprobante.cae != "")
                {
                    cIBK.cabecera.informacion_comprobante.caeSpecified = true;
                }
                cIBK.cabecera.informacion_comprobante.codigo_operacion = lcIBK.comprobante[i].cabecera.informacion_comprobante.codigo_operacion;
                cIBK.cabecera.informacion_comprobante.condicion_de_pago = lcIBK.comprobante[i].cabecera.informacion_comprobante.condicion_de_pago;
                cIBK.cabecera.informacion_comprobante.condicion_de_pagoSpecified = true;
                cIBK.cabecera.informacion_comprobante.es_detalle_encriptado = lcIBK.comprobante[i].cabecera.informacion_comprobante.es_detalle_encriptado;
                cIBK.cabecera.informacion_comprobante.fecha_emision = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_emision;
                cIBK.cabecera.informacion_comprobante.fecha_obtencion_cae = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_obtencion_cae;
                cIBK.cabecera.informacion_comprobante.fecha_obtencion_caeSpecified = false;
                if (cIBK.cabecera.informacion_comprobante.fecha_obtencion_cae != "")
                {
                    cIBK.cabecera.informacion_comprobante.fecha_obtencion_caeSpecified = true;
                }
                cIBK.cabecera.informacion_comprobante.fecha_serv_desde = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_serv_desde;
                cIBK.cabecera.informacion_comprobante.fecha_serv_hasta = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_serv_hasta;
                cIBK.cabecera.informacion_comprobante.fecha_vencimiento = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento;
                cIBK.cabecera.informacion_comprobante.fecha_vencimiento_cae = lcIBK.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento_cae;
                cIBK.cabecera.informacion_comprobante.fecha_vencimiento_caeSpecified = false;
                if (cIBK.cabecera.informacion_comprobante.fecha_vencimiento_cae != "")
                {
                    cIBK.cabecera.informacion_comprobante.fecha_vencimiento_caeSpecified = true;
                }
                cIBK.cabecera.informacion_comprobante.iva_computable = lcIBK.comprobante[i].cabecera.informacion_comprobante.iva_computable;
                cIBK.cabecera.informacion_comprobante.motivo = lcIBK.comprobante[i].cabecera.informacion_comprobante.motivo;
                cIBK.cabecera.informacion_comprobante.numero_comprobante = lcIBK.comprobante[i].cabecera.informacion_comprobante.numero_comprobante;
                cIBK.cabecera.informacion_comprobante.punto_de_venta = lcIBK.comprobante[i].cabecera.informacion_comprobante.punto_de_venta;

                if (lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias != null)
                {
                    cIBK.cabecera.informacion_comprobante.referencias = new FeaEntidades.InterFacturas.informacion_comprobanteReferencias[lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias.Length];

                    for (int j = 0; j < lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias.Length; j++)
                    {
                        if (lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias[j] != null)
                        {
                            cIBK.cabecera.informacion_comprobante.referencias[j] = new FeaEntidades.InterFacturas.informacion_comprobanteReferencias();
                            cIBK.cabecera.informacion_comprobante.referencias[j].codigo_de_referencia = lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias[j].codigo_de_referencia;
                            cIBK.cabecera.informacion_comprobante.referencias[j].dato_de_referencia = lcIBK.comprobante[i].cabecera.informacion_comprobante.referencias[j].dato_de_referencia;
                        }
                    }
                }

                if (lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion != null)
                {
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion = new FeaEntidades.InterFacturas.informacion_exportacion();
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.destino_comprobante = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.destino_comprobante;
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.tipo_exportacion = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.tipo_exportacion;
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.id_impositivo = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.id_impositivo;
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.incoterms = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.incoterms;
                    cIBK.cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms;
                    if (lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permiso_existente != null && lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permiso_existente != "")
                    {
                        cIBK.cabecera.informacion_comprobante.informacion_exportacion.permiso_existente = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permiso_existente;
                    }
                    if (lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos != null)
                    {
                        cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos = new FeaEntidades.InterFacturas.permisos[lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos.Length];
                        for (int j = 0; j < lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos.Length; j++)
                        {
                            if (lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos[j] != null)
                            {
                                cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j] = new FeaEntidades.InterFacturas.permisos();
                                cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].id_permiso = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos[j].id_permiso;
                                cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].destino_mercaderia = lcIBK.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos[j].destino_mercaderia;
                            }
                        }
                    }
                }

                cIBK.cabecera.informacion_comprobante.resultado = lcIBK.comprobante[i].cabecera.informacion_comprobante.resultado;
                cIBK.cabecera.informacion_comprobante.tipo_de_comprobante = lcIBK.comprobante[i].cabecera.informacion_comprobante.tipo_de_comprobante;

                cIBK.cabecera.informacion_vendedor = new FeaEntidades.InterFacturas.informacion_vendedor();
                cIBK.cabecera.informacion_vendedor.codigo_interno = lcIBK.comprobante[i].cabecera.informacion_vendedor.codigo_interno;
                cIBK.cabecera.informacion_vendedor.condicion_ingresos_brutos = lcIBK.comprobante[i].cabecera.informacion_vendedor.condicion_ingresos_brutos;
                cIBK.cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified = lcIBK.comprobante[i].cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified;
                cIBK.cabecera.informacion_vendedor.condicion_IVA = lcIBK.comprobante[i].cabecera.informacion_vendedor.condicion_IVA;
                cIBK.cabecera.informacion_vendedor.condicion_IVASpecified = lcIBK.comprobante[i].cabecera.informacion_vendedor.condicion_IVASpecified;
                cIBK.cabecera.informacion_vendedor.contacto = lcIBK.comprobante[i].cabecera.informacion_vendedor.contacto;
                cIBK.cabecera.informacion_vendedor.cp = lcIBK.comprobante[i].cabecera.informacion_vendedor.cp;
                cIBK.cabecera.informacion_vendedor.cuit = lcIBK.comprobante[i].cabecera.informacion_vendedor.cuit;
                cIBK.cabecera.informacion_vendedor.domicilio_calle = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_calle;
                cIBK.cabecera.informacion_vendedor.domicilio_depto = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_depto;
                cIBK.cabecera.informacion_vendedor.domicilio_manzana = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_manzana;
                cIBK.cabecera.informacion_vendedor.domicilio_numero = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_numero;
                cIBK.cabecera.informacion_vendedor.domicilio_piso = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_piso;
                cIBK.cabecera.informacion_vendedor.domicilio_sector = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_sector;
                cIBK.cabecera.informacion_vendedor.domicilio_torre = lcIBK.comprobante[i].cabecera.informacion_vendedor.domicilio_torre;
                cIBK.cabecera.informacion_vendedor.email = lcIBK.comprobante[i].cabecera.informacion_vendedor.email;
                cIBK.cabecera.informacion_vendedor.GLN = lcIBK.comprobante[i].cabecera.informacion_vendedor.GLN;
                cIBK.cabecera.informacion_vendedor.GLNSpecified = lcIBK.comprobante[i].cabecera.informacion_vendedor.GLNSpecified;
                cIBK.cabecera.informacion_vendedor.inicio_de_actividades = lcIBK.comprobante[i].cabecera.informacion_vendedor.inicio_de_actividades;
                cIBK.cabecera.informacion_vendedor.localidad = lcIBK.comprobante[i].cabecera.informacion_vendedor.localidad;
                cIBK.cabecera.informacion_vendedor.nro_ingresos_brutos = lcIBK.comprobante[i].cabecera.informacion_vendedor.nro_ingresos_brutos;
                cIBK.cabecera.informacion_vendedor.provincia = lcIBK.comprobante[i].cabecera.informacion_vendedor.provincia;
                cIBK.cabecera.informacion_vendedor.telefono = lcIBK.comprobante[i].cabecera.informacion_vendedor.telefono;

                cIBK.extensiones = new FeaEntidades.InterFacturas.extensiones();
                if (lcIBK.comprobante[i].extensiones.extensiones_camara_facturas != null)
                {
                    cIBK.extensiones.extensiones_camara_facturas = new FeaEntidades.InterFacturas.extensionesExtensiones_camara_facturas();
                    cIBK.extensiones.extensiones_camara_facturas.clave_de_vinculacion = lcIBK.comprobante[i].extensiones.extensiones_camara_facturas.clave_de_vinculacion;
                    cIBK.extensiones.extensiones_camara_facturas.id_idioma = lcIBK.comprobante[i].extensiones.extensiones_camara_facturas.id_idioma;
                    cIBK.extensiones.extensiones_camara_facturas.id_template = lcIBK.comprobante[i].extensiones.extensiones_camara_facturas.id_template;
                }
                if (lcIBK.comprobante[i].extensiones.extensiones_datos_comerciales != null)
                {
                    cIBK.extensiones.extensiones_datos_comerciales = lcIBK.comprobante[i].extensiones.extensiones_datos_comerciales.ToString();
                }
                if (lcIBK.comprobante[i].extensiones.extensiones_datos_marketing != null)
                {
                    cIBK.extensiones.extensiones_datos_marketing = lcIBK.comprobante[i].extensiones.extensiones_datos_marketing;
                }

                FeaEntidades.InterFacturas.detalle d = new FeaEntidades.InterFacturas.detalle();
                IBK.detalle detalle = (IBK.detalle)lcIBK.comprobante[i].Item;
                d.linea = new FeaEntidades.InterFacturas.linea[detalle.linea.Length];
                d.comentarios = detalle.comentarios;

                for (int j = 0; j < detalle.linea.Length; j++)
                {
                    if (detalle.linea[j] != null)
                    {
                        d.linea[j] = new FeaEntidades.InterFacturas.linea();
                        d.linea[j].alicuota_iva = detalle.linea[j].alicuota_iva;
                        d.linea[j].alicuota_ivaSpecified = detalle.linea[j].alicuota_ivaSpecified;
                        d.linea[j].cantidad = detalle.linea[j].cantidad;
                        d.linea[j].cantidadSpecified = detalle.linea[j].cantidadSpecified;
                        d.linea[j].codigo_producto_comprador = detalle.linea[j].codigo_producto_comprador;
                        d.linea[j].codigo_producto_vendedor = detalle.linea[j].codigo_producto_vendedor;
                        d.linea[j].descripcion = detalle.linea[j].descripcion;

                        d.linea[j].GTIN = detalle.linea[j].GTIN;
                        d.linea[j].GTINSpecified = detalle.linea[j].GTINSpecified;
                        d.linea[j].importe_iva = detalle.linea[j].importe_iva;
                        d.linea[j].importe_ivaSpecified = detalle.linea[j].importe_ivaSpecified;
                        d.linea[j].importe_total_articulo = detalle.linea[j].importe_total_articulo;
                        d.linea[j].importe_total_descuentos = detalle.linea[j].importe_total_descuentos;
                        d.linea[j].importe_total_descuentosSpecified = detalle.linea[j].importe_total_descuentosSpecified;
                        d.linea[j].importe_total_impuestos = detalle.linea[j].importe_total_impuestos;
                        d.linea[j].importe_total_impuestosSpecified = detalle.linea[j].importe_total_impuestosSpecified;

                        if (detalle.linea[j].importes_moneda_origen != null)
                        {
                            d.linea[j].importes_moneda_origen = new FeaEntidades.InterFacturas.lineaImportes_moneda_origen();
                            d.linea[j].importes_moneda_origen.importe_iva = detalle.linea[j].importes_moneda_origen.importe_iva;
                            d.linea[j].importes_moneda_origen.importe_ivaSpecified = detalle.linea[j].importes_moneda_origen.importe_ivaSpecified;
                            d.linea[j].importes_moneda_origen.importe_total_articulo = detalle.linea[j].importes_moneda_origen.importe_total_articulo;
                            d.linea[j].importes_moneda_origen.importe_total_articuloSpecified = detalle.linea[j].importes_moneda_origen.importe_total_articuloSpecified;
                            d.linea[j].importes_moneda_origen.importe_total_descuentos = detalle.linea[j].importes_moneda_origen.importe_total_descuentos;
                            d.linea[j].importes_moneda_origen.importe_total_descuentosSpecified = detalle.linea[j].importes_moneda_origen.importe_total_descuentosSpecified;
                            d.linea[j].importes_moneda_origen.importe_total_impuestos = detalle.linea[j].importes_moneda_origen.importe_total_impuestos;
                            d.linea[j].importes_moneda_origen.importe_total_impuestosSpecified = detalle.linea[j].importes_moneda_origen.importe_total_impuestosSpecified;
                            d.linea[j].importes_moneda_origen.precio_unitario = detalle.linea[j].importes_moneda_origen.precio_unitario;
                            d.linea[j].importes_moneda_origen.precio_unitarioSpecified = detalle.linea[j].importes_moneda_origen.precio_unitarioSpecified;
                        }

                        if (detalle.linea[j].impuestos != null)
                        {
                            d.linea[j].impuestos = new FeaEntidades.InterFacturas.lineaImpuestos[detalle.linea[j].impuestos.Length];
                            for (int k = 0; k < d.linea[j].impuestos.Length; k++)
                            {
                                d.linea[j].impuestos[k] = new FeaEntidades.InterFacturas.lineaImpuestos();
                                d.linea[j].impuestos[k].codigo_impuesto = detalle.linea[j].impuestos[k].codigo_impuesto;
                                d.linea[j].impuestos[k].descripcion_impuesto = detalle.linea[j].impuestos[k].descripcion_impuesto;
                                d.linea[j].impuestos[k].importe_impuesto = detalle.linea[j].impuestos[k].importe_impuesto;
                                d.linea[j].impuestos[k].importe_impuesto_moneda_origen = detalle.linea[j].impuestos[k].importe_impuesto_moneda_origen;
                                d.linea[j].impuestos[k].importe_impuesto_moneda_origenSpecified = detalle.linea[j].impuestos[k].importe_impuesto_moneda_origenSpecified;
                                d.linea[j].impuestos[k].porcentaje_impuesto = detalle.linea[j].impuestos[k].porcentaje_impuesto;
                                d.linea[j].impuestos[k].porcentaje_impuestoSpecified = detalle.linea[j].impuestos[k].porcentaje_impuestoSpecified;
                            }
                        }
                        if (detalle.linea[j].descuentos != null)
                        {
                            d.linea[j].lineaDescuentos = new FeaEntidades.InterFacturas.lineaDescuentos[detalle.linea[j].descuentos.Length];
                            for (int k = 0; k < d.linea[j].lineaDescuentos.Length; k++)
                            {
                                d.linea[j].lineaDescuentos[k] = new FeaEntidades.InterFacturas.lineaDescuentos();
                                d.linea[j].lineaDescuentos[k].descripcion_descuento = detalle.linea[j].descuentos[k].descripcion_descuento;
                                d.linea[j].lineaDescuentos[k].importe_descuento = detalle.linea[j].descuentos[k].importe_descuento;
                                d.linea[j].lineaDescuentos[k].importe_descuento_moneda_origen = detalle.linea[j].descuentos[k].importe_descuento_moneda_origen;
                                d.linea[j].lineaDescuentos[k].importe_descuento_moneda_origenSpecified = detalle.linea[j].descuentos[k].importe_descuento_moneda_origenSpecified;
                                d.linea[j].lineaDescuentos[k].porcentaje_descuento = detalle.linea[j].descuentos[k].porcentaje_descuento;
                                d.linea[j].lineaDescuentos[k].porcentaje_descuentoSpecified = detalle.linea[j].descuentos[k].porcentaje_descuentoSpecified;
                            }
                        }

                        d.linea[j].indicacion_exento_gravado = detalle.linea[j].indicacion_exento_gravado;
                        d.linea[j].numeroLinea = detalle.linea[j].numeroLinea;
                        d.linea[j].precio_unitario = detalle.linea[j].precio_unitario;
                        d.linea[j].precio_unitarioSpecified = detalle.linea[j].precio_unitarioSpecified;
                        d.linea[j].unidad = detalle.linea[j].unidad;
                    }
                    else
                    {
                        break;
                    }
                }

                cIBK.detalle = d;

                cIBK.resumen = new FeaEntidades.InterFacturas.resumen();
                cIBK.resumen.cant_alicuotas_iva = lcIBK.comprobante[i].resumen.cant_alicuotas_iva;
                cIBK.resumen.cant_alicuotas_ivaSpecified = lcIBK.comprobante[i].resumen.cant_alicuotas_ivaSpecified;
                cIBK.resumen.codigo_moneda = lcIBK.comprobante[i].resumen.codigo_moneda;

                cIBK.resumen.descuentos = new FeaEntidades.InterFacturas.resumenDescuentos[0];

                cIBK.resumen.cant_alicuotas_iva = lcIBK.comprobante[i].resumen.cant_alicuotas_iva;
                cIBK.resumen.cant_alicuotas_ivaSpecified = lcIBK.comprobante[i].resumen.cant_alicuotas_ivaSpecified;
                cIBK.resumen.codigo_moneda = lcIBK.comprobante[i].resumen.codigo_moneda;

                cIBK.resumen.importe_operaciones_exentas = lcIBK.comprobante[i].resumen.importe_operaciones_exentas;
                cIBK.resumen.importe_total_concepto_no_gravado = lcIBK.comprobante[i].resumen.importe_total_concepto_no_gravado;
                cIBK.resumen.importe_total_factura = lcIBK.comprobante[i].resumen.importe_total_factura;
                cIBK.resumen.importe_total_impuestos_internos = lcIBK.comprobante[i].resumen.importe_total_impuestos_internos;
                cIBK.resumen.importe_total_impuestos_internosSpecified = lcIBK.comprobante[i].resumen.importe_total_impuestos_internosSpecified;
                cIBK.resumen.importe_total_impuestos_municipales = lcIBK.comprobante[i].resumen.importe_total_impuestos_municipales;
                cIBK.resumen.importe_total_impuestos_municipalesSpecified = lcIBK.comprobante[i].resumen.importe_total_impuestos_municipalesSpecified;
                cIBK.resumen.importe_total_impuestos_nacionales = lcIBK.comprobante[i].resumen.importe_total_impuestos_nacionales;
                cIBK.resumen.importe_total_impuestos_nacionalesSpecified = lcIBK.comprobante[i].resumen.importe_total_impuestos_nacionalesSpecified;
                cIBK.resumen.importe_total_ingresos_brutos = lcIBK.comprobante[i].resumen.importe_total_ingresos_brutos;
                cIBK.resumen.importe_total_ingresos_brutosSpecified = lcIBK.comprobante[i].resumen.importe_total_ingresos_brutosSpecified;
                cIBK.resumen.importe_total_neto_gravado = lcIBK.comprobante[i].resumen.importe_total_neto_gravado;

                if (lcIBK.comprobante[i].resumen.importes_moneda_origen != null)
                {
                    cIBK.resumen.importes_moneda_origen = new FeaEntidades.InterFacturas.resumenImportes_moneda_origen();
                    cIBK.resumen.importes_moneda_origen.importe_operaciones_exentas = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_operaciones_exentas;
                    cIBK.resumen.importes_moneda_origen.importe_total_concepto_no_gravado = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_concepto_no_gravado;
                    cIBK.resumen.importes_moneda_origen.importe_total_factura = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_factura;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_internos = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_internos;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_internosSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_internosSpecified;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_municipales = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_municipales;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_municipalesSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_municipalesSpecified;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_nacionales = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_nacionales;
                    cIBK.resumen.importes_moneda_origen.importe_total_impuestos_nacionalesSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_nacionalesSpecified;
                    cIBK.resumen.importes_moneda_origen.importe_total_ingresos_brutos = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_ingresos_brutos;
                    cIBK.resumen.importes_moneda_origen.importe_total_ingresos_brutosSpecified = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_ingresos_brutosSpecified;
                    cIBK.resumen.importes_moneda_origen.importe_total_neto_gravado = lcIBK.comprobante[i].resumen.importes_moneda_origen.importe_total_neto_gravado;
                    cIBK.resumen.importes_moneda_origen.impuesto_liq = lcIBK.comprobante[i].resumen.importes_moneda_origen.impuesto_liq;
                    cIBK.resumen.importes_moneda_origen.impuesto_liq_rni = lcIBK.comprobante[i].resumen.importes_moneda_origen.impuesto_liq_rni;
                }

                cIBK.resumen.impuesto_liq = lcIBK.comprobante[i].resumen.impuesto_liq;
                cIBK.resumen.impuesto_liq_rni = lcIBK.comprobante[i].resumen.impuesto_liq_rni;

                if (lcIBK.comprobante[i].resumen.descuentos != null)
                {
                    cIBK.resumen.descuentos = new FeaEntidades.InterFacturas.resumenDescuentos[lcIBK.comprobante[i].resumen.descuentos.Length];
                    for (int l = 0; l < lcIBK.comprobante[i].resumen.descuentos.Length; l++)
                    {
                        if (lcIBK.comprobante[i].resumen.descuentos[l] != null)
                        {
                            cIBK.resumen.descuentos[l] = new FeaEntidades.InterFacturas.resumenDescuentos();
                            cIBK.resumen.descuentos[l].alicuota_iva_descuento = lcIBK.comprobante[i].resumen.descuentos[l].alicuota_iva_descuento;
                            cIBK.resumen.descuentos[l].alicuota_iva_descuentoSpecified = lcIBK.comprobante[i].resumen.descuentos[l].alicuota_iva_descuentoSpecified;
                            cIBK.resumen.descuentos[l].descripcion_descuento = lcIBK.comprobante[i].resumen.descuentos[l].descripcion_descuento;
                            cIBK.resumen.descuentos[l].importe_descuento = lcIBK.comprobante[i].resumen.descuentos[l].importe_descuento;
                            cIBK.resumen.descuentos[l].importe_descuento_moneda_origen = lcIBK.comprobante[i].resumen.descuentos[l].importe_descuento_moneda_origen;
                            cIBK.resumen.descuentos[l].importe_descuento_moneda_origenSpecified = lcIBK.comprobante[i].resumen.descuentos[l].importe_descuento_moneda_origenSpecified;
                            cIBK.resumen.descuentos[l].importe_iva_descuento = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuento;
                            cIBK.resumen.descuentos[l].importe_iva_descuento_moneda_origen = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuento_moneda_origen;
                            cIBK.resumen.descuentos[l].importe_iva_descuento_moneda_origenSpecified = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuento_moneda_origenSpecified;
                            cIBK.resumen.descuentos[l].importe_iva_descuentoSpecified = lcIBK.comprobante[i].resumen.descuentos[l].importe_iva_descuentoSpecified;
                            cIBK.resumen.descuentos[l].porcentaje_descuento = lcIBK.comprobante[i].resumen.descuentos[l].porcentaje_descuento;
                            cIBK.resumen.descuentos[l].porcentaje_descuentoSpecified = lcIBK.comprobante[i].resumen.descuentos[l].porcentaje_descuentoSpecified;
                        }
                    }
                }

                if (lcIBK.comprobante[i].resumen.impuestos != null)
                {
                    cIBK.resumen.impuestos = new FeaEntidades.InterFacturas.resumenImpuestos[lcIBK.comprobante[i].resumen.impuestos.Length];
                    for (int l = 0; l < lcIBK.comprobante[i].resumen.impuestos.Length; l++)
                    {
                        if (lcIBK.comprobante[i].resumen.impuestos[l] != null)
                        {
                            cIBK.resumen.impuestos[l] = new FeaEntidades.InterFacturas.resumenImpuestos();
                            cIBK.resumen.impuestos[l].codigo_impuesto = lcIBK.comprobante[i].resumen.impuestos[l].codigo_impuesto;
                            cIBK.resumen.impuestos[l].codigo_jurisdiccion = lcIBK.comprobante[i].resumen.impuestos[l].codigo_jurisdiccion;
                            cIBK.resumen.impuestos[l].codigo_jurisdiccionSpecified = lcIBK.comprobante[i].resumen.impuestos[l].codigo_jurisdiccionSpecified;
                            cIBK.resumen.impuestos[l].descripcion = lcIBK.comprobante[i].resumen.impuestos[l].descripcion;
                            cIBK.resumen.impuestos[l].importe_impuesto = lcIBK.comprobante[i].resumen.impuestos[l].importe_impuesto;
                            cIBK.resumen.impuestos[l].importe_impuesto_moneda_origen = lcIBK.comprobante[i].resumen.impuestos[l].importe_impuesto_moneda_origen;
                            cIBK.resumen.impuestos[l].importe_impuesto_moneda_origenSpecified = lcIBK.comprobante[i].resumen.impuestos[l].importe_impuesto_moneda_origenSpecified;
                            cIBK.resumen.impuestos[l].jurisdiccion_municipal = lcIBK.comprobante[i].resumen.impuestos[l].jurisdiccion_municipal;
                            cIBK.resumen.impuestos[l].porcentaje_impuesto = lcIBK.comprobante[i].resumen.impuestos[l].porcentaje_impuesto;
                            cIBK.resumen.impuestos[l].porcentaje_impuestoSpecified = lcIBK.comprobante[i].resumen.impuestos[l].porcentaje_impuestoSpecified;
                        }
                    }
                }
                cIBK.resumen.observaciones = lcIBK.comprobante[i].resumen.observaciones;
                cIBK.resumen.tipo_de_cambio = lcIBK.comprobante[i].resumen.tipo_de_cambio;

                lcFEA.comprobante[i] = cIBK;
            }
            return lcFEA;
        }
Ejemplo n.º 16
0
 private void BandejaEDataGridView_DoubleClick(object sender, EventArgs e)
 {
     if (BandejaEDataGridView.SelectedRows.Count != 0)
     {
         eFact_RN.IBKP.error[] respErroresComprobantes = new eFact_RN.IBKP.error[0];
         FeaEntidades.InterFacturas.comprobante cIBK = new FeaEntidades.InterFacturas.comprobante();
         eFact_RN.IBKP.consulta_detalle_comprobante cdc = new eFact_RN.IBKP.consulta_detalle_comprobante();
         try
         {
             cdc.cod_interno_canal = "";
             cdc.cuit_canal = Convert.ToInt64(@System.Configuration.ConfigurationManager.AppSettings["CuitCanal"]);
             cdc.cuit_vendedor = Convert.ToInt64(BandejaEDataGridView.Rows[BandejaEDataGridView.SelectedRows[0].Index].Cells["cuit_vendedor"].Value.ToString());
             cdc.punto_de_venta = Convert.ToInt32(BandejaEDataGridView.Rows[BandejaEDataGridView.SelectedRows[0].Index].Cells["punto_de_venta"].Value.ToString());
             cdc.numero_comprobante = Convert.ToInt32(BandejaEDataGridView.Rows[BandejaEDataGridView.SelectedRows[0].Index].Cells["numero_comprobante"].Value.ToString());
             cdc.tipo_de_comprobante = Convert.ToInt32(BandejaEDataGridView.Rows[BandejaEDataGridView.SelectedRows[0].Index].Cells["tipo_de_comprobante"].Value.ToString());
             cdc.tipo_doc_comprador = Convert.ToInt32("80");
             cdc.doc_comprador = Convert.ToInt64(CuitCompradorTextBox.Text);
             cdc.usuario_consulta = Aplicacion.Sesion.Usuario.IdUsuario;
             eFact_RN.Comprobante cc = new eFact_RN.Comprobante();
             cIBK = cc.ConsultarIBKP(cdc, "012f0775357c");
             //lcIBK = eFact_RNComprobante.ConsultarIBK(out respErroresLote, out respErroresComprobantes, clc, WSCertificado);
             //RespErroresLote = respErroresLote;
             //RespErroresComprobantes = respErroresComprobantes;
         }
         catch (Exception ex)
         {
             //RespErroresLote = respErroresLote;
             //RespErroresComprobantes = respErroresComprobantes;
             Microsoft.ApplicationBlocks.ExceptionManagement.ExceptionManager.Publish(ex);
         }
     }
 }
Ejemplo n.º 17
0
 static internal FeaEntidades.InterFacturas.comprobante IBKP2FeaEntidad2(IBKP.comprobante cIBKP)
 {
     FeaEntidades.InterFacturas.comprobante cIBK = new FeaEntidades.InterFacturas.comprobante();
     cIBK.cabecera.informacion_comprador = new FeaEntidades.InterFacturas.informacion_comprador();
     cIBK.cabecera.informacion_comprador.codigo_doc_identificatorio = cIBKP.cabecera.informacion_comprador.codigo_doc_identificatorio;
     cIBK.cabecera.informacion_comprador.codigo_interno = cIBKP.cabecera.informacion_comprador.codigo_interno;
     cIBK.cabecera.informacion_comprador.condicion_ingresos_brutos = cIBKP.cabecera.informacion_comprador.condicion_ingresos_brutos;
     cIBK.cabecera.informacion_comprador.condicion_ingresos_brutosSpecified = cIBKP.cabecera.informacion_comprador.condicion_ingresos_brutosSpecified;
     cIBK.cabecera.informacion_comprador.condicion_IVA = cIBKP.cabecera.informacion_comprador.condicion_IVA;
     cIBK.cabecera.informacion_comprador.condicion_IVASpecified = cIBKP.cabecera.informacion_comprador.condicion_IVASpecified;
     cIBK.cabecera.informacion_comprador.contacto = cIBKP.cabecera.informacion_comprador.contacto;
     cIBK.cabecera.informacion_comprador.cp = cIBKP.cabecera.informacion_comprador.cp;
     cIBK.cabecera.informacion_comprador.denominacion = cIBKP.cabecera.informacion_comprador.denominacion;
     cIBK.cabecera.informacion_comprador.domicilio_calle = cIBKP.cabecera.informacion_comprador.domicilio_calle;
     cIBK.cabecera.informacion_comprador.domicilio_depto = cIBKP.cabecera.informacion_comprador.domicilio_depto;
     cIBK.cabecera.informacion_comprador.domicilio_manzana = cIBKP.cabecera.informacion_comprador.domicilio_manzana;
     cIBK.cabecera.informacion_comprador.domicilio_numero = cIBKP.cabecera.informacion_comprador.domicilio_numero;
     cIBK.cabecera.informacion_comprador.domicilio_piso = cIBKP.cabecera.informacion_comprador.domicilio_piso;
     cIBK.cabecera.informacion_comprador.domicilio_sector = cIBKP.cabecera.informacion_comprador.domicilio_sector;
     cIBK.cabecera.informacion_comprador.domicilio_torre = cIBKP.cabecera.informacion_comprador.domicilio_torre;
     cIBK.cabecera.informacion_comprador.email = cIBKP.cabecera.informacion_comprador.email;
     cIBK.cabecera.informacion_comprador.GLN = cIBKP.cabecera.informacion_comprador.GLN;
     cIBK.cabecera.informacion_comprador.GLNSpecified = cIBKP.cabecera.informacion_comprador.GLNSpecified;
     cIBK.cabecera.informacion_comprador.inicio_de_actividades = cIBKP.cabecera.informacion_comprador.inicio_de_actividades;
     cIBK.cabecera.informacion_comprador.localidad = cIBKP.cabecera.informacion_comprador.localidad;
     cIBK.cabecera.informacion_comprador.nro_doc_identificatorio = cIBKP.cabecera.informacion_comprador.nro_doc_identificatorio;
     cIBK.cabecera.informacion_comprador.nro_ingresos_brutos = cIBKP.cabecera.informacion_comprador.nro_ingresos_brutos;
     cIBK.cabecera.informacion_comprador.provincia = cIBKP.cabecera.informacion_comprador.provincia;
     cIBK.cabecera.informacion_comprador.telefono = cIBKP.cabecera.informacion_comprador.telefono;
     return cIBK;
 }
Ejemplo n.º 18
0
		protected void GenerarButton_Click(object sender, EventArgs e)
		{
			FeaEntidades.InterFacturas.lote_comprobantes lote = new FeaEntidades.InterFacturas.lote_comprobantes();
			FeaEntidades.InterFacturas.cabecera_lote cab=new FeaEntidades.InterFacturas.cabecera_lote();
			cab.cantidad_reg = 1;
			cab.cuit_canal = Convert.ToInt64(Cuit_CanalTextBox.Text);
			cab.cuit_vendedor = Convert.ToInt64(Cuit_VendedorTextBox.Text);
			cab.id_lote = Convert.ToInt64(Id_LoteTextbox.Text);
			cab.presta_servSpecified = true;
			cab.presta_serv = Convert.ToInt32(Presta_ServCheckBox.Checked);
			cab.punto_de_venta = Convert.ToInt32(Punto_VentaTextBox.Text);
			lote.cabecera_lote = cab;

			FeaEntidades.InterFacturas.cabecera compcab = new FeaEntidades.InterFacturas.cabecera();

			FeaEntidades.InterFacturas.informacion_comprador infcompra = new FeaEntidades.InterFacturas.informacion_comprador();
			infcompra.GLN = Convert.ToInt64(GLN_CompradorTextBox.Text);
			infcompra.codigo_interno = Codigo_Interno_CompradorTextBox.Text;
			infcompra.codigo_doc_identificatorio = Convert.ToInt32(Codigo_Doc_Identificatorio_CompradorDropDownList.SelectedValue);
			infcompra.nro_doc_identificatorio = Convert.ToInt64(Nro_Doc_Identificatorio_CompradorTextBox.Text);
			infcompra.denominacion = Denominacion_CompradorTextBox.Text;
			infcompra.condicion_IVASpecified = true;
			infcompra.condicion_IVA = Convert.ToInt32(Condicion_IVA_CompradorDropDownList.SelectedValue);
			//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.CalendarDateString;
			infcompra.contacto = Contacto_CompradorTextBox.Text;
			infcompra.domicilio_calle = Domicilio_Calle_CompradorTextBox.Text;
			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;
			infcompra.provincia = Provincia_CompradorTextBox.Text;
			infcompra.cp = Cp_CompradorTextBox.Text;
			infcompra.email = Email_CompradorTextBox.Text;
			infcompra.telefono = Telefono_CompradorTextBox.Text;

			compcab.informacion_comprador = infcompra;

			FeaEntidades.InterFacturas.informacion_comprobante infcomprob = new FeaEntidades.InterFacturas.informacion_comprobante();
			infcomprob.tipo_de_comprobante = Convert.ToInt32(Tipo_De_ComprobanteDropDownList.SelectedValue);
			infcomprob.numero_comprobante = Convert.ToInt64(Numero_ComprobanteTextBox.Text);
			infcomprob.punto_de_venta = Convert.ToInt32(Punto_VentaTextBox.Text);
			infcomprob.fecha_emision = FechaEmisionDatePickerWebUserControl.CalendarDateString;
			infcomprob.fecha_vencimiento = FechaVencimientoDatePickerWebUserControl.CalendarDateString;
			infcomprob.fecha_serv_desde = FechaServDesdeDatePickerWebUserControl.CalendarDateString;
			infcomprob.fecha_serv_hasta = FechaServHastaDatePickerWebUserControl.CalendarDateString;
			//infcomprob.condicion_de_pago = Convert.ToInt32(Condicion_De_PagoTextBox.Text);
			//infcomprob.iva_computable = Iva_ComputableDropDownList.SelectedValue;
			//infcomprob.codigo_operacion = Codigo_OperacionDropDownList.SelectedValue;
			infcomprob.cae = CAETextBox.Text;
			infcomprob.fecha_obtencion_cae = FechaCAEObtencionDatePickerWebUserControl.CalendarDateString;
			infcomprob.fecha_vencimiento_cae = FechaCAEVencimientoDatePickerWebUserControl.CalendarDateString;
			compcab.informacion_comprobante = infcomprob;

			FeaEntidades.InterFacturas.informacion_vendedor infovend = new FeaEntidades.InterFacturas.informacion_vendedor();
			infovend.GLN = Convert.ToInt64(GLN_VendedorTextBox.Text);
			infovend.codigo_interno = Codigo_Interno_VendedorTextBox.Text;
			infovend.razon_social = Razon_Social_VendedorTextBox.Text;
			infovend.cuit = Convert.ToInt64(Cuit_VendedorTextBox.Text);
			infovend.condicion_IVASpecified = true;
			infovend.condicion_IVA = Convert.ToInt32(Condicion_IVA_VendedorDropDownList.SelectedValue);
			//infovend.condicion_ingresos_brutosSpecified = true;
			//infovend.condicion_ingresos_brutos = Convert.ToInt32(Condicion_Ingresos_Brutos_VendedorDropDownList.SelectedValue);
			//infovend.nro_ingresos_brutos = Nro_Ingresos_Brutos_VendedorTextBox.Text;
			infovend.inicio_de_actividades = InicioDeActividadesCompradorDatePickerWebUserControl.CalendarDateString;
			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;
			infovend.provincia = Provincia_VendedorTextBox.Text;
			infovend.cp = Cp_VendedorTextBox.Text;
			infovend.email = Email_VendedorTextBox.Text;
			infovend.telefono = Telefono_VendedorTextBox.Text;
			compcab.informacion_vendedor = infovend;

			FeaEntidades.InterFacturas.comprobante comp = new FeaEntidades.InterFacturas.comprobante();
			comp.cabecera = compcab;

			FeaEntidades.InterFacturas.detalle det = new FeaEntidades.InterFacturas.detalle();

			System.Collections.Generic.List<FeaEntidades.InterFacturas.linea> listadelineas = (System.Collections.Generic.List<FeaEntidades.InterFacturas.linea>)ViewState["lineas"];
			for (int i = 0; i < listadelineas.Count;i++ )
			{
				det.linea[i] = new FeaEntidades.InterFacturas.linea();
				det.linea[i].numeroLinea = i+1;
				det.linea[i].descripcion = listadelineas[i].descripcion;
				det.linea[i].importe_total_articulo = listadelineas[i].importe_total_articulo;
			}

			det.comentarios = ComentariosTextBox.Text;

			comp.detalle = det;

			FeaEntidades.InterFacturas.resumen r = new FeaEntidades.InterFacturas.resumen();
			r.tipo_de_cambio = 1;
			r.codigo_moneda = "PES";
			r.importe_total_neto_gravado = Convert.ToDouble(Importe_Total_Neto_Gravado_ResumenTextBox.Text);
			r.importe_total_concepto_no_gravado = Convert.ToDouble(Importe_Total_Concepto_No_Gravado_ResumenTextBox.Text);
			r.importe_operaciones_exentas = Convert.ToDouble(Importe_Operaciones_Exentas_ResumenTextBox.Text);
			r.impuesto_liq = Convert.ToDouble(Impuesto_Liq_ResumenTextBox.Text);
			r.impuesto_liq_rni = Convert.ToDouble(Impuesto_Liq_Rni_ResumenTextBox.Text);

			//r.importe_total_impuestos_nacionales = Convert.ToDouble(Importe_Total_Impuestos_Nacionales_ResumenTextBox.Text);
			//r.importe_total_ingresos_brutos = Convert.ToDouble(Importe_Total_Ingresos_Brutos_ResumenTextBox.Text);
			//r.importe_total_impuestos_municipales = Convert.ToDouble(Importe_Total_Impuestos_Municipales_ResumenTextBox.Text);
			//r.importe_total_impuestos_internos = Convert.ToDouble(Importe_Total_Impuestos_Internos_ResumenTextBox.Text);

			r.importe_total_factura = Convert.ToDouble(Importe_Total_Factura_ResumenTextBox.Text);

			r.observaciones = Observaciones_ResumenTextBox.Text;

			comp.resumen = r;

			lote.comprobante[0] = comp;

			System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(lote.GetType());
			System.Text.StringBuilder sb = new System.Text.StringBuilder();
			sb.Append(lote.cabecera_lote.cuit_vendedor);
			sb.Append("-");
			sb.Append(lote.cabecera_lote.punto_de_venta);
			sb.Append("-");
			sb.Append(lote.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante);
			sb.Append("-");
			sb.Append(lote.comprobante[0].cabecera.informacion_comprobante.numero_comprobante);
			sb.Append(".xml");
			System.IO.Stream fs = new System.IO.FileStream(sb.ToString(), System.IO.FileMode.Create);
			System.Xml.XmlWriter writer = new System.Xml.XmlTextWriter(fs, System.Text.Encoding.GetEncoding("ISO-8859-1"));
			x.Serialize(writer, lote);
			fs.Close();

			System.IO.MemoryStream m = new System.IO.MemoryStream();
			System.IO.StreamWriter sw = new System.IO.StreamWriter(m);
			sw.Flush();
			System.Xml.XmlWriter writerdememoria = new System.Xml.XmlTextWriter(m, System.Text.Encoding.GetEncoding("ISO-8859-1"));
			x.Serialize(writerdememoria, lote);

			System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage("*****@*****.**",
				Email_VendedorTextBox.Text, "Nuevo comprobante", string.Empty);

			m.Seek(0, System.IO.SeekOrigin.Begin);

			System.Net.Mime.ContentType contentType = new System.Net.Mime.ContentType();
			contentType.MediaType = System.Net.Mime.MediaTypeNames.Application.Octet;
			contentType.Name = sb.ToString();
			System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(m, contentType);

			mail.Attachments.Add(attachment);

			System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
			smtpClient.Host = "vsmtpr.bancogalicia.com.ar";

			smtpClient.Send(mail);
			m.Close();

			//Envío de mail a nosotros

			System.Net.Mail.MailMessage mailCedeira = new System.Net.Mail.MailMessage("*****@*****.**",
				"*****@*****.**", "XML_" + lote.comprobante[0].cabecera.informacion_vendedor.cuit.ToString()+"_"+System.DateTime.Now.ToLocalTime(), string.Empty);
			sb = new System.Text.StringBuilder();
			sb.AppendLine(lote.comprobante[0].cabecera.informacion_vendedor.email);
			sb.AppendLine(lote.comprobante[0].cabecera.informacion_vendedor.razon_social);
			sb.AppendLine(lote.comprobante[0].cabecera.informacion_vendedor.telefono);
			sb.AppendLine(lote.comprobante[0].cabecera.informacion_vendedor.localidad);
			sb.AppendLine(lote.comprobante[0].cabecera.informacion_vendedor.contacto);
			sb.AppendLine(lote.comprobante[0].cabecera.informacion_vendedor.cuit.ToString());

			mailCedeira.Body = sb.ToString();

			smtpClient = new System.Net.Mail.SmtpClient();
			smtpClient.Host = "vsmtpr.bancogalicia.com.ar";

			smtpClient.Send(mailCedeira);

			ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT LANGUAGE='javascript'>alert('Archivo enviado satisfactoriamente');</script>");
		}