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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat