Este artículo fue elaborado con asistencia de IA para ayudar a desarrolladores a comprender mejor la documentación de Uniface y, en particular, el comando setformfocus de Uniface 10.4.

Qué es setformfocus y para qué sirve: el comando setformfocus permite cambiar de forma programada cuál ventana de formulario recibe el foco en tu aplicación Uniface. Es equivalente a indicar al sistema qué formulario debe estar activo y listo para recibir entrada del usuario, como cambiar de pestaña en un navegador.

Sintaxis básica: setformfocus {InstanceName} El parámetro InstanceName es el nombre que asignaste a una instancia de formulario. Si se deja vacío, se asume el formulario actual. El nombre admite hasta 16 caracteres y los espacios finales se eliminan automáticamente. El formulario debe existir en el componente pool para que la acción tenga efecto.

Ejemplos prácticos: en una aplicación maestro-detalle puedes usar setformfocus CustomerForm para llevar el foco al formulario de cliente y setformfocus OrderDetails para centrar el foco en el formulario de detalles de pedidos. Estos ejemplos muestran cómo coordinar la navegación entre formularios relacionados sin intervención manual del usuario.

Valores de retorno y manejo de errores: tras ejecutar setformfocus, el estado se refleja en la variable $status con los siguientes códigos comunes 0 indica éxito -1 indica que el nombre de formulario no se encontró o es incorrecto -2 indica que no es posible cambiar el foco porque hay un diálogo modal abierto. Un diálogo modal bloquea la interacción con otros formularios hasta que se cierre.

Limitaciones importantes y advertencias: no usar setformfocus en componentes self contained; evitar su uso dentro de los triggers getFocus o loseFocus ya que puede provocar bloqueos de la aplicación; no funcionará si hay un formulario modal activo.

Casos de uso reales: navegación por pestañas donde al seleccionar una pestaña se dirige el foco al formulario correspondiente, relaciones maestro-detalle donde al elegir un registro se centra automáticamente el foco en el detalle, y flujos de trabajo que guían al usuario a través de formularios secuenciales para procesos de negocio.

Buenas prácticas: comprobar siempre el valor devuelto en $status para manejar errores de forma elegante; mantener nombres de instancia cortos y descriptivos respetando el límite de 16 caracteres; probar exhaustivamente escenarios con múltiples formularios abiertos; y considerar la experiencia del usuario para no cambiar el foco de manera inesperada.

Sobre Q2BSTUDIO: en Q2BSTUDIO somos especialistas en desarrollo de software y aplicaciones a medida, ofreciendo soluciones que integran inteligencia artificial, ciberseguridad y servicios cloud. Si buscas desarrollar una aplicación empresarial robusta y escalable podemos ayudarte con soluciones de software a medida y aplicaciones a medida y también diseñar estrategias de inteligencia artificial para tu negocio a través de nuestros servicios de ia para empresas y agentes IA. Además ofrecemos ciberseguridad, pentesting, servicios cloud aws y azure, servicios de inteligencia de negocio y power bi para mejorar la toma de decisiones y la protección de tus activos digitales.

Resumen: el comando setformfocus es una herramienta potente para controlar el flujo de interacción en aplicaciones Uniface 10.4. Usado con cuidado y siguiendo buenas prácticas puede mejorar la usabilidad de aplicaciones complejas. Si necesitas apoyo en la implementación, integración con inteligencia artificial o asegurar tu plataforma, en Q2BSTUDIO ofrecemos servicios completos para acompañar cada etapa del proyecto.