Tiempo aproximado de lectura 00:02:15 min
Duda
¿Cómo funcionan las restricciones de longitud de caracteres en los filtros alfanuméricos de informes SmartView (como FINSV501) y cuál es la forma correcta de filtrar por rango completo de registros?
Entorno
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Financiero (SIGAFIN) - Versión 12.1.2510
Solución
1. Comportamiento del componente Lookup en los filtros
Los campos alfanuméricos en los filtros de SmartView utilizan un componente dinámico denominado lookup( ). A diferencia de la herramienta TReports, este componente no limita la captura a la cantidad exacta de caracteres definida en el diccionario de datos (SX3) de Protheus.
La razón técnica es que la búsqueda del componente lookup( ) abarca todos los campos de retorno (por ejemplo, en el filtro de cliente se puede digitar directamente el nombre del cliente o el código de identificación). Por este motivo, el componente no restringe el número máximo de caracteres en el campo de texto. Este comportamiento corresponde al estándar de diseño de SmartView.
2. Forma correcta de ejecutar el informe para el rango completo (Todos)
Para emitir la información abarcando la totalidad de registros (por ejemplo, todos los clientes), se deben aplicar los parámetros de la siguiente manera:
- Campo "Desde" (Ej. 05 De Cliente): Dejar el campo vacío.
- Campo "Hasta" (Ej. 06 A Cliente): Ingresar ZZZZZZ (o una cadena de caracteres Z).
¡IMPORTANTE!
• No deje ambos campos vacíos. Si el campo "Hasta" se deja vacío, el informe no devolverá información.
• SmartView no interpreta automáticamente el rango completo de forma implícita al omitir valores; es indispensable especificar el límite superior utilizando ZZZZZZ.
• Aunque el campo permita capturar más caracteres de los definidos en la tabla, el uso de ZZZZZZ es interpretado correctamente por el motor de SmartView para considerar el rango total.
0 Comentarios