/// <summary>
        /// Metodo que que desgloza los ensambles en sus productos para registrarlo en la partida
        /// </summary>
        protected void AgregarDetalleEnsamble(MedNeg.Facturas.BlDetallePartida renglonEnsamble,int iIdPedido)
        {
            //Recuperar los datos del ensamble
            MedDAL.DAL.ensamble oEnsamble = new MedDAL.DAL.ensamble();
            MedDAL.DAL.ensamble_productos oEnsambleProductos = new MedDAL.DAL.ensamble_productos();
            MedNeg.Ensambles.BlEnsambles oblEnsamble = new MedNeg.Ensambles.BlEnsambles();
            
            oEnsamble = oblEnsamble.BuscarNombre(renglonEnsamble.sProducto);
            oblEnsamble = new MedNeg.Ensambles.BlEnsambles();
            oEnsambleProductos = oblEnsamble.RecuperarProducto(oEnsamble.ClaveBom);  

            
            //Para registrar el detalle del pedido
            oblPedido = new MedNeg.Pedidos.BlPedidos();
            MedDAL.DAL.pedidos_partida oPedidoPartida = new MedDAL.DAL.pedidos_partida();

            oPedidoPartida.idPedido = iIdPedido;
            oPedidoPartida.idEnsamble = oEnsamble.idEnsamble;
            oPedidoPartida.idProducto = oEnsambleProductos.idProducto;
            oPedidoPartida.Cantidad = renglonEnsamble.dCantidad;
            oPedidoPartida.IEPS = 0;
            oPedidoPartida.Iva = 0;
            oPedidoPartida.Precio = renglonEnsamble.dPrecio;
            oPedidoPartida.Observaciones = renglonEnsamble.sObservaciones;
            oPedidoPartida.Descripcion = oEnsamble.Descripcion;

            //Registrar el detalle del pedido
            if (!oblPedido.NuevoDetallePartida(oPedidoPartida))
            {
                //bRegistroFallido = true;
            }
            else
            {
                sDatosBitacora += "Producto:" + renglonEnsamble.sProducto.ToString() + " ";
                sDatosBitacora += "Cant:" + renglonEnsamble.dCantidad.ToString() + " ";
                sDatosBitacora += "IEPS:" + renglonEnsamble.dIeps.ToString() + " ";
                sDatosBitacora += "Iva:" + renglonEnsamble.dIva.ToString() + " ";
                sDatosBitacora += "Precio:" + renglonEnsamble.dPrecio.ToString() + " ";
                sDatosBitacora += "Total:" + Convert.ToDecimal((renglonEnsamble.dCantidad * renglonEnsamble.dPrecio) + renglonEnsamble.dIeps + renglonEnsamble.dIva) + ", ";
                sDatosBitacora += "Obs:" + renglonEnsamble.sObservaciones;
            } 
         

        }
        /// <summary>
        /// 2013/03/10 JID Desgloza los ensambles en sus productos para registrarlo en la factura
        /// </summary>
        /// <param name="renglonEnsamble"></param>
        /// <param name="oFactura"></param>
        private bool SetPartidaEnsamble(MedNeg.Facturas.BlDetallePartida renglonEnsamble, ref MedDAL.DAL.facturas oFactura)
        {
            MedDAL.DAL.ensamble oEnsamble = new MedDAL.DAL.ensamble();
            MedDAL.DAL.ensamble_productos oEnsambleProductos = new MedDAL.DAL.ensamble_productos();
            MedNeg.Ensambles.BlEnsambles oblEnsamble = new MedNeg.Ensambles.BlEnsambles();

            //2013/03/10 Se busca el ensamble por su nombre
            oEnsamble = oblEnsamble.BuscarNombre(renglonEnsamble.sProducto);
            if (oEnsamble == null)
            {
                return false;
            }
            //oblEnsamble = new MedNeg.Ensambles.BlEnsambles();
            oEnsambleProductos = oblEnsamble.RecuperarProducto(oEnsamble.ClaveBom);
            if (oEnsambleProductos == null)
            {
                return false;
            }

            MedDAL.DAL.facturas_partida oFacturaPartida = new MedDAL.DAL.facturas_partida();

            oFacturaPartida.idFactura = 0;
            oFacturaPartida.idEnsamble = oEnsamble.idEnsamble;
            oFacturaPartida.idProducto = oEnsambleProductos.idProducto;
            oFacturaPartida.Cantidad = renglonEnsamble.dCantidad;
            oFacturaPartida.IEPS = 0;
            oFacturaPartida.Iva = 0;
            oFacturaPartida.Precio = renglonEnsamble.dPrecio;
            oFacturaPartida.Observaciones = renglonEnsamble.sObservaciones;
            oFacturaPartida.Descripcion = oEnsamble.Descripcion;
            //2013/03/10 Se agrega la partida a la factura
            oFactura.facturas_partida.Add(oFacturaPartida);

            sDatosBitacora += "Producto:" + renglonEnsamble.sProducto.ToString() + " ";
            sDatosBitacora += "Cant:" + renglonEnsamble.dCantidad.ToString() + " ";
            sDatosBitacora += "IEPS:" + renglonEnsamble.dIeps.ToString() + " ";
            sDatosBitacora += "Iva:" + renglonEnsamble.dIva.ToString() + " ";
            sDatosBitacora += "Precio:" + renglonEnsamble.dPrecio.ToString() + " ";
            sDatosBitacora += "Total:" + Convert.ToDecimal((renglonEnsamble.dCantidad * renglonEnsamble.dPrecio) + renglonEnsamble.dIeps + renglonEnsamble.dIva) + ", ";
            sDatosBitacora += "Obs:" + renglonEnsamble.sObservaciones;

            return true;
        }
        /// <summary>
        /// 2013/03/10 JID Agrega el detalle simple a la factura
        /// </summary>
        /// <param name="facturaDetalle"></param>
        /// <param name="oFactura"></param>
        private void SetPartida(MedNeg.Facturas.BlDetallePartida facturaDetalle, ref MedDAL.DAL.facturas oFactura)
        {            
            //Tomar en cuenta que el tipo de la partida ya es diferente ya que este se guardara en la base de datos
            MedDAL.DAL.facturas_partida oFacturaPartida = new MedDAL.DAL.facturas_partida();

            oFacturaPartida.idFactura = 0;
            oFacturaPartida.idProducto = facturaDetalle.iIdProducto;
            oFacturaPartida.Cantidad = facturaDetalle.dCantidad;
            oFacturaPartida.IEPS = facturaDetalle.dIeps;
            oFacturaPartida.Iva = facturaDetalle.dIva;
            oFacturaPartida.Precio = facturaDetalle.dPrecio;
            oFacturaPartida.Observaciones = facturaDetalle.sObservaciones;
            oFacturaPartida.Descripcion = facturaDetalle.SProducto;

            oFactura.facturas_partida.Add(oFacturaPartida);
            
            sDatosBitacora += "Producto:" + facturaDetalle.iIdProducto.ToString() + " ";
            sDatosBitacora += "Cant:" + facturaDetalle.dCantidad.ToString() + " ";
            sDatosBitacora += "IEPS:" + facturaDetalle.dIeps.ToString() + " ";
            sDatosBitacora += "Iva:" + facturaDetalle.dIva.ToString() + " ";
            sDatosBitacora += "Precio:" + facturaDetalle.dPrecio.ToString() + " ";
            sDatosBitacora += "Total:" + Convert.ToDecimal((facturaDetalle.dCantidad * facturaDetalle.dPrecio) + facturaDetalle.dIeps + facturaDetalle.dIva) + ", ";            
        }
 protected void InvFscargaProductoEnTxtBxs(MedNeg.Inventarios.Producto oProducto)
 {
     txtInvFsClave.Text = oProducto.codigo;
     txtInvFsDescripcionArticulo.Text = oProducto.descripcion;
     txtInvFsLoteArticulo.Text = oProducto.lote;
     txtInvFsSerieArticulo.Text = oProducto.serie;
     txtInvFsCantidadTeoricaArticulo.Text = oProducto.existenciaTeorica.ToString();
 }