Dominando Uniface sort/list: Guía de Listas en ProcScript

Domina sort/list en Uniface ProcScript: sintaxis y ejemplos para ordenar listas. Descubre cómo Q2BSTUDIO integra capacidades en software a medida, IA y cloud.

28 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Dominar sort/list en Uniface es clave para organizar datos de forma eficiente en ProcScript. En este artículo explicamos la sintaxis, las opciones, ejemplos prácticos y buenas prácticas, además de cómo Q2BSTUDIO, empresa especializada en desarrollo de software a medida, inteligencia artificial, ciberseguridad y servicios cloud, puede ayudarte a integrar estas capacidades en tus aplicaciones a medida.

Sintaxis básica y estructura

La instrucción sort/list sigue este patrón práctico: sort/list List, SortElement {:SortOptions} {;SortElement{:SortOptions}} donde List es la lista Uniface a ordenar, que puede ser asociativa, indexada o contener sublistas; SortElement indica la parte sobre la que ordenar, por ejemplo $idpart o $valuepart; y SortOptions define el modo de ordenaci?n como ascendente, descendente, unique, tipo de dato, entre otros.

Elementos de ordenaci?n

$idpart - ordena por la parte identificadora en listas asociativas id=valor. Ideal cuando los identificadores siguen un orden numérico o c?digo. $valuepart - ordena por la parte de valor tras el signo igual. Es el comportamiento por defecto y perfecto para ordenar alfabeticamente valores de despliegue. Para estructuras anidadas se puede ordenar por elementos de sublista usando $string(SublistItemId) o por n?mero de secuencia con SublistItemNr.

Opciones de ordenaci?n explicadas

Orden: ascending o A para ascendente; descending o D para descendente. Unicidad: unique o U elimina duplicados. Tipos de dato: numeric para tratar valores como n?meros, float para decimales, date para fechas cronol?gicas, boolean para valores lógicos, level para ordenar identificadores jer?rquicos. Reglas locales: nlslocale o NLS para normas de ordenaci?n por localidad. Sensibilidad a may?sculas: CaseSensitive o CS, CaseInsensitive o CI.

Ejemplos pr?cticos

Ejemplo 1: lista de colores. Crear vColors con putitem/id vColors 0,BLUE putitem/id vColors 1,RED putitem/id vColors 2,GREEN. Ordenar por id descendente numeric: sort/list vColors,$idpart:descending numeric resultado vColors 2=GREEN;1=RED;0=BLUE. Ordenar por valor ascendente por defecto: sort/list vColors,ascending resultado vColors 0=BLUE;2=GREEN;1=RED.

Ejemplo 2: ordenar un campo de estado para un desplegable. En trigger getFocus copiar vStates = $valrep(STATE) luego sort/list vStates,A y finalmente asignar $valrep(STATE) = vStates para que el desplegable aparezca ordenado alfabeticamente.

Ejemplo 3: ordenaci?n multinivel. Para ordenar primero por categor?a y luego por nombre dentro de cada categor?a usar sort/list vProducts,$idpart:ascending;$valuepart:ascending.

Valores de retorno y manejo de errores

La instrucci?n entrega informaci?n en la variable $status: valor menor que cero indica error (consultar $procerror), cero indica ?xito y valores mayores o iguales a cero indican el n?mero de elementos restantes en la lista. Errores frecuentes: -1112 UPROCERR_OPTION opci?n de ordenaci?n inv?lida; -1101 UPROCERR_FIELD campo inexistente al ordenar entidades; -1129 UPROCERR_ITEM subItem id o n?mero inexistente.

Buenas pr?cticas y consejos

Rendimiento: la ordenaci?n se basa en los primeros 8K de datos de cada item; para grandes vol?menes filtre antes de ordenar si es posible. Conciencia de localidad: configure $nlssortorder y $nlslocale para aplicaciones internacionales. Seguridad de tipo: cuando use opciones de tipo de dato aseg?rese de que los valores sean interpretables como el tipo especificado. Orden multinivel: combine varios criterios separados por punto y coma, Uniface los procesar? en orden para lograr ordenaciones complejas.

Casos avanzados

Configuraci?n din?mica de ordenaci?n. Construya opciones en tiempo de ejecuci?n seg?n preferencias del usuario. Ejemplo: si vUserPref es NAME entonces vSortOptions = $valuepart:ascending else vSortOptions = $idpart:descending numeric y ejecutar sort/list vDataList,vSortOptions. Extracci?n de valores ?nicos: usar sort/list vCategoryList,$valuepart:ascending unique para obtener una lista ordenada y sin duplicados.

Integraci?n con otras funciones de Uniface

sort/list se integra con putitem y getitem para gesti?n completa de listas, con bucles forlist para procesar datos ordenados, con $valrep para ordenar listas de campos desplegables y con funciones como delitem para manipulaciones complejas.

Errores comunes y c?mputo seguro

Verifique siempre $status y registre o maneje $procerror en caso de fallo. Para datos mixtos evite aplicar sort numeric si la lista contiene texto no convertible. Limite la cantidad de datos a ordenar o implemente paginaci?n en procesos batch para mantener la respuesta de la aplicaci?n.

Qué aporta Q2BSTUDIO

En Q2BSTUDIO somos especialistas en crear soluciones a medida que optimizan procesos de negocio y experiencias de usuario. Si necesitas integrar ordenaci?n avanzada y manipulaci?n de listas en tus aplicaciones empresariales, podemos ayudarte con desarrollo de software a medida, automatizaci?n y despliegues seguros en la nube. Nuestra oferta incluye inteligencia artificial aplicada a la empresa, agentes IA, servicios cloud aws y azure, ciberseguridad y soluciones de inteligencia de negocio como Power BI para analizar resultados y tomar decisiones informadas.

Implementaci?n y servicios complementarios

Si tu proyecto requiere asesoramiento para desplegar aplicaciones a medida que incluyan ordenaci?n eficiente en tiempo real, integraci?n con servicios cloud o capacidades de IA para clasificar y enriquecer datos, en Q2BSTUDIO diseñamos la arquitectura, desarrollamos los componentes y aseguramos la integridad de la plataforma con pruebas de ciberseguridad y pentesting. Tambi?n ofrecemos integraci?n con herramientas de inteligencia artificial y servicios de Business Intelligence para maximizar el valor de tus datos.

Conclusi?n

sort/list es una herramienta vers?til y poderosa en Uniface ProcScript que permite desde ordenaciones b?sicas hasta reglas multinivel y filtrado de duplicados. Aplicada correctamente mejora la usabilidad de formularios, desplegables y procesos batch. Para proyectos que requieren implementaci?n profesional, escalable y segura, Q2BSTUDIO ofrece experiencia en desarrollo de aplicaciones a medida, servicios cloud aws y azure, ciberseguridad, agentes IA y soluciones de inteligencia de negocio como power bi que impulsan la transformaci?n digital de tu empresa.

Si quieres que te ayudemos a implantar estas funcionalidades o integrar AI y BI en tus procesos, contacta con nosotros y llevemos tu proyecto al siguiente nivel.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat