Enumerados

De Egeasy
Saltar a: navegación, buscar

¿Qué es un enumerado?

Un enumerado es un recurso de ODL que permite obtener una lista de valores. La idea de tener una lista de valores es que ésta luego puede ser utilizada para asignar valor a un campo, por ejemplo.

Hay dos formas de obtener los valores que van a formar parte del enumerado: bien insertándolos directamente en el código ODL, o bien, obteniéndolos desde un fichero .csv.

La definición de los enumerados, al ser éstos un recurso, se realiza de forma independiente a cualquier otra definición, al igual que los roles, contenedores, habitaciones o tareas.

Existen dos formas de definir un enumerado:

  • Definición de tipo: se realiza para derivar nuevas definiciones de enumerados o definiciones de tipo enumerado. Estas definiciones son siempre abstractas:
tipo [Nombre] es enumerado
    ...
    ...
fin
  • Definición de enumerado: se crea la lista de valores que se utilizará posteriormente para asignar valores a un campo. Un usuario nunca podrá crear enumerados:
[Nombre] es enumerado
    ...
    ...
fin

Asignando valores a un enumerado...

Mediante código ODL

Una de las opciones a la hora de crear una lista de valores es incluirlos dentro de la definición de enumerado. Para ello, existe la palabra reservada valores donde posteriormente podremos incluir los valores que queramos separados por comas.

Veamos un ejemplo:

[Islas] es enumerado
valores
"Gran Canaria", "Tenerife", "Lanzarote", "Fuerteventura", "La Palma", "La Gomera, "El Hierro,
fin

Mediante fichero .csv

Un fichero .csv es un tipo de documento para representar datos en forma de tabla, donde las columnas y datos están separados por coma. La sintaxis para crear un csv sería la siguiente:

'Isla':texto,'Provincia':texto //columnas de la tabla
"Gran Canaria","Las Palmas"
"Tenerife","Santa Cruz de Tenerife"
"Fuerteventura","Las Palmas"
"Lanzarote","Las Palmas"
"El Hierro","Santa Cruz de Tenerife"
"La Gomera","Santa Cruz de Tenerife"
"La Palmas","Santa Cruz de Tenerife"

Una vez creado el fichero que llamaremos islas.csv definiremos nuestro enumerado, especificando esta vez un fichero .csv con las palabras reservadas valores en fichero:

[Islas] es enumerado
valores en fichero "islas.csv"
fin

Quizás te estés preguntando cómo es posible que a un enumerado le asignemos un fichero .csv con más de una columna. ¿No era una lista de valores?

Para aclarar estos conceptos, realizaremos una serie de ejemplos en la siguiente sección.

Ejemplos

El primer ejemplo que vamos a tratar consiste en utilizar el primer enumerado que hemos definido, es decir, introduciendo los valores manualmente en el código. Nuestro enumerado islas tiene un listado de valores con los nombres de las islas.

Ahora, este listado de valores lo utilizaremos para mostrar los posibles valores que puede adquirir un determinado campo de tipo texto.

Veamos cómo realizar esta acción a nivel de código:

tipo [Expediente] es contenedor
    [Contenido] es formulario
        ... 
        ...
        [Isla] es texto
            -edicion.valores = $matriz([Islas]);
            -apariencia.desplegable = verdadero;
    fin
fin

Hemos definido un campo de tipo texto llamado Isla en el que queremos dar la opción al usuario de poder seleccionar uno de los nombres de las islas listados en el enumerado. Para ello, utilizamos dos atributos. El atributo edicion.valores admite una lista de valores que podrán ser asignados al campo. Este atributo trabaja con matrices, y al ser el enumerado un listado, tendremos que convertirlo a formato matriz con la función $matriz. Con el atributo apariencia.desplegable a verdadero conseguimos que los valores se muestren en forma de desplegable:

Enumerado01.jpg