POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

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

Domina sort/list en Uniface: sintaxis, opciones, casos prácticos y buenas prácticas

Publicado el 28/09/2025

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.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio