Configuración de Consultas Personalizadas

Navigation:  Configuración de Servidor > Queries Personalizados (Consultas Personalizadas) >

Configuración de Consultas Personalizadas

Previous pageReturn to chapter overviewNext page

Para acceder a la ventana de modificación de Consultas vaya a

 

Menu Seleccione de Áreas

Haga clic en "Configuración de Servidor"

 

BOTON-CONFIG-SERVER

 

En el menú Formulario haga clic en "Consultas Personalizadas"

 

CONSULTAS-PERSONALIZADAS-BT

 

Para poder modificar este formulario debe tener el permiso de "ERP.System.Manager"

 

 

Campos

 

Query ID: Es el número de consulta único en el sistema, el cual será tomado como identificador para campos personalizados o reportes personalizados.

Tipo de Catálogo: Es el número que se relaciona con el número de catálogo de la tabla Catalogos1.

 

Si se desea ejecutar la consulta especificada en el Query (incluso dentro de catálogos dinámicos) se debe dejar en 0 y en BindingFilter poner "Tipo=0", para esta opción se debe especificar las mismas columnas que Catálogos1

 

Query Text: es la consulta en formato MS-SQL

Data Table Name: El nombre que va a recibir la tabla

 

 En el caso de Reportes Personalizados el Table Name debera ser siempre "Reporteador"

 

Friendly Name: Nombre de la Ventana en el caso de ser catálogo o el nombre del Reporte en caso de Reportes Personalizados

Binding Filter: En el caso de se requiera filtrar adicionalmente un Catálogo se debe poner el filtro en formato SQL

 

 

clip0384

 

 

Parámetros en las Consultas

 

Para los parámetros siempre deben empezar en @arg1

 

Ejemplo:

 

SELECT * FROM Catalogos1 WHERE IDCatalogo1=@arg1

 

o

 

SELECT IDCatalogo1, NombreCat FROM Catalogos1 WHERE IDCatalogo1=@arg1

 

 

 

Parámetros en Reportes Personalizados

 

Para menú personalizado con QueryID  los parámetros de la consulta personalizada deben ser establecidos conforme a lo siguiente:

 

@arg1 = fecha1

@arg2 = fecha2

@arg3 = IDProducto

@arg4 = IDCatalogos1

@arg5 = IDEmpresa

@arg6 = InputBox

 

Ejemplo:

 

WHERE (Documentos.Fecha BETWEEN @arg1 AND @arg2)

 

 

 

 

Consultas Personalizadas para Catálogos Personalizados

 

Se debe utilizar el siguiente Query Text:

 

SELECT * FROM Catalogos1 WHERE IDCatalogo1=@arg1

 

Siempre con la clausula WHERE tal y como está ya que al llamar al documento este utilizará la consulta arriba mencionada

 

Vea Catálogos Diámicos

 

 

 

 

DrillDown (subconsultas) de Reportes Personalizados

 

Formato de Subconsulta

 

<Columna Seleccionada>#<ID Query>#<ID Columna Base>#<Ventana> ...

 

Columna Seleccionada: Es la columna que se utiliza para que el sistema reconozca en donde el doble clic abrirá la Subconsulta

ID Query: es el ID de la subconsulta configurada y la cual se mostrará al hacer doble clic

ID Columna Base: es la referencia que se envia a la subconsulta, se puede utilizar dos o mas columnas separada por "/"

Ventana: es el formulario a visualizar:

 GRID

 POLIZA

 DOCUMENTO

 

 

Los Parametros son heredados desde la consulta base, siendo los parametros de la subconsulta subsecuentes a los heredados ejemplo:

 

Consulta Principal: @Desde, @Hasta

Subconsulta: @IDPoliza

Total de parametros para la subconsulta (3): @Desde, @Hasta, @IDPoliza

 

Ejemplo:

Total#90601#IDProducto/NumSuc#GRID

 

El sistema mostrará un Grid cuando se haga doble clic en la columna Total y ejecutará la consulta 90601 con los parámetros IDProducto y NumSuc

Los parámetros IDProducto quedará como @arg7 y NumSuc como @arg8

 

Opción 2 cuando sean varias columnas a enviar como parámetros

Si no se desea usar columna por columna "Columna1/Columna2/Columna3"

Se puede optar por generar una columna con el detalle del registro separando los campos con "#" ejemplo:

 

Productos.Presentacion + '#' + CAST(Clientes.IDCliente AS VARCHAR) + '#' + CONVERT(VARCHAR(50), Documentos.Fecha , 103) as InfoSubQuery

 

En el subquery se debe utilizar la siguiente sintaxis para obtener los valores y ejecutar la consulta:

 

DECLARE @Presentacion varchar(50)
DECLARE @IDCliente INT
DECLARE @Fecha DATE
 
set @arg7 = Replace(@arg7, '#', '.');
 
SET @Presentacion = ParseName(@arg7, 3)
SET @IDCliente = ParseName(@arg7, 2)
SET @Fecha = ParseName(@arg7, 1)