Detalle
| Campo | Valor |
|---|---|
| Tipo de documento | Manual de Usuario |
| Módulo | Herramientas |
| Formulario | FormGestion_InformesPersonalizados |
| Versión del manual | 1.0 |
Introducción
Informes Personalizados es el ABM (Alta, Baja y Modificación) que permite definir informes propios a partir de una consulta SQL de tipo SELECT. Cada informe puede entregarse como texto plano (incrustado en el cuerpo de un correo) o como archivo Excel adjunto, y puede asociarse al proceso de Cierre de Día para ejecutarse automáticamente con una periodicidad configurable (diaria, semanal, quincenal, mensual o último día del mes).
Es una herramienta de administración orientada a usuarios técnicos/operativos que necesitan distribuir información a medida sin esperar un desarrollo a medida.
Acceso al módulo
Se accede al ABM de Informes Personalizados desde el módulo de Gestión / Herramientas de la aplicación. La pantalla utiliza el patrón estándar de ABM con grilla (basado en FrmResult), con las acciones de Nuevo, Modificar y Eliminar en el ribbon.
Verificar contra el binario instalado la ruta de menú exacta desde la que se invoca esta pantalla.
Pantalla principal
La pantalla muestra una grilla con los informes personalizados existentes. La grilla traduce los códigos internos a textos legibles:
- Tipo de resultado:
P→ "Plano",A→ "Adjunto Excel". - Periodicidad:
D→ "Diario",S→ "Semanal",Q→ "Quincenal",M→ "Mensual",U→ "Último día del mes".
En la cinta (ribbon) se ocultan las páginas de Operaciones y de Ver, ya que este ABM no las utiliza.
Filtros de búsqueda
La búsqueda se realiza con los siguientes parámetros (clase ParametrosBusquedas):
| Filtro | Descripción |
|---|---|
| Id | Filtra por el identificador del informe (0 = todos). |
| Nombre | Filtra por coincidencia parcial del nombre del informe. |
| Solo activos | Si está marcado, muestra únicamente los informes activos. |
Los resultados se ordenan por nombre.
Resultados
La grilla lista cada informe personalizado con sus datos principales (nombre, tipo de resultado, periodicidad, estado activo, etc.). Al dar de alta o modificar un informe se abre la ventana de edición (FormGestion_InformesPersonalizados_AddMod) con los siguientes campos:
| Campo | Descripción |
|---|---|
| Nombre | Nombre del informe (obligatorio). |
| Query | Consulta SQL del informe (obligatorio; solo SELECT). |
| Tipo de Resultado | "Plano (cuerpo del mail)" o "Adjunto Excel". |
| Activo | Marca si el informe está habilitado. |
| Es Cierre de Día | Si se ejecuta dentro del proceso de cierre de día. |
| Periodicidad | Diario, Semanal, Quincenal, Mensual o Último día del mes (habilitada solo si Es Cierre de Día). |
| Día de la semana / Día del mes | Anclas para las periodicidades semanal/quincenal/mensual. |
Acciones disponibles
| Acción | Cómo |
|---|---|
| Buscar | Botón Buscar de la pantalla. |
| Nuevo | Botón Nuevo del ribbon. |
| Modificar | Botón Modificar del ribbon, doble clic en la fila, o Enter sobre la fila seleccionada. |
| Eliminar | Botón Eliminar del ribbon (pide confirmación). |
Al guardar un informe, el sistema valida que el query no esté vacío y que sea seguro (solo consultas SELECT); si la validación falla, muestra el motivo y no guarda.
Ejemplo práctico
Un usuario quiere recibir cada mañana, por correo, el total cobrado del día anterior:
- Abre Informes Personalizados y presiona Nuevo.
- Ingresa el Nombre: "Cobranzas del día".
- Escribe el Query (un
SELECTque totaliza la cobranza usando el parámetro@FechaTrabajo). - Elige Tipo de Resultado = "Plano (cuerpo del mail)".
- Marca Es Cierre de Día y selecciona Periodicidad = "Diario".
- Marca Activo y guarda. El sistema valida que el query sea un SELECT seguro y lo registra.
A partir de ahí, el proceso de cierre de día ejecutará el informe diariamente y lo distribuirá.
Consejos útiles
- El query debe ser exclusivamente de lectura (SELECT). El sistema rechaza palabras como INSERT, UPDATE, DELETE, DROP, EXEC, etc.
- Para informes de cierre, usá los parámetros
@FechaTrabajo,@FechaDesdey@FechaHasta: los tres reciben la fecha de trabajo del cierre, y cada query resuelve su propio rango (mes a la fecha, día, etc.) en SQL. - Si el resultado tiene exactamente dos columnas, el formato plano agrega una línea de TOTAL automáticamente.
- El formato plano muestra hasta 100 filas; si hay más, indica cuántas se omitieron.
Preguntas frecuentes
¿Por qué no me deja guardar el query?
El sistema solo admite consultas de lectura (SELECT). Si el query contiene palabras prohibidas (INSERT, UPDATE, DELETE, DROP, ALTER, EXEC, TRUNCATE, CREATE, MERGE, GRANT, etc.) o empieza con `xp_` / `sp_`, el guardado se rechaza con el detalle de la sentencia no permitida.¿Qué parámetros puedo usar en el query?
Siempre disponés de `@FechaTrabajo`, `@FechaDesde` y `@FechaHasta`, que reciben la fecha de trabajo del cierre. Además podés definir parámetros adicionales mediante el JSON de parámetros del informe.¿Cuándo se ejecuta un informe automáticamente?
Solo si está marcado como "Es Cierre de Día" y está activo. Su periodicidad (diaria, semanal, quincenal, mensual o último día del mes) determina en qué días corresponde ejecutarlo durante el cierre.¿Qué pasa con los registros de ejecución al eliminar un informe?
Al eliminar un informe, el sistema borra primero sus registros de log asociados (tabla `Gestion_InformesPersonalizados_Log`) para respetar la clave foránea, y luego elimina el informe.¿En qué formato se entrega el resultado?
Según el campo Tipo de Resultado: "Plano" lo incrusta como texto en el cuerpo del correo; "Adjunto Excel" genera un archivo Excel con los datos y encabezados.Permisos
El formulario FormGestion_InformesPersonalizados y su ventana de edición FormGestion_InformesPersonalizados_AddMod no invocan IsAllowedObject ni declaran claves de licencia (KeyLicences) en su código. El control de acceso queda determinado por la ubicación de menú desde la que se invoca el ABM y por la seguridad del ribbon estándar (FrmResult).
Verificar contra el binario instalado si el punto de menú que abre esta pantalla está sujeto a un permiso superior.
Información técnica
Basada en el análisis del formulario real de la v14
Formularios principales
| Form | Rol |
|---|---|
FormGestion_InformesPersonalizados |
ABM (grilla + búsqueda) de informes personalizados. Hereda de FrmResult. Caption: "Informes Personalizados". |
FormGestion_InformesPersonalizados_AddMod |
Alta/Modificación de un informe (nombre, query, tipo de resultado, cierre de día, periodicidad). Hereda de FrmAddMod. |
Permisos reales
| Permiso | Acción |
|---|---|
| (ninguno) | Ni el ABM ni el AddMod invocan IsAllowedObject ni declaran KeyLicences. |
Tablas de base de datos principales
| Tabla | Uso |
|---|---|
Gestion_InformesPersonalizados |
Almacena la definición de cada informe (nombre, query, permisos, tipo de resultado, periodicidad, cierre de día, fechas de alta/modificación, última ejecución/resultado). |
Gestion_InformesPersonalizados_Log |
Registra cada ejecución (fecha, filas devueltas, tiempo, éxito/error, mensaje). |
Relación con otros módulos / manuales
| Manual relacionado | Vínculo operativo |
|---|---|
| Gestor de Reportes | Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad. |
| Informe Operaciones | Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad. |
| Memoria del Sistema | Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad. |
Notas para soporte
- La validación de seguridad del query es por lista de palabras prohibidas y tokens que comienzan con esas palabras o con
xp_/sp_. Solo se permiten SELECT. - La columna
Permisosde la tabla es NOT NULL; si viene vacía, el Manager la fuerza a0(todos los grupos) antes de guardar. TipoResultadopor defecto es "Plano" si no se especifica.- Periodicidad acepta tanto palabras completas (Diario, Semanal...) como las siglas legacy (D, S, Q, M, U) por compatibilidad. Verificar contra el binario instalado cómo se persisten en cada versión.