Skip to content

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 terceros del 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, padre TESOR_INF id 4014)

Formulario de Pedido

Filtros disponibles

  • Vencimiento Desde (opcional): Filtra cheques cuya terceros.fecha sea mayor o igual al valor indicado.
  • Vencimiento Hasta (requerido para criterios que dependen de fecha): Filtra cheques cuya terceros.fecha sea 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ía codcar (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
  • 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 por fecegr 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° ChequeBancoLocalidadImporteFec. Vto.Fec. Ing.Cliente (cód)Cliente (nombre)CUITCartera

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 NULL como 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 NULL para 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 NULL y se ordena por fecegr 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:

  1. Usuario accede al informe de Valores en Cartera (?loc=mteivc)
  2. Sistema muestra el formulario con Cliente y Cartera precompletados (primer/último)
  3. Usuario ingresa rango de Vencimiento Desde/Hasta
  4. Usuario selecciona Estado "Sin Egresar"
  5. Usuario selecciona criterio "Vencimiento"
  6. Usuario solicita generar el informe
  7. 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:

  1. Usuario ingresa una fecha en Vencimiento Hasta
  2. Usuario selecciona criterio "Disponibles a Fecha"
  3. Sistema aplica fecha <= hasta_fecha AND fecegr IS NULL
  4. 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:

  1. Usuario selecciona criterio "Sin Acreditar"
  2. Sistema aplica filtro depo IS NULL
  3. 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:

  1. Usuario selecciona criterio de orden "Egresados"
  2. Sistema aplica fecegr IS NOT NULL y ordena por fecegr DESC
  3. 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 NULL y ordena por fecegr 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-CARTERA pueden acceder al informe

Consideraciones

Seguridad

  • Requiere permiso TESOR_INF_VALORES-CARTERA (id 4019, padre TESOR_INF id 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 formulario
  • ordcon: fuente de datos del autocomplete de clientes

Archivos implementados

ArchivoDescripción
bautista-app/ts/tesoreria/informes/ValoresCarteraForm.tsxFormulario React del informe
bautista-app/ts/tesoreria/informes/ValoresCarteraApp.tsxComponente raíz del informe
bautista-app/ts/tesoreria/schemas/informes.tsSchema Zod de validación
bautista-app/view/mod-tesoreria/informes/valores-cartera.phpVista PHP de entrada
informes/reports/mod-tesoreria/valores_cartera-datos.phpConsulta de datos del informe
informes/reports/mod-tesoreria/valores_cartera-render.phpRenderizado del PDF
bautista-backend/migrations/seeds/tenancy/Permisos.phpSeed del permiso TESOR_INF_VALORES-CARTERA
bautista-app/ts/tesoreria/config/sidebar.tsEntrada en el sidebar de tesorería
informes/index.phpCase valores_cartera con TipoPagina::A4_LANDSCAPE
bautista-app/index.phpCase 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