jueves, octubre 20, 2011

Procedimiento almacenado para realizar paginacion de una tabla en sql server

A continuacion el resultado de un par de horas de estar buscando como realizar paginacion para una tabla desde un procedimiento almacenado en SQL Server 2005, supongo que puede ser usado en la nueva version 2008.
Existen por ahi diversos ejemplos de como realizar esto, yo termine con esta sencilla version para mas adelante implementar un control ajax, que irá tomando los datos de 50 en 50 registros por vez.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        Victor Garcia
-- Create date: 2008/08/14
-- Description:    Procedimiento almacenado para paginacion de una tabla
-- Usage: usp_obtenpagina(0,20) 
-- Note: la primer pagina debe ser 0
-- =============================================
CREATE PROCEDURE usp_obtenpagina
    -- Add the parameters for the stored procedure here
    @Pagina  int = 0, 
    @Registros  int = 10
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    DECLARE @Inicio int;
    SET @Inicio=@Pagina*@Registros+1;
    SET @Registros = @Registros * (1+@Pagina);
  -- Insert statements for procedure here
    SELECT *
    FROM (SELECT ROW_NUMBER() OVER (ORDER BY MiTabla.MiId)
    AS Fila, *
    FROM MiTabla)
    AS Numeracion
    WHERE Fila between @Inicio and @Registros
END
GO

Listo!

Instalar traducciones para modulos en OpenERP

Rapidamente para no olvidar como colocar las traducciones oficiales en los modulos extras de OpenERP:

1.- Buscar en LaunchPad el archivo correspondiente al módulo (http://bazaar.launchpad.net/~openerp-commiter/openobject-addons/extra-6.0/files), en mi caso estoy usando la versión 6.0xx; buscar el nombre del modulo que se desea y descargar el archivo es.po correspondiente.

2.- Colocar el archivo es.po anteriormente obtenido en la carpeta i18n del modulo que estamos tratando de traducir, por ejemplo "Hotel Reservation".

3.- Desde el cliente de ERP usando el usuario de admin, entramos a la sección de Administración/Traducciones/Cargar una traducción oficial; seleccionamos el idioma Español y esperamos un momento (depende de los módulos que se están usando).

4.- Para visualizar los cambios, detener-arrancar el servidor de ERP y también cerrar-abrir el cliente.

Listo!