Saltar al contenido principal

Crear un conjunto de opciones

Objetivo​

Crear un conjunto de opciones (una lista de opciones con nombre, como el estado de una factura) y vincular un campo a él, para que los usuarios elijan de la lista en lugar de escribir texto libre.

Requisitos previos​

  • Ha iniciado sesión como creador con permiso para editar la solución.
  • Hay un entorno y una solución seleccionados.

Pasos​

  1. Abra la solución y seleccione Conjuntos de opciones en la navegación de la izquierda.

  2. Seleccione Nuevo.

  3. Escriba un nombre para mostrar (por ejemplo, Invoice Status) y un nombre lógico. El prefijo del editor se muestra como una etiqueta fija: escriba solo la parte que va detrás (por ejemplo, invoicestatus).

  4. Si lo desea, escriba una descripción de para qué sirve el conjunto.

  5. En Opciones, escriba el nombre de cada opción (por ejemplo, Draft, Sent, Paid). Seleccione Agregar opción para cada una adicional. El orden en que las escribe es el orden que ven los usuarios.

  6. Para cambiar ese orden, arrastre una opción por el asa del principio de su fila. Sin ratón: lleve el foco al asa, pulse Space para levantar la opción, las teclas de flecha para moverla y Space de nuevo para soltarla.

    Reordenar nunca vuelve a numerar: cada opción conserva el valor que se le asignó, así que los registros que ya lo contienen no se ven afectados.

  7. Si lo desea, asigne a una opción un color y un icono, con la muestra de color y el botón de icono que hay junto a su nombre. Ambos son opcionales e independientes: una opción puede tener un color, un icono, ambos o ninguno.

    La muestra de color abre un pequeño panel: elija uno de los doce colores rápidos o use el espectro que hay debajo para cualquier color: arrastre por el cuadrado para el tono y a lo largo de la franja para el matiz, o escriba (o pegue) un código hexadecimal en el cuadro. Borrar color, en la parte inferior del mismo panel, lo quita. El botón de icono abre el selector de iconos con búsqueda, cuyo Borrar icono está en su pie. En ambos casos, la opción de borrar está dentro del selector: no hay una ✕ aparte junto al control.

  8. Seleccione Guardar. El valor de cada opción aparece junto a ella una vez guardada.

Color e icono​

Un color y un icono son lo que permite leer un estado de un vistazo en lugar de palabra por palabra: «Vencida» en rojo entre cien filas salta a la vista.

Son solo de presentación. Lo que almacena un registro es el valor de la opción, así que cambiar el color de una opción no modifica ningún dato ni rompe nada que dependa de ella; y viajan con la solución, de modo que un conjunto importado en Prueba tiene el aspecto con el que se diseñó en lugar de llegar sin formato.

Cuando un conjunto da un color o un icono a alguna de sus opciones, la lista desplegable de un formulario los muestra: tanto el icono como la etiqueta adoptan el color, así que una opción con color pero sin icono también destaca. Un conjunto cuyas opciones no tienen ninguno de los dos mantiene la lista desplegable propia del navegador, que es lo que da a un teléfono su selector habitual.

Vincular un campo al conjunto​

  1. Abra la tabla en Tablas y vaya a la pestaña Campos.
  2. Seleccione Nuevo, escriba el nombre para mostrar y el nombre lógico del campo y establezca su Tipo de datos en Conjunto de opciones.
  3. Elija el Conjunto de opciones del que proceden los valores del campo.
  4. Seleccione Guardar. El campo está operativo de inmediato.

El campo aparece ahora como una lista desplegable con las opciones del conjunto allí donde se coloque en un formulario, y las vistas muestran el nombre de la opción en lugar de su valor almacenado.

Qué ocurre entre bastidores​

A cada opción se le asigna un valor: un número que asigna la plataforma y que es lo que la base de datos almacena realmente en un registro.

Los valores son números grandes que empiezan en un intervalo que pertenece a su editor (por ejemplo, 270150000, 270150001, …) en lugar de contar desde cero. Es deliberado: si las opciones de todos los editores empezaran en cero, importar las soluciones de dos editores en un mismo entorno haría que el «Borrador» de uno significara el «Cancelado» de otro. Dar a cada editor su propio intervalo lo hace imposible.

De esto se derivan dos cosas que conviene saber:

  • No puede escribir un valor, ni lo necesita. Lo asigna la plataforma. Puede verlo (importa si un sistema externo lee sus datos), pero no le corresponde elegirlo.
  • Cambiar el nombre de una opción es seguro. Su valor nunca cambia. Los registros contienen el valor, no el nombre, así que corregir «Enviada» por «Emitida» deja cada registro existente significando exactamente lo mismo que antes.

Cuando la solución se exporta e importa en otro sitio, los valores viajan con ella, de modo que Prueba y Producción coinciden con Desarrollo en lo que significa cada número. El conjunto de opciones forma parte del paquete de la solución y se importa antes que las tablas cuyos campos lo usan, así que promover una tabla con un campo de opciones trae consigo las opciones en lugar de llegar con un campo vinculado a nada.

No necesita agregar el conjunto de opciones a la solución por separado para que esto funcione: un conjunto que crea mientras hay una solución seleccionada pertenece a ella, igual que una tabla.

Solución de problemas​

  • «An option set needs at least one option.» — un conjunto del que nadie puede elegir no es utilizable. Agregue al menos una opción antes de guardar.

  • «Option … appears more than once in this set.» — dos opciones comparten nombre, lo que las hace indistinguibles para quien elige. Cambie el nombre de una o quítela.

  • «Option … cannot be removed: records still hold this value.» — hay registros que usan esa opción. Cambie antes esos registros a otra opción; quitarla los dejaría con un valor que ya no significa nada.

  • «Field … still uses this option set.» — hay un campo vinculado al conjunto. Quite el campo o vuelva a apuntarlo a otro sitio antes de eliminar el conjunto.

  • «No option sets exist yet» al agregar un campo de conjunto de opciones. — cree primero el conjunto; un campo solo se puede vincular a un conjunto que ya exista en este entorno.

  • Un registro guardado se rechaza con «must be one of the … option set's values». — el valor que se escribe no es una de las opciones del conjunto. Es el servidor rechazando un valor que no puede explicar; elija una opción de la lista desplegable.

  • Una importación falla con «targets option set … which is not in the package». — una tabla de la solución tiene un campo de opciones cuyo conjunto de opciones no está en el paquete ni existe ya en el entorno de destino. Agregue el conjunto de opciones a la solución y exporte una versión nueva. No se importó nada, así que el entorno de destino no se ha tocado.

  • Una importación falla con «…already exists here, numbered from … but the imported one is numbered from …». — el destino ya tiene un conjunto con ese nombre lógico, pero pertenece a un editor distinto, así que son dos conjuntos diferentes que casualmente comparten nombre. No se pueden combinar: las opciones importadas están numeradas a partir de un intervalo que los registros existentes desconocen. Cambie el nombre de uno de los dos conjuntos o importe en un entorno que no tenga el otro.

  • Una importación falla con «Option … cannot be removed: records still hold this value». — el conjunto importado ya no tiene una opción que los registros de este entorno siguen usando. Importar pone al día un conjunto existente, pero no elimina una opción que están usando los registros. Cambie antes esos registros a otra opción o vuelva a incluir la opción en el conjunto que se importa.

    (Por lo demás, un conjunto de opciones que ya existe en el destino se actualiza, no se rechaza: las etiquetas se renuevan, se agregan las opciones nuevas y se descartan las opciones quitadas que no se usan. Las opciones se emparejan por su valor asignado, así que cambiar el nombre de una opción en el origen la actualiza aquí en lugar de crear una segunda).

  • Una importación falla con «Option value … is outside the publisher's range». — la definición lleva valores que pertenecen al intervalo de otro editor, lo que normalmente significa que el archivo se editó a mano. Los valores los asigna la plataforma; exporte de nuevo el conjunto en lugar de ajustarlos a mano.

Escenarios relacionados​