Appearance
Informe de Valores en Cartera
Módulo: Tesorería Tipo: View Estado: Implementado Fecha: 2026-06-03
Descripción
El informe de Valores en Cartera lista los cheques de terceros que se encuentran en cartera, agrupados por fecha de vencimiento con subtotales por fecha y un total general al pie. Permite filtrar por rango de vencimiento, cliente, cartera y estado del cheque, así como ordenar los resultados por distintos criterios operativos.
Valor para el negocio:
- Visión rápida de los cheques disponibles en cartera y sus fechas de acreditación
- Control de cheques egresados vs. disponibles para depósito
- Identificación de cheques sin boleta de depósito asociada
Contexto:
- Los cheques de terceros se almacenan en la tabla
tercerosdel schema de tesorería - El informe consulta esa tabla aplicando los filtros del formulario
- Se accede desde el módulo de Tesorería mediante la ruta
?loc=mteivc - Permiso requerido:
TESOR_INF_VALORES-CARTERA(id 4019, padreTESOR_INFid 4014)
Formulario de Pedido
Filtros disponibles
- Vencimiento Desde (opcional): Filtra cheques cuya
terceros.fechasea mayor o igual al valor indicado. - Vencimiento Hasta (requerido para criterios que dependen de fecha): Filtra cheques cuya
terceros.fechasea menor o igual al valor indicado. Requerido cuando el criterio de orden es "Disponibles a Fecha". - Cliente Desde / Hasta (opcional): Autocomplete sobre
ordcon. Envía{ id, nombre }. Al montar el formulario se precarga el primer y último cliente disponible respectivamente. - Cartera Desde / Hasta (opcional): Select precargado desde el endpoint
mod-tesoreria/cartera-cheque. Envíacodcar(number). Al montar el formulario se precarga la primera y última cartera disponibles respectivamente. - Estado: Radio de selección única:
- Sin Egresar: incluye solo cheques con
fecegr IS NULL - Egresados: incluye solo cheques con
fecegr IS NOT NULL - Todos: sin filtro por egreso
- Sin Egresar: incluye solo cheques con
- Ordenar por: Define el criterio de ordenamiento y puede agregar condiciones adicionales:
- Vencimiento: ordena por fecha de vencimiento del cheque
- Fecha Ingreso: ordena por fecha de ingreso a cartera
- Número: ordena por número de cheque
- Importe: ordena por importe del cheque
- Disponibles a Fecha: agrega condición
fecha <= hasta_fecha AND fecegr IS NULL; ordena por fecha de vencimiento - Sin Acreditar: agrega condición
depo IS NULL(cheques sin boleta de depósito asociada) - Egresados: agrega condición
fecegr IS NOT NULL; ordena porfecegr DESC
Comportamiento del formulario
- Los autocompletes de Cliente y los selects de Cartera se precargan al montar con el primer y último valor disponible
- El criterio "Disponibles a Fecha" requiere que se haya ingresado Vencimiento Hasta para que el filtro adicional tenga referencia
- La validación se define en el schema Zod correspondiente en
bautista-app/ts/tesoreria/schemas/informes.ts
Estructura del Informe
Formato
- Orientación: A4 Landscape
- Sin estilos de color (apto para impresión en blanco y negro)
- Paginación automática via
paginarConCallback()con límite de 25 unidades por página; el callback mide dinámicamente las líneas de texto de banco, localidad y cliente para ajustar el salto de página
Encabezado
- Nombre de la empresa
- Título: VALORES EN CARTERA
- Filtros aplicados (rango de vencimiento, cliente, cartera, estado)
- Fecha de emisión y número de página
Cuerpo
Los cheques se agrupan por fecha de vencimiento. Dentro de cada grupo se listan las filas en el orden seleccionado.
Columnas por fila:
| N° Cheque | Banco | Localidad | Importe | Fec. Vto. | Fec. Ing. | Cliente (cód) | Cliente (nombre) | CUIT | Cartera |
|---|
Subtotal por fecha de vencimiento: al final de cada grupo se muestra la suma de los importes de todos los cheques de esa fecha.
Total general: al pie del informe se muestra la suma de todos los importes listados.
Reglas de Negocio
RN-VC-001: Agrupamiento por fecha de vencimiento
- Condición: Existen cheques con la misma
terceros.fecha - Acción: Se agrupan en un bloque con encabezado de fecha y subtotal al cierre del grupo
RN-VC-002: Criterio "Disponibles a Fecha" requiere fecha hasta
- Condición: El usuario selecciona "Disponibles a Fecha" como criterio de orden
- Acción: El sistema aplica
fecha <= hasta_fecha AND fecegr IS NULLcomo filtro adicional; si no se ingresó Vencimiento Hasta, el filtro no tiene valor de referencia
RN-VC-003: Criterio "Sin Acreditar"
- Condición: El usuario selecciona "Sin Acreditar" como criterio de orden
- Acción: Se agrega
depo IS NULLpara incluir solo cheques sin boleta de depósito
RN-VC-004: Criterio "Egresados" (orden)
- Condición: El usuario selecciona "Egresados" como criterio de orden
- Acción: Se agrega
fecegr IS NOT NULLy se ordena porfecegr DESC; este criterio es independiente del filtro de Estado
RN-VC-005: Paginación dinámica
- Condición: El texto de banco, localidad o cliente puede ocupar múltiples líneas
- Acción: El callback de
paginarConCallback()mide las líneas de texto de cada fila para determinar si cabe en la página actual antes de insertarla; el límite es 25 unidades de altura
RN-VC-006: Sin resultados
- Condición: Los filtros aplicados no retornan cheques
- Acción: El sistema informa que no hay datos para los parámetros ingresados; no se genera PDF
Casos de Uso
UC-VC-001: Consultar cheques disponibles con vencimiento próximo
Actor: Usuario de tesorería
Precondiciones:
- Usuario autenticado con permiso
TESOR_INF_VALORES-CARTERA - Existen cheques en cartera con estado "Sin Egresar"
Flujo principal:
- Usuario accede al informe de Valores en Cartera (
?loc=mteivc) - Sistema muestra el formulario con Cliente y Cartera precompletados (primer/último)
- Usuario ingresa rango de Vencimiento Desde/Hasta
- Usuario selecciona Estado "Sin Egresar"
- Usuario selecciona criterio "Vencimiento"
- Usuario solicita generar el informe
- Sistema genera el PDF agrupado por fecha de vencimiento con subtotales y total general
Postcondiciones:
- Informe PDF generado; no se modifican registros
UC-VC-002: Consultar cheques disponibles a una fecha determinada
Actor: Usuario de tesorería
Flujo principal:
- Usuario ingresa una fecha en Vencimiento Hasta
- Usuario selecciona criterio "Disponibles a Fecha"
- Sistema aplica
fecha <= hasta_fecha AND fecegr IS NULL - PDF muestra solo cheques con vencimiento hasta la fecha indicada y aún no egresados
UC-VC-003: Identificar cheques sin acreditar
Actor: Usuario de tesorería
Flujo principal:
- Usuario selecciona criterio "Sin Acreditar"
- Sistema aplica filtro
depo IS NULL - PDF lista los cheques que no tienen boleta de depósito asociada, agrupados por fecha de vencimiento
UC-VC-004: Revisar historial de cheques egresados
Actor: Usuario de tesorería
Flujo principal:
- Usuario selecciona criterio de orden "Egresados"
- Sistema aplica
fecegr IS NOT NULLy ordena porfecegr DESC - PDF presenta los cheques egresados del más reciente al más antiguo, agrupados por fecha de vencimiento
Criterios de Aceptación
- [ ] El formulario precarga el primer y último cliente en los autocompletes de Cliente Desde/Hasta al montar
- [ ] El formulario precarga la primera y última cartera en los selects de Cartera Desde/Hasta al montar
- [ ] El filtro de Estado ("Sin Egresar", "Egresados", "Todos") se aplica correctamente en la consulta
- [ ] El criterio "Disponibles a Fecha" agrega
fecha <= hasta_fecha AND fecegr IS NULL - [ ] El criterio "Sin Acreditar" agrega
depo IS NULL - [ ] El criterio "Egresados" (orden) agrega
fecegr IS NOT NULLy ordena porfecegr DESC - [ ] El informe agrupa los cheques por fecha de vencimiento con un subtotal al cierre de cada grupo
- [ ] El informe muestra un total general al pie
- [ ] Las columnas del informe son: N° Cheque, Banco, Localidad, Importe, Fec. Vto., Fec. Ing., Cliente (cód y nombre), CUIT, Cartera
- [ ] El formato es A4 Landscape, sin estilos de color
- [ ] La paginación es dinámica y mide las líneas de texto de banco, localidad y cliente para el salto de página
- [ ] Si no hay cheques para los filtros aplicados, el sistema informa sin generar PDF
- [ ] Solo usuarios con permiso
TESOR_INF_VALORES-CARTERApueden acceder al informe
Consideraciones
Seguridad
- Requiere permiso
TESOR_INF_VALORES-CARTERA(id 4019, padreTESOR_INFid 4014) - El informe accede únicamente a los datos de la empresa y sucursal del usuario autenticado
Rendimiento
- Carteras con gran cantidad de cheques en el rango solicitado pueden implicar muchas filas; el agrupamiento por fecha de vencimiento no reduce el volumen de filas sino que organiza la presentación
- La paginación con callback dinámico introduce overhead de medición por fila, pero evita desbordamiento visual en cheques con texto largo
Dependencias
Módulos internos
- Tabla
terceros: fuente de datos principal (cheques de terceros) mod-tesoreria/cartera-cheque: endpoint que provee las carteras disponibles para el select del formularioordcon: fuente de datos del autocomplete de clientes
Archivos implementados
| Archivo | Descripción |
|---|---|
bautista-app/ts/tesoreria/informes/ValoresCarteraForm.tsx | Formulario React del informe |
bautista-app/ts/tesoreria/informes/ValoresCarteraApp.tsx | Componente raíz del informe |
bautista-app/ts/tesoreria/schemas/informes.ts | Schema Zod de validación |
bautista-app/view/mod-tesoreria/informes/valores-cartera.php | Vista PHP de entrada |
informes/reports/mod-tesoreria/valores_cartera-datos.php | Consulta de datos del informe |
informes/reports/mod-tesoreria/valores_cartera-render.php | Renderizado del PDF |
bautista-backend/migrations/seeds/tenancy/Permisos.php | Seed del permiso TESOR_INF_VALORES-CARTERA |
bautista-app/ts/tesoreria/config/sidebar.ts | Entrada en el sidebar de tesorería |
informes/index.php | Case valores_cartera con TipoPagina::A4_LANDSCAPE |
bautista-app/index.php | Case mteivc para la ruta del formulario |
Relacionado
- Flujo de Caja — Otro informe PDF del módulo de Tesorería con patrón similar de formulario + render