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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat