private static void GenerarDetalleMonedaLocal(string TipoCbte, FeaEntidades.InterFacturas.detalle det, System.Collections.Generic.List <FeaEntidades.InterFacturas.linea> listadelineas, int i) { switch (TipoCbte) { case "6": case "7": case "8": case "9": case "10": case "40": case "61": case "64": if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo)) { det.linea[i].precio_unitario = Math.Round(listadelineas[i].precio_unitario * (1 + listadelineas[i].alicuota_iva / 100), 3); } else { det.linea[i].precio_unitario = Math.Round(listadelineas[i].precio_unitario, 3); } det.linea[i].importe_total_articulo = Math.Round(listadelineas[i].importe_total_articulo + listadelineas[i].importe_iva, 2); det.linea[i].importe_ivaSpecified = false; det.linea[i].importe_iva = 0; break; default: det.linea[i].precio_unitario = listadelineas[i].precio_unitario; det.linea[i].importe_total_articulo = listadelineas[i].importe_total_articulo; det.linea[i].importe_ivaSpecified = listadelineas[i].importe_ivaSpecified; det.linea[i].importe_iva = listadelineas[i].importe_iva; break; } det.linea[i].precio_unitarioSpecified = listadelineas[i].precio_unitarioSpecified; }
public FeaEntidades.InterFacturas.detalle GenerarDetalles(string MonedaComprobante, string TipoDeCambio, string TipoPtoVta, string TipoCbte) { 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; if (listadelineas[i].descripcion == null) { throw new Exception("Debe informar al menos un artículo"); } string textoSinSaltoDeLinea = listadelineas[i].descripcion.Replace("\n", "<br>").Replace("\r", string.Empty); det.linea[i].descripcion = RN.Funciones.ConvertToHex(textoSinSaltoDeLinea); GenerarDetallesAlicuotaIVA(TipoPtoVta, TipoCbte, det, listadelineas, i); if (!listadelineas[i].unidad.Equals(Convert.ToString(new FeaEntidades.CodigosUnidad.SinInformar().Codigo))) { det.linea[i].unidad = listadelineas[i].unidad; } det.linea[i].cantidad = listadelineas[i].cantidad; det.linea[i].cantidadSpecified = listadelineas[i].cantidadSpecified; det.linea[i].GTIN = listadelineas[i].GTIN; det.linea[i].GTINSpecified = listadelineas[i].GTINSpecified; if (TipoPtoVta.Equals("RG2904")) { det.linea[i].informacion_adicional = new FeaEntidades.InterFacturas.lineaInformacion_adicional[1]; det.linea[i].informacion_adicional[0] = new FeaEntidades.InterFacturas.lineaInformacion_adicional(); det.linea[i].informacion_adicional[0].tipo = "UNIDAD_MTX"; det.linea[i].informacion_adicional[0].valor = listadelineas[i].unidad; } det.linea[i].codigo_producto_comprador = listadelineas[i].codigo_producto_comprador; det.linea[i].codigo_producto_vendedor = listadelineas[i].codigo_producto_vendedor; GenerarDetallesIndExGravado(TipoPtoVta, TipoCbte, det, listadelineas, i); if (MonedaComprobante.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local)) { GenerarDetalleMonedaLocal(TipoCbte, det, listadelineas, i); } else { GenerarDetalleMonedaExtranjera(TipoDeCambio, TipoCbte, det, listadelineas, i); } } return(det); }
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; }
private void AjustarLoteParaITF(FeaEntidades.InterFacturas.lote_comprobantes lote) { string TipoCbte = lote.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante.ToString(); switch (TipoCbte) { case "6": case "7": case "8": case "9": case "10": case "40": case "61": case "64": FeaEntidades.InterFacturas.detalle det = new FeaEntidades.InterFacturas.detalle(); det = lote.comprobante[0].detalle; FeaEntidades.InterFacturas.linea[] listadelineas; listadelineas = det.linea; Double TipoDeCambio = lote.comprobante[0].resumen.tipo_de_cambio; int auxPV; auxPV = Convert.ToInt32(PuntoVtaDropDownList.SelectedValue); string idtipo = ((Entidades.Sesion)Session["Sesion"]).UN.PuntosVta.Find(delegate(Entidades.PuntoVta pv) { return pv.Nro == auxPV; }).IdTipoPuntoVta; for (int i = 0; i < listadelineas.Length; i++) { if (det.linea[i] == null) { break; } double precio_unitario = det.linea[i].precio_unitario; double alicuota_iva = det.linea[i].alicuota_iva; double importe_iva = det.linea[i].importe_iva; double importe_total_articulo = det.linea[i].importe_total_articulo; //Moneda Local if (lote.comprobante[0].resumen.codigo_moneda.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local)) { det.linea[i].precio_unitarioSpecified = listadelineas[i].precio_unitarioSpecified; if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo)) { det.linea[i].precio_unitario = Math.Round(precio_unitario * (1 + alicuota_iva / 100), 3); } else { det.linea[i].precio_unitario = Math.Round(precio_unitario, 3); } if (idtipo.Equals("RG2904")) { det.linea[i].importe_total_articulo = Math.Round(importe_total_articulo, 2); } else { det.linea[i].importe_total_articulo = Math.Round(importe_total_articulo + importe_iva, 2); } //Borrar alicuota e importe if (!idtipo.Equals("BonoFiscal")) { if (!idtipo.Equals("RG2904")) { det.linea[i].alicuota_ivaSpecified = false; det.linea[i].alicuota_iva = 0; } det.linea[i].indicacion_exento_gravado = null; } det.linea[i].importe_ivaSpecified = false; det.linea[i].importe_iva = 0; } else { //Moneda Extranjera det.linea[i].precio_unitarioSpecified = listadelineas[i].precio_unitarioSpecified; if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo)) { det.linea[i].precio_unitario = Math.Round(precio_unitario * Convert.ToDouble(TipoDeCambio) * (1 + alicuota_iva / 100), 3); } else { det.linea[i].precio_unitario = Math.Round(precio_unitario * Convert.ToDouble(TipoDeCambio), 3); } det.linea[i].importe_total_articulo = Math.Round(((importe_total_articulo) + importe_iva) * Convert.ToDouble(TipoDeCambio), 2); //Borrar alicuota e importe det.linea[i].alicuota_ivaSpecified = false; det.linea[i].alicuota_iva = 0; det.linea[i].indicacion_exento_gravado = null; det.linea[i].importe_ivaSpecified = false; det.linea[i].importe_iva = 0; //importes_moneda_origen FeaEntidades.InterFacturas.lineaImportes_moneda_origen limo = new FeaEntidades.InterFacturas.lineaImportes_moneda_origen(); limo.importe_total_articuloSpecified = true; limo.precio_unitarioSpecified = listadelineas[i].precio_unitarioSpecified; if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo)) { limo.precio_unitario = Math.Round(precio_unitario * (1 + alicuota_iva / 100), 3); } else { limo.precio_unitario = Math.Round(precio_unitario, 3); } if (idtipo.Equals("RG2904")) { limo.importe_total_articulo = Math.Round(importe_total_articulo, 2); } else { limo.importe_total_articulo = Math.Round(importe_total_articulo + importe_iva, 2); } limo.importe_ivaSpecified = false; limo.importe_iva = 0; det.linea[i].importes_moneda_origen = limo; } } break; } }
public FeaEntidades.InterFacturas.detalle GenerarDetalles(string MonedaComprobante, string TipoDeCambio, string TipoPtoVta, string TipoCbte) { 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; if (listadelineas[i].descripcion == null) { throw new Exception("Debe informar al menos un artículo"); } string textoSinSaltoDeLinea = listadelineas[i].descripcion.Replace("\n", "<br>").Replace("\r", string.Empty); det.linea[i].descripcion = RN.Funciones.ConvertToHex(textoSinSaltoDeLinea); GenerarDetallesAlicuotaIVA(TipoPtoVta, TipoCbte, det, listadelineas, i); if (!listadelineas[i].unidad.Equals(Convert.ToString(new FeaEntidades.CodigosUnidad.SinInformar().Codigo))) { det.linea[i].unidad = listadelineas[i].unidad; } det.linea[i].cantidad = listadelineas[i].cantidad; det.linea[i].cantidadSpecified = listadelineas[i].cantidadSpecified; det.linea[i].GTIN = listadelineas[i].GTIN; det.linea[i].GTINSpecified = listadelineas[i].GTINSpecified; if (TipoPtoVta.Equals("RG2904")) { det.linea[i].informacion_adicional = new FeaEntidades.InterFacturas.lineaInformacion_adicional[1]; det.linea[i].informacion_adicional[0] = new FeaEntidades.InterFacturas.lineaInformacion_adicional(); det.linea[i].informacion_adicional[0].tipo = "UNIDAD_MTX"; det.linea[i].informacion_adicional[0].valor = listadelineas[i].unidad; } det.linea[i].codigo_producto_comprador = listadelineas[i].codigo_producto_comprador; det.linea[i].codigo_producto_vendedor = listadelineas[i].codigo_producto_vendedor; GenerarDetallesIndExGravado(TipoPtoVta, TipoCbte, det, listadelineas, i); if (MonedaComprobante.Equals(FeaEntidades.CodigosMoneda.CodigoMoneda.Local)) { GenerarDetalleMonedaLocal(TipoCbte, det, listadelineas, i); } else { GenerarDetalleMonedaExtranjera(TipoDeCambio, TipoCbte, det, listadelineas, i); } } return det; }
private static void GenerarDetallesAlicuotaIVA(string TipoPtoVta, string TipoCbte, FeaEntidades.InterFacturas.detalle det, System.Collections.Generic.List <FeaEntidades.InterFacturas.linea> listadelineas, int i) { if (!(TipoPtoVta.Equals("Comun") || TipoPtoVta.Equals("RG2904"))) { det.linea[i].alicuota_ivaSpecified = listadelineas[i].alicuota_ivaSpecified; if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo)) { det.linea[i].alicuota_iva = listadelineas[i].alicuota_iva; } } else { if (TipoPtoVta.Equals("RG2904")) { if (listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo)) { throw new Exception("La alícuota de IVA es obligatoria para RG2904"); } else { det.linea[i].alicuota_ivaSpecified = listadelineas[i].alicuota_ivaSpecified; det.linea[i].alicuota_iva = listadelineas[i].alicuota_iva; } } else { switch (TipoCbte) { case "6": case "7": case "8": case "9": case "10": case "40": case "61": case "64": det.linea[i].alicuota_ivaSpecified = false; det.linea[i].alicuota_iva = 0; break; default: det.linea[i].alicuota_ivaSpecified = listadelineas[i].alicuota_ivaSpecified; if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo)) { det.linea[i].alicuota_iva = listadelineas[i].alicuota_iva; } break; } } } }
private static void GenerarDetallesIndExGravado(string TipoPtoVta, string TipoCbte, FeaEntidades.InterFacturas.detalle det, System.Collections.Generic.List <FeaEntidades.InterFacturas.linea> listadelineas, int i) { if (listadelineas[i].indicacion_exento_gravado != null) { if (!listadelineas[i].indicacion_exento_gravado.Equals(string.Empty)) { if (!(TipoPtoVta.Equals("Comun") || TipoPtoVta.Equals("RG2904"))) { det.linea[i].indicacion_exento_gravado = listadelineas[i].indicacion_exento_gravado; } else { switch (TipoCbte) { case "6": case "7": case "8": case "9": case "10": case "40": case "61": case "64": det.linea[i].indicacion_exento_gravado = null; break; default: det.linea[i].indicacion_exento_gravado = listadelineas[i].indicacion_exento_gravado; break; } } } } }
private static void GenerarDetalleMonedaExtranjera(string TipoDeCambio, string TipoCbte, FeaEntidades.InterFacturas.detalle det, System.Collections.Generic.List <FeaEntidades.InterFacturas.linea> listadelineas, int i) { det.linea[i].precio_unitarioSpecified = listadelineas[i].precio_unitarioSpecified; switch (TipoCbte) { case "6": case "7": case "8": case "9": case "10": case "40": case "61": case "64": det.linea[i].importe_iva = 0; det.linea[i].importe_ivaSpecified = false; if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo)) { det.linea[i].precio_unitario = Math.Round(listadelineas[i].precio_unitario * Convert.ToDouble(TipoDeCambio) * (1 + listadelineas[i].alicuota_iva / 100), 3); } else { det.linea[i].precio_unitario = Math.Round(listadelineas[i].precio_unitario * Convert.ToDouble(TipoDeCambio), 3); } det.linea[i].importe_total_articulo = Math.Round(((listadelineas[i].importe_total_articulo) + listadelineas[i].importe_iva) * Convert.ToDouble(TipoDeCambio), 2); break; default: det.linea[i].importe_iva = Math.Round(listadelineas[i].importe_iva * Convert.ToDouble(TipoDeCambio), 2); det.linea[i].importe_ivaSpecified = listadelineas[i].alicuota_ivaSpecified; det.linea[i].precio_unitario = Math.Round(listadelineas[i].precio_unitario * Convert.ToDouble(TipoDeCambio), 3); det.linea[i].importe_total_articulo = Math.Round(listadelineas[i].importe_total_articulo * Convert.ToDouble(TipoDeCambio), 2); break; } FeaEntidades.InterFacturas.lineaImportes_moneda_origen limo = new FeaEntidades.InterFacturas.lineaImportes_moneda_origen(); limo.importe_total_articuloSpecified = true; limo.precio_unitarioSpecified = listadelineas[i].precio_unitarioSpecified; switch (TipoCbte) { case "6": case "7": case "8": case "9": case "10": case "40": case "61": case "64": limo.importe_ivaSpecified = false; limo.importe_iva = 0; if (!listadelineas[i].alicuota_iva.Equals(new FeaEntidades.IVA.SinInformar().Codigo)) { limo.precio_unitario = Math.Round(listadelineas[i].precio_unitario * (1 + listadelineas[i].alicuota_iva / 100), 3); } else { limo.precio_unitario = Math.Round(listadelineas[i].precio_unitario, 3); } limo.importe_total_articulo = Math.Round(listadelineas[i].importe_total_articulo + listadelineas[i].importe_iva, 2); break; default: limo.importe_ivaSpecified = listadelineas[i].importe_ivaSpecified; limo.importe_iva = listadelineas[i].importe_iva; limo.precio_unitario = listadelineas[i].precio_unitario; limo.importe_total_articulo = listadelineas[i].importe_total_articulo; break; } det.linea[i].importes_moneda_origen = limo; }
static internal org.dyndns.cedweb.envio.lc Entidad2IBK(FeaEntidades.InterFacturas.lote_comprobantes lc) { org.dyndns.cedweb.envio.lc lcWS = new global::CedServicios.Site.org.dyndns.cedweb.envio.lc(); lcWS.cabecera_lote = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcCabecera_lote(); lcWS.cabecera_lote.cantidad_reg = lc.cabecera_lote.cantidad_reg; lcWS.cabecera_lote.cod_interno_canal = lc.cabecera_lote.cod_interno_canal; lcWS.cabecera_lote.cuit_canal = lc.cabecera_lote.cuit_canal; lcWS.cabecera_lote.cuit_vendedor = lc.cabecera_lote.cuit_vendedor; lcWS.cabecera_lote.fecha_envio_lote = lc.cabecera_lote.fecha_envio_lote; lcWS.cabecera_lote.id_lote = lc.cabecera_lote.id_lote; lcWS.cabecera_lote.motivo = lc.cabecera_lote.motivo; lcWS.cabecera_lote.presta_serv = lc.cabecera_lote.presta_serv; lcWS.cabecera_lote.presta_servSpecified = lc.cabecera_lote.presta_servSpecified; lcWS.cabecera_lote.punto_de_venta = lc.cabecera_lote.punto_de_venta; lcWS.cabecera_lote.resultado = lc.cabecera_lote.resultado; lcWS.cabecera_lote.gestionar_afip = lc.cabecera_lote.gestionar_afip; lcWS.comprobante = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobante[lc.comprobante.Length]; for (int i = 0; i < lc.comprobante.Length; i++) { if (lc.comprobante[i] == null) { break; } org.dyndns.cedweb.envio.lcComprobante cIBK = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobante(); cIBK.cabecera = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabecera(); cIBK.cabecera.informacion_comprador = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_comprador(); cIBK.cabecera.informacion_comprador.codigo_doc_identificatorio = lc.comprobante[i].cabecera.informacion_comprador.codigo_doc_identificatorio; cIBK.cabecera.informacion_comprador.codigo_interno = lc.comprobante[i].cabecera.informacion_comprador.codigo_interno; cIBK.cabecera.informacion_comprador.condicion_ingresos_brutos = lc.comprobante[i].cabecera.informacion_comprador.condicion_ingresos_brutos; cIBK.cabecera.informacion_comprador.condicion_ingresos_brutosSpecified = lc.comprobante[i].cabecera.informacion_comprador.condicion_ingresos_brutosSpecified; cIBK.cabecera.informacion_comprador.condicion_IVA = lc.comprobante[i].cabecera.informacion_comprador.condicion_IVA; cIBK.cabecera.informacion_comprador.condicion_IVASpecified = lc.comprobante[i].cabecera.informacion_comprador.condicion_IVASpecified; cIBK.cabecera.informacion_comprador.contacto = lc.comprobante[i].cabecera.informacion_comprador.contacto; cIBK.cabecera.informacion_comprador.cp = lc.comprobante[i].cabecera.informacion_comprador.cp; cIBK.cabecera.informacion_comprador.denominacion = lc.comprobante[i].cabecera.informacion_comprador.denominacion; cIBK.cabecera.informacion_comprador.domicilio_calle = lc.comprobante[i].cabecera.informacion_comprador.domicilio_calle; cIBK.cabecera.informacion_comprador.domicilio_depto = lc.comprobante[i].cabecera.informacion_comprador.domicilio_depto; cIBK.cabecera.informacion_comprador.domicilio_manzana = lc.comprobante[i].cabecera.informacion_comprador.domicilio_manzana; cIBK.cabecera.informacion_comprador.domicilio_numero = lc.comprobante[i].cabecera.informacion_comprador.domicilio_numero; cIBK.cabecera.informacion_comprador.domicilio_piso = lc.comprobante[i].cabecera.informacion_comprador.domicilio_piso; cIBK.cabecera.informacion_comprador.domicilio_sector = lc.comprobante[i].cabecera.informacion_comprador.domicilio_sector; cIBK.cabecera.informacion_comprador.domicilio_torre = lc.comprobante[i].cabecera.informacion_comprador.domicilio_torre; cIBK.cabecera.informacion_comprador.email = lc.comprobante[i].cabecera.informacion_comprador.email; cIBK.cabecera.informacion_comprador.GLN = lc.comprobante[i].cabecera.informacion_comprador.GLN; cIBK.cabecera.informacion_comprador.GLNSpecified = lc.comprobante[i].cabecera.informacion_comprador.GLNSpecified; cIBK.cabecera.informacion_comprador.inicio_de_actividades = lc.comprobante[i].cabecera.informacion_comprador.inicio_de_actividades; cIBK.cabecera.informacion_comprador.localidad = lc.comprobante[i].cabecera.informacion_comprador.localidad; cIBK.cabecera.informacion_comprador.nro_doc_identificatorio = lc.comprobante[i].cabecera.informacion_comprador.nro_doc_identificatorio; cIBK.cabecera.informacion_comprador.nro_ingresos_brutos = lc.comprobante[i].cabecera.informacion_comprador.nro_ingresos_brutos; cIBK.cabecera.informacion_comprador.provincia = lc.comprobante[i].cabecera.informacion_comprador.provincia; cIBK.cabecera.informacion_comprador.telefono = lc.comprobante[i].cabecera.informacion_comprador.telefono; cIBK.cabecera.informacion_comprobante = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_comprobante(); cIBK.cabecera.informacion_comprobante.cae = lc.comprobante[i].cabecera.informacion_comprobante.cae; cIBK.cabecera.informacion_comprobante.codigo_operacion = lc.comprobante[i].cabecera.informacion_comprobante.codigo_operacion; cIBK.cabecera.informacion_comprobante.codigo_concepto = lc.comprobante[i].cabecera.informacion_comprobante.codigo_concepto; cIBK.cabecera.informacion_comprobante.codigo_conceptoSpecified = true; cIBK.cabecera.informacion_comprobante.condicion_de_pago = lc.comprobante[i].cabecera.informacion_comprobante.condicion_de_pago; cIBK.cabecera.informacion_comprobante.es_detalle_encriptado = lc.comprobante[i].cabecera.informacion_comprobante.es_detalle_encriptado; cIBK.cabecera.informacion_comprobante.fecha_emision = lc.comprobante[i].cabecera.informacion_comprobante.fecha_emision; cIBK.cabecera.informacion_comprobante.fecha_obtencion_cae = lc.comprobante[i].cabecera.informacion_comprobante.fecha_obtencion_cae; cIBK.cabecera.informacion_comprobante.fecha_serv_desde = lc.comprobante[i].cabecera.informacion_comprobante.fecha_serv_desde; cIBK.cabecera.informacion_comprobante.fecha_serv_hasta = lc.comprobante[i].cabecera.informacion_comprobante.fecha_serv_hasta; cIBK.cabecera.informacion_comprobante.fecha_vencimiento = lc.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento; cIBK.cabecera.informacion_comprobante.fecha_vencimiento_cae = lc.comprobante[i].cabecera.informacion_comprobante.fecha_vencimiento_cae; cIBK.cabecera.informacion_comprobante.iva_computable = lc.comprobante[i].cabecera.informacion_comprobante.iva_computable; cIBK.cabecera.informacion_comprobante.motivo = lc.comprobante[i].cabecera.informacion_comprobante.motivo; cIBK.cabecera.informacion_comprobante.numero_comprobante = lc.comprobante[i].cabecera.informacion_comprobante.numero_comprobante; cIBK.cabecera.informacion_comprobante.punto_de_venta = lc.comprobante[i].cabecera.informacion_comprobante.punto_de_venta; if (lc.comprobante[i].cabecera.informacion_comprobante.referencias != null) { cIBK.cabecera.informacion_comprobante.referencias = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_comprobanteReferencias[lc.comprobante[i].cabecera.informacion_comprobante.referencias.Length]; for (int j = 0; j < lc.comprobante[i].cabecera.informacion_comprobante.referencias.Length; j++) { if (lc.comprobante[i].cabecera.informacion_comprobante.referencias[j] != null) { cIBK.cabecera.informacion_comprobante.referencias[j] = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_comprobanteReferencias(); cIBK.cabecera.informacion_comprobante.referencias[j].codigo_de_referencia = lc.comprobante[i].cabecera.informacion_comprobante.referencias[j].codigo_de_referencia; cIBK.cabecera.informacion_comprobante.referencias[j].dato_de_referencia = lc.comprobante[i].cabecera.informacion_comprobante.referencias[j].dato_de_referencia; } } } cIBK.cabecera.informacion_comprobante.resultado = lc.comprobante[i].cabecera.informacion_comprobante.resultado; cIBK.cabecera.informacion_comprobante.tipo_de_comprobante = lc.comprobante[i].cabecera.informacion_comprobante.tipo_de_comprobante; if (lc.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante != null) { cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_comprobanteInformacion_adicional_comprobante[lc.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante.Length]; for (int j = 0; j < lc.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante.Length; j++) { if (lc.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante[j] != null) { cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante[j] = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_comprobanteInformacion_adicional_comprobante(); cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante[j].tipo = lc.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante[j].tipo; cIBK.cabecera.informacion_comprobante.informacion_adicional_comprobante[j].valor = lc.comprobante[i].cabecera.informacion_comprobante.informacion_adicional_comprobante[j].valor; } } } cIBK.cabecera.informacion_vendedor = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_vendedor(); cIBK.cabecera.informacion_vendedor.razon_social = lc.comprobante[i].cabecera.informacion_vendedor.razon_social; cIBK.cabecera.informacion_vendedor.codigo_interno = lc.comprobante[i].cabecera.informacion_vendedor.codigo_interno; cIBK.cabecera.informacion_vendedor.condicion_ingresos_brutos = lc.comprobante[i].cabecera.informacion_vendedor.condicion_ingresos_brutos; cIBK.cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified = lc.comprobante[i].cabecera.informacion_vendedor.condicion_ingresos_brutosSpecified; cIBK.cabecera.informacion_vendedor.condicion_IVA = lc.comprobante[i].cabecera.informacion_vendedor.condicion_IVA; cIBK.cabecera.informacion_vendedor.condicion_IVASpecified = lc.comprobante[i].cabecera.informacion_vendedor.condicion_IVASpecified; cIBK.cabecera.informacion_vendedor.contacto = lc.comprobante[i].cabecera.informacion_vendedor.contacto; cIBK.cabecera.informacion_vendedor.cp = lc.comprobante[i].cabecera.informacion_vendedor.cp; cIBK.cabecera.informacion_vendedor.cuit = lc.comprobante[i].cabecera.informacion_vendedor.cuit; cIBK.cabecera.informacion_vendedor.domicilio_calle = lc.comprobante[i].cabecera.informacion_vendedor.domicilio_calle; cIBK.cabecera.informacion_vendedor.domicilio_depto = lc.comprobante[i].cabecera.informacion_vendedor.domicilio_depto; cIBK.cabecera.informacion_vendedor.domicilio_manzana = lc.comprobante[i].cabecera.informacion_vendedor.domicilio_manzana; cIBK.cabecera.informacion_vendedor.domicilio_numero = lc.comprobante[i].cabecera.informacion_vendedor.domicilio_numero; cIBK.cabecera.informacion_vendedor.domicilio_piso = lc.comprobante[i].cabecera.informacion_vendedor.domicilio_piso; cIBK.cabecera.informacion_vendedor.domicilio_sector = lc.comprobante[i].cabecera.informacion_vendedor.domicilio_sector; cIBK.cabecera.informacion_vendedor.domicilio_torre = lc.comprobante[i].cabecera.informacion_vendedor.domicilio_torre; cIBK.cabecera.informacion_vendedor.email = lc.comprobante[i].cabecera.informacion_vendedor.email; cIBK.cabecera.informacion_vendedor.GLN = lc.comprobante[i].cabecera.informacion_vendedor.GLN; cIBK.cabecera.informacion_vendedor.GLNSpecified = lc.comprobante[i].cabecera.informacion_vendedor.GLNSpecified; cIBK.cabecera.informacion_vendedor.inicio_de_actividades = lc.comprobante[i].cabecera.informacion_vendedor.inicio_de_actividades; cIBK.cabecera.informacion_vendedor.localidad = lc.comprobante[i].cabecera.informacion_vendedor.localidad; cIBK.cabecera.informacion_vendedor.nro_ingresos_brutos = lc.comprobante[i].cabecera.informacion_vendedor.nro_ingresos_brutos; cIBK.cabecera.informacion_vendedor.provincia = lc.comprobante[i].cabecera.informacion_vendedor.provincia; cIBK.cabecera.informacion_vendedor.telefono = lc.comprobante[i].cabecera.informacion_vendedor.telefono; //Info Exportación if (lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion != null) { cIBK.cabecera.informacion_comprobante.informacion_exportacion = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_comprobanteInformacion_exportacion(); cIBK.cabecera.informacion_comprobante.informacion_exportacion.destino_comprobante = lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.destino_comprobante; cIBK.cabecera.informacion_comprobante.informacion_exportacion.tipo_exportacion = lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.tipo_exportacion; cIBK.cabecera.informacion_comprobante.informacion_exportacion.id_impositivo = lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.id_impositivo; if (lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.incoterms != null && lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.incoterms != "") { cIBK.cabecera.informacion_comprobante.informacion_exportacion.incoterms = lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.incoterms; } if (lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms != null && lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms != "") { cIBK.cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms = lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.descripcion_incoterms; } if (lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permiso_existente != null) { if (lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permiso_existente != "") { cIBK.cabecera.informacion_comprobante.informacion_exportacion.permiso_existente = lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permiso_existente.Trim(); } else { cIBK.cabecera.informacion_comprobante.informacion_exportacion.permiso_existente = null; } } if (lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos != null) { cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_comprobanteInformacion_exportacionPermisos[lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos.Length]; for (int j = 0; j < lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos.Length; j++) { if (lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos[j] != null) { cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j] = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteCabeceraInformacion_comprobanteInformacion_exportacionPermisos(); cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].id_permiso = lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos[j].id_permiso; cIBK.cabecera.informacion_comprobante.informacion_exportacion.permisos[j].destino_mercaderia = lc.comprobante[i].cabecera.informacion_comprobante.informacion_exportacion.permisos[j].destino_mercaderia; } } } } org.dyndns.cedweb.envio.lcComprobanteDetalle d = new org.dyndns.cedweb.envio.lcComprobanteDetalle(); FeaEntidades.InterFacturas.detalle detalle = lc.comprobante[i].detalle; d.linea = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteDetalleLinea[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 global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteDetalleLinea(); 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 global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteDetalleLineaImportes_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 global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteDetalleLineaImpuestos[detalle.linea[j].impuestos.Length]; for (int k = 0; k < d.linea[j].impuestos.Length; k++) { d.linea[j].impuestos[k] = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteDetalleLineaImpuestos(); 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].lineaDescuentos != null) { d.linea[j].descuentos = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteDetalleLineaDescuentos[detalle.linea[j].lineaDescuentos.Length]; for (int k = 0; k < d.linea[j].descuentos.Length; k++) { if (d.linea[j].descuentos[k] != null) { d.linea[j].descuentos[k] = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteDetalleLineaDescuentos(); d.linea[j].descuentos[k].descripcion_descuento = detalle.linea[j].lineaDescuentos[k].descripcion_descuento; d.linea[j].descuentos[k].importe_descuento = detalle.linea[j].lineaDescuentos[k].importe_descuento; d.linea[j].descuentos[k].importe_descuento_moneda_origen = detalle.linea[j].lineaDescuentos[k].importe_descuento_moneda_origen; d.linea[j].descuentos[k].importe_descuento_moneda_origenSpecified = detalle.linea[j].lineaDescuentos[k].importe_descuento_moneda_origenSpecified; d.linea[j].descuentos[k].porcentaje_descuento = detalle.linea[j].lineaDescuentos[k].porcentaje_descuento; d.linea[j].descuentos[k].porcentaje_descuentoSpecified = detalle.linea[j].lineaDescuentos[k].porcentaje_descuentoSpecified; } else { break; } } } 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 if (lc.comprobante[i].extensiones != null) { cIBK.extensiones = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteExtensiones(); if (lc.comprobante[i].extensiones.extensiones_camara_facturas != null) { cIBK.extensiones.extensiones_camara_facturas = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteExtensionesExtensiones_camara_facturas(); if (lc.comprobante[i].extensiones.extensiones_camara_facturas.clave_de_vinculacion != null) { cIBK.extensiones.extensiones_camara_facturas.clave_de_vinculacion = lc.comprobante[i].extensiones.extensiones_camara_facturas.clave_de_vinculacion.Trim(); } if (lc.comprobante[i].extensiones.extensiones_camara_facturas.id_idioma != null) { cIBK.extensiones.extensiones_camara_facturas.id_idioma = lc.comprobante[i].extensiones.extensiones_camara_facturas.id_idioma.Trim(); } if (lc.comprobante[i].extensiones.extensiones_camara_facturas.id_template != null) { cIBK.extensiones.extensiones_camara_facturas.id_template = lc.comprobante[i].extensiones.extensiones_camara_facturas.id_template.Trim(); } } if (lc.comprobante[i].extensiones.extensiones_datos_comerciales != null && lc.comprobante[i].extensiones.extensiones_datos_comerciales != "") { cIBK.extensiones.extensiones_datos_comerciales = lc.comprobante[i].extensiones.extensiones_datos_comerciales; } if (lc.comprobante[i].extensiones.extensiones_datos_marketing != null && lc.comprobante[i].extensiones.extensiones_datos_marketing != "") { cIBK.extensiones.extensiones_datos_marketing = lc.comprobante[i].extensiones.extensiones_datos_marketing; } if (lc.comprobante[i].extensiones.extensiones_signatures != null && lc.comprobante[i].extensiones.extensiones_signatures != "") { cIBK.extensiones.extensiones_signatures = lc.comprobante[i].extensiones.extensiones_signatures; } if (lc.comprobante[i].extensiones.extensiones_destinatarios != null && lc.comprobante[i].extensiones.extensiones_destinatarios.email != "") { cIBK.extensiones.extensiones_destinatarios = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteExtensionesExtensiones_destinatarios(); cIBK.extensiones.extensiones_destinatarios.email = lc.comprobante[i].extensiones.extensiones_destinatarios.email.Trim(); } } cIBK.resumen = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteResumen(); cIBK.resumen.cant_alicuotas_iva = lc.comprobante[i].resumen.cant_alicuotas_iva; cIBK.resumen.cant_alicuotas_ivaSpecified = lc.comprobante[i].resumen.cant_alicuotas_ivaSpecified; cIBK.resumen.codigo_moneda = lc.comprobante[i].resumen.codigo_moneda; cIBK.resumen.descuentos = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteResumenDescuentos[0]; cIBK.resumen.cant_alicuotas_iva = lc.comprobante[i].resumen.cant_alicuotas_iva; cIBK.resumen.cant_alicuotas_ivaSpecified = lc.comprobante[i].resumen.cant_alicuotas_ivaSpecified; cIBK.resumen.codigo_moneda = lc.comprobante[i].resumen.codigo_moneda; cIBK.resumen.importe_operaciones_exentas = lc.comprobante[i].resumen.importe_operaciones_exentas; cIBK.resumen.importe_total_concepto_no_gravado = lc.comprobante[i].resumen.importe_total_concepto_no_gravado; cIBK.resumen.importe_total_factura = lc.comprobante[i].resumen.importe_total_factura; cIBK.resumen.importe_total_impuestos_internos = lc.comprobante[i].resumen.importe_total_impuestos_internos; cIBK.resumen.importe_total_impuestos_internosSpecified = lc.comprobante[i].resumen.importe_total_impuestos_internosSpecified; cIBK.resumen.importe_total_impuestos_municipales = lc.comprobante[i].resumen.importe_total_impuestos_municipales; cIBK.resumen.importe_total_impuestos_municipalesSpecified = lc.comprobante[i].resumen.importe_total_impuestos_municipalesSpecified; cIBK.resumen.importe_total_impuestos_nacionales = lc.comprobante[i].resumen.importe_total_impuestos_nacionales; cIBK.resumen.importe_total_impuestos_nacionalesSpecified = lc.comprobante[i].resumen.importe_total_impuestos_nacionalesSpecified; cIBK.resumen.importe_total_ingresos_brutos = lc.comprobante[i].resumen.importe_total_ingresos_brutos; cIBK.resumen.importe_total_ingresos_brutosSpecified = lc.comprobante[i].resumen.importe_total_ingresos_brutosSpecified; cIBK.resumen.importe_total_neto_gravado = lc.comprobante[i].resumen.importe_total_neto_gravado; if (lc.comprobante[i].resumen.importes_moneda_origen != null) { cIBK.resumen.importes_moneda_origen = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteResumenImportes_moneda_origen(); cIBK.resumen.importes_moneda_origen.importe_operaciones_exentas = lc.comprobante[i].resumen.importes_moneda_origen.importe_operaciones_exentas; cIBK.resumen.importes_moneda_origen.importe_total_concepto_no_gravado = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_concepto_no_gravado; cIBK.resumen.importes_moneda_origen.importe_total_factura = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_factura; cIBK.resumen.importes_moneda_origen.importe_total_impuestos_internos = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_internos; cIBK.resumen.importes_moneda_origen.importe_total_impuestos_internosSpecified = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_internosSpecified; cIBK.resumen.importes_moneda_origen.importe_total_impuestos_municipales = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_municipales; cIBK.resumen.importes_moneda_origen.importe_total_impuestos_municipalesSpecified = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_municipalesSpecified; cIBK.resumen.importes_moneda_origen.importe_total_impuestos_nacionales = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_nacionales; cIBK.resumen.importes_moneda_origen.importe_total_impuestos_nacionalesSpecified = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_impuestos_nacionalesSpecified; cIBK.resumen.importes_moneda_origen.importe_total_ingresos_brutos = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_ingresos_brutos; cIBK.resumen.importes_moneda_origen.importe_total_ingresos_brutosSpecified = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_ingresos_brutosSpecified; cIBK.resumen.importes_moneda_origen.importe_total_neto_gravado = lc.comprobante[i].resumen.importes_moneda_origen.importe_total_neto_gravado; cIBK.resumen.importes_moneda_origen.impuesto_liq = lc.comprobante[i].resumen.importes_moneda_origen.impuesto_liq; cIBK.resumen.importes_moneda_origen.impuesto_liq_rni = lc.comprobante[i].resumen.importes_moneda_origen.impuesto_liq_rni; } cIBK.resumen.impuesto_liq = lc.comprobante[i].resumen.impuesto_liq; cIBK.resumen.impuesto_liq_rni = lc.comprobante[i].resumen.impuesto_liq_rni; if (lc.comprobante[i].resumen.descuentos != null) { cIBK.resumen.descuentos = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteResumenDescuentos[lc.comprobante[i].resumen.descuentos.Length]; for (int l = 0; l < lc.comprobante[i].resumen.descuentos.Length; l++) { if (lc.comprobante[i].resumen.descuentos[l] != null) { cIBK.resumen.descuentos[l] = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteResumenDescuentos(); cIBK.resumen.descuentos[l].alicuota_iva_descuento = lc.comprobante[i].resumen.descuentos[l].alicuota_iva_descuento; cIBK.resumen.descuentos[l].alicuota_iva_descuentoSpecified = lc.comprobante[i].resumen.descuentos[l].alicuota_iva_descuentoSpecified; cIBK.resumen.descuentos[l].descripcion_descuento = lc.comprobante[i].resumen.descuentos[l].descripcion_descuento; cIBK.resumen.descuentos[l].importe_descuento = lc.comprobante[i].resumen.descuentos[l].importe_descuento; cIBK.resumen.descuentos[l].importe_descuento_moneda_origen = lc.comprobante[i].resumen.descuentos[l].importe_descuento_moneda_origen; cIBK.resumen.descuentos[l].importe_descuento_moneda_origenSpecified = lc.comprobante[i].resumen.descuentos[l].importe_descuento_moneda_origenSpecified; cIBK.resumen.descuentos[l].importe_iva_descuento = lc.comprobante[i].resumen.descuentos[l].importe_iva_descuento; cIBK.resumen.descuentos[l].importe_iva_descuento_moneda_origen = lc.comprobante[i].resumen.descuentos[l].importe_iva_descuento_moneda_origen; cIBK.resumen.descuentos[l].importe_iva_descuento_moneda_origenSpecified = lc.comprobante[i].resumen.descuentos[l].importe_iva_descuento_moneda_origenSpecified; cIBK.resumen.descuentos[l].importe_iva_descuentoSpecified = lc.comprobante[i].resumen.descuentos[l].importe_iva_descuentoSpecified; cIBK.resumen.descuentos[l].porcentaje_descuento = lc.comprobante[i].resumen.descuentos[l].porcentaje_descuento; cIBK.resumen.descuentos[l].porcentaje_descuentoSpecified = lc.comprobante[i].resumen.descuentos[l].porcentaje_descuentoSpecified; } } } if (lc.comprobante[i].resumen.impuestos != null) { cIBK.resumen.impuestos = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteResumenImpuestos[lc.comprobante[i].resumen.impuestos.Length]; for (int l = 0; l < lc.comprobante[i].resumen.impuestos.Length; l++) { if (lc.comprobante[i].resumen.impuestos[l] != null) { cIBK.resumen.impuestos[l] = new global::CedServicios.Site.org.dyndns.cedweb.envio.lcComprobanteResumenImpuestos(); cIBK.resumen.impuestos[l].codigo_impuesto = lc.comprobante[i].resumen.impuestos[l].codigo_impuesto; cIBK.resumen.impuestos[l].codigo_jurisdiccion = lc.comprobante[i].resumen.impuestos[l].codigo_jurisdiccion; cIBK.resumen.impuestos[l].codigo_jurisdiccionSpecified = lc.comprobante[i].resumen.impuestos[l].codigo_jurisdiccionSpecified; cIBK.resumen.impuestos[l].descripcion = lc.comprobante[i].resumen.impuestos[l].descripcion; cIBK.resumen.impuestos[l].importe_impuesto = lc.comprobante[i].resumen.impuestos[l].importe_impuesto; cIBK.resumen.impuestos[l].importe_impuesto_moneda_origen = lc.comprobante[i].resumen.impuestos[l].importe_impuesto_moneda_origen; cIBK.resumen.impuestos[l].importe_impuesto_moneda_origenSpecified = lc.comprobante[i].resumen.impuestos[l].importe_impuesto_moneda_origenSpecified; cIBK.resumen.impuestos[l].jurisdiccion_municipal = lc.comprobante[i].resumen.impuestos[l].jurisdiccion_municipal; cIBK.resumen.impuestos[l].porcentaje_impuesto = lc.comprobante[i].resumen.impuestos[l].porcentaje_impuesto; cIBK.resumen.impuestos[l].porcentaje_impuestoSpecified = lc.comprobante[i].resumen.impuestos[l].porcentaje_impuestoSpecified; } } } cIBK.resumen.observaciones = lc.comprobante[i].resumen.observaciones; cIBK.resumen.tipo_de_cambio = lc.comprobante[i].resumen.tipo_de_cambio; lcWS.comprobante[i] = cIBK; } return(lcWS); }
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; }
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>"); }