@Override
    public boolean devolucionProducto(TCompraArticulo articulo, int idVenta) 
    {
        boolean correcto=false;
        TransactionManager.obtenerInstanacia().nuevaTransaccion();
        try
        {
            //Iniciamos la transsacion y bloqueamos la tabla a modificar
            TransactionManager.obtenerInstanacia().getTransaccion().start();
            //buscamos el producto en la BBDD
            TVenta tVenta = FactoriaDAO.obtenerInstancia().getDAOVenta().mostrarVenta(idVenta);
            //Si el producto existe lo damos de baja logica
            if(tVenta!=null){
                if(tVenta.isActivo())
                {
                    //comprobamos si se introduce en la tabla o no
                    if(FactoriaDAO.obtenerInstancia().getDAOVenta().devolucionProducto(articulo, idVenta))
                    {
                        //confirmamos la transaccion
                        try
                        {
                            TransactionManager.obtenerInstanacia().getTransaccion().commit();
                            correcto=true;
                        }
                        // Si falla el commit.
                        catch(Exception e)
                        {
                           TransactionManager.obtenerInstanacia().getTransaccion().rollback();
                        }
                    }
                }	
            }
            else
            {
                // Echamos para atras la transaccion
                TransactionManager.obtenerInstanacia().getTransaccion().rollback();
                
            }
            //Eliminamos la transaccion
            TransactionManager.obtenerInstanacia().eliminaTransaccion();
        }
        catch(Exception e)
        {
            try {
                TransactionManager.obtenerInstanacia().getTransaccion().rollback();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            TransactionManager.obtenerInstanacia().eliminaTransaccion();
        }     
        return correcto;
    }