Fundamentos del aprendizaje de la cuarta dimensión
Si viene a 4D (4th Dimension) desde FileMaker Pro, uno de los primeros ajustes mentales que debe realizar tiene que ver con las listas de valores. FileMaker le ofrece un cuadro de diálogo sencillo e independiente para crearlas.
4D le ofrece algo más poderoso pero con menos asistencia: el Editor de listas, una herramienta en modo de diseño que produce recursos de listas reutilizables que luego adjunta a objetos de formulario. Este artículo explica cómo funcionan las listas de valores en 4D, en qué se diferencian del enfoque de FileMaker y las decisiones prácticas que tomará a lo largo del camino.
Conclusiones clave
- En 4D, las listas de valores se crean y almacenan centralmente en el Editor de listas, no dentro de definiciones de campos individuales como en FileMaker.
- Una lista de 4D es un recurso con nombre; la misma lista se puede adjuntar a muchos objetos de formulario en muchos formularios, lo que mantiene el mantenimiento en un solo lugar.
- Los elementos de la lista admiten formato por elemento (normal, negrita, cursiva) y un indicador editable, y cada elemento puede llevar elementos secundarios a una profundidad arbitraria: una estructura jerárquica que las listas de valores planas de FileMaker no ofrecen de forma nativa.
- Los cuatro estilos de visualización de FileMaker (Lista emergente, Menú emergente, Casillas de verificación, Botones de opción) se corresponden con conceptos de 4D, pero solo la Lista emergente es sencilla; las casillas de verificación y los botones de opción requieren mucho más trabajo.
- El momento adecuado para crear una lista es antes de conectar el objeto de formulario que la utiliza, para que pueda hacer referencia a ella por su nombre inmediatamente.
Por qué 4D las llama “listas” y FileMaker las llama “listas de valores”
La terminología es el primer obstáculo. La documentación y la interfaz de usuario de FileMaker utilizan Lista de valores de forma constante. La documentación de 4D y el material de capacitación clásico de HPO Soft utilizan List, y también verá Choice List en referencias anteriores y publicaciones de la comunidad. Todos describen la misma idea: una colección con nombre de elementos que un usuario selecciona al ingresar datos en un campo.
La diferencia de nombres refleja una diferencia arquitectónica real. En FileMaker, una lista de valores es esencialmente una propiedad del campo o del objeto de presentación; usted la define en el contexto donde se usa y FileMaker ofrece tres fuentes:
- Una lista personalizada de elementos que escribe usted mismo.
- Una lista derivada de valores de campo: valores únicos extraídos de registros en el archivo actual, o valores alcanzados a través de una relación.
- Una lista basada en una lista de otro archivo (la lista de valores de un archivo relacionado).
4D soporta conceptualmente las mismas tres fuentes, pero separa la definición de la lista del uso de la lista. Usted define la lista una vez en el Editor de listas, le da un nombre y luego cualquier objeto de formulario (un popup, un menú desplegable, un cuadro combinado, un control de pestañas, lo que sea) puede apuntar a ese nombre. Esa separación es lo más importante que hay que internalizar, porque cambia la forma en que planifica su esquema y sus formularios.
Creación de una lista en el Editor de listas de 4D
El flujo de trabajo es corto, pero conviene seguir el orden correcto.
Relacionado: — Una interfaz simple de hoja de cálculo ubicada sobre una base de datos relacional real, con automatizaciones, vistas e interfaces para compartir..
- Cambie al modo de diseño. Las listas son recursos de tiempo de diseño, no datos de tiempo de ejecución.
- Abra el menú Herramientas y elija Editor de listas. (En las versiones modernas de 4D, esto se encuentra en el menú Diseño / Explorador según la versión, pero la ruta clásica es Herramientas $\rightarrow$ Editor de listas).
- La ventana del Editor de listas se abre con dos subventanas: Lista de listas a la izquierda y Lista actual a la derecha.
- En el panel izquierdo, haga clic en Agregar y escriba un nombre para su nueva lista. Elija el nombre con cuidado: se convertirá en el identificador al que hará referencia desde los objetos de formulario, y cambiarle el nombre más tarde implicará actualizar cada referencia.
- Haga clic en el nombre para seleccionarlo, luego vaya al panel derecho e ingrese los elementos de esa lista, uno por línea.
Ese es todo el ciclo de creación. La parte interesante es lo que puede hacer con cada elemento una vez que existe.
Formato y editabilidad por elemento
Cada elemento de la lista tiene sus propios atributos de visualización:
- Texto normal (el predeterminado)
- Negrita
- Cursiva
- Negrita y cursiva
Debido a que se aplican por elemento, una sola lista puede mezclar estilos, lo que es útil para marcar visualmente una opción predeterminada, una opción obsoleta o un encabezado de categoría dentro de la lista.
Si estás de compras: — Un creador de aplicaciones de bajo código que se conecta a la suite más amplia de Zoho y ofrece precios por usuario en lugar de por aplicación..
También hay un indicador editable por elemento. Cuando un elemento está marcado como editable, el usuario puede modificar esa entrada en lugar de estar limitado al texto predefinido. Esta es una distinción sutil pero poderosa: le permite implementar una lista que es principalmente de vocabulario controlado, pero permite “válvulas de escape” de texto libre donde la empresa realmente las necesita. Úselo con moderación: una vez que los usuarios pueden editar los elementos de la lista, las garantías de coherencia de sus datos se debilitan y generar informes sobre ese campo se vuelve más difícil.
Elementos secundarios: listas jerárquicas
La característica que más sorprende a los veteranos de FileMaker es Agregar un elemento secundario (Add a Child). Cualquier elemento de la lista puede tener un subelemento, y ese subelemento puede tener su propio subelemento, y así sucesivamente. Efectivamente, está construyendo un árbol.
Esto es importante porque muchos vocabularios empresariales reales son jerárquicos:
- Categorías de productos $\rightarrow$ subcategorías $\rightarrow$ SKU
- Regiones $\rightarrow$ países $\rightarrow$ ciudades
- Departamentos $\rightarrow$ equipos $\rightarrow$ roles
- Plan de cuentas $\rightarrow$ grupos de cuentas $\rightarrow$ cuentas individuales
En FileMaker, normalmente modelaría esto con una autorrelación y un portal, o lo aplanaría en una lista única con convenciones de nomenclatura. En 4D puede expresar la jerarquía directamente en el recurso de lista y dejar que el objeto de formulario la presente como un menú con sangría. Esa es una ventaja genuina para cualquiera que cree selectores basados en datos de referencia estructurados.
Cómo se adjuntan las listas a los objetos de formulario
Una vez que existe una lista, usted la adjunta a un objeto de formulario, más comúnmente una lista emergente (también llamada menú desplegable o emergente según el tipo de objeto y la versión). La mecánica:
- Seleccione el campo u objeto de variable en el formulario en modo Diseño.
- Abra la lista de Propiedades del objeto.
- Busque la propiedad Lista de opciones / Lista y seleccione su lista con nombre en el selector.
Debido a que se hace referencia a la lista por su nombre, la misma lista puede alimentar un desplegable en un formulario de entrada, un formulario de búsqueda y un filtro de informe, todos apuntando a una sola definición. Cambie la lista una vez y todos los consumidores se actualizarán. Esa es la recompensa por la ceremonia adicional en el tiempo de diseño.
Una advertencia práctica: si elimina o cambia el nombre de una lista a la que hacen referencia los objetos de formulario, esos objetos pierden su lista silenciosamente en algunas versiones. Antes de cambiar el nombre, busque el nombre antiguo en sus formularios. Trate los nombres de las listas como parte de la interfaz pública de su aplicación.
Estilos de visualización: qué se asigna claramente y qué no
FileMaker ofrece cuatro estilos de visualización para las listas de valores. Así es como se traducen a 4D en la práctica.
| Estilo de visualización de FileMaker | Equivalente en 4D | Dificultad en 4D |
|---|---|---|
| Lista emergente | Objeto de lista emergente / desplegable | Sencillo: el punto de partida recomendado |
| Menú emergente | Objeto de menú emergente | Sencillo |
| Casillas de verificación | Objeto de casilla de verificación vinculado a una lista | Significativamente más complejo; normalmente requiere múltiples objetos o un campo de lista de valores |
| Botones de opción | Grupo de botones de radio | Significativamente más complejo; generalmente construido a partir de objetos de radio individuales |
El resumen honesto, y el que hace el material original de HPO Soft: aquí solo se describe la Lista Emergente, porque es el camino de menor resistencia. Las listas de valores de casillas de verificación y botones de opción son posibles en 4D, pero son mucho más complejas que sus contrapartes de FileMaker. Si está migrando una solución de FileMaker y se apoya fuertemente en listas de valores de casillas de verificación, reserve tiempo real para esa conversión; no es una migración uno a uno.
Elegir la fuente de lista adecuada
Antes de abrir el Editor de Listas, decida de dónde provienen los elementos. Esta decisión impulsa todo lo posterior.
- Lista personalizada estática: usted escribe los elementos. Ideal para vocabularios pequeños y estables: códigos de estado, saludos, niveles de prioridad, sí/no/desconocido. Rápida de construir, sin costo en tiempo de ejecución, pero cada cambio requiere una edición en modo diseño y un redespiegue.
- Lista derivada de valores de campo: los elementos provienen de los valores únicos ya presentes en un campo. Ideal cuando el vocabulario se basa en datos y crece orgánicamente, p. ej., un campo de “tipo de cliente” poblado por otras partes del sistema. La contrapartida: la lista es tan limpia como sus datos, y no puede ofrecer valores que aún no existan en ningún registro.
- Lista basada en otro archivo / lista relacionada: los elementos provienen de una tabla relacionada o de la lista de otro archivo. Ideal para datos de referencia compartidos (una tabla de búsqueda central de departamentos, monedas o líneas de productos) en los que deben coincidir varias partes de la aplicación. Esta es la opción más mantenible para cualquier cosa que cambie con el tiempo, porque se actualiza la tabla fuente, no la lista.
Una regla general útil: si más de un formulario necesita la lista, o si la lista cambiará sin un lanzamiento de código, genérela a partir de datos en lugar de escribirla manualmente. Las listas estáticas son para cosas que están genuinamente fijas, y las cosas genuinamente fijas son más raras de lo que la gente supone.
Orientación práctica y errores comunes
Algunos hábitos adquiridos con esfuerzo hacen que el trabajo con listas en 4D sea mucho menos doloroso:
- Nombre las listas con un prefijo y un propósito. Algo como
lst_Status_Orderolst_Region_Salesle indica a un futuro mantenedor para qué sirve la lista y dónde se usa. Evite nombres genéricos comoList1. - Construya la lista antes que el objeto de formulario. Si crea el desplegable primero, tendrá que editar las propiedades del objeto dos veces.
- Mantenga las listas estáticas cortas. Una lista estática con cincuenta entradas es una carga de mantenimiento; eso es una lista basada en datos disfrazada.
- Sea deliberado con los elementos editables. Cada elemento editable es un agujero en la validación de sus datos. Documente por qué existe cada uno.
- Use elementos secundarios para jerarquías genuinas, no por decoración. La sangría que no refleja una relación real padre-hijo confunde a los usuarios más de lo que ayuda.
- Esté atento a las referencias huérfanas. Cuando retire una lista, use grep en sus formularios para buscar su nombre antes de eliminarla.
Para un contexto más amplio sobre cómo 4D encaja en el panorama de low-code y desarrollo rápido de aplicaciones, la documentación propia de la plataforma y los foros de la comunidad son las fuentes autorizadas; la documentación para desarrolladores de 4D cubre la interfaz de usuario actual del Editor de Listas, que ha evolucionado desde que se escribió el material clásico de HPO Soft. Para conocer los antecedentes del modelo relacional que sustenta las tablas, los campos y las búsquedas, consulte el artículo de Wikipedia sobre el modelo relacional, y para la categoría general de herramientas a la que pertenece este trabajo, la descripción general de Wikipedia sobre plataformas de desarrollo de código bajo es una orientación útil.
Dónde encajan las listas en la estructura general
Las listas de valores son el paso seis en una secuencia que sigue este orden: crear una base de datos → establecer propiedades de la base de datos → definir tablas → definir campos de datos → crear formularios → crear listas de valores → ingresar datos de muestra. Observe que las listas vienen después de los formularios y antes de los datos de muestra. Ese orden es deliberado y conviene respetarlo: usted quiere que los objetos de su formulario estén en su lugar para poder adjuntarles listas, pero quiere que las listas estén terminadas antes de comenzar a ingresar registros de muestra, porque es en los datos de muestra donde descubrirá si sus listas realmente cubren los casos del mundo real.
Si se adelanta e ingresa los datos de muestra primero, se encontrará reingresando registros cada vez que refine una lista. Haga las listas primero y luego pueble los datos.
Preguntas frecuentes
¿Cuál es la diferencia entre una lista de valores en FileMaker y una lista en 4D?
FileMaker define las listas de valores en el contexto del campo u objeto de presentación que las utiliza, y ofrece tres fuentes: elementos personalizados, valores de registros o una relación, y una lista de otro archivo. 4D separa la definición del uso: usted crea una lista con nombre una sola vez en el Editor de listas y luego adjunta ese nombre a cualquier número de objetos de formulario. El enfoque de 4D requiere más trabajo al principio, pero es mucho más mantenible cuando muchos formularios comparten el mismo vocabulario.
¿Puede 4D crear listas de valores de casillas de verificación y botones de opción como FileMaker?
Sí, pero es considerablemente más complejo que en FileMaker. FileMaker le permite elegir “Casillas de verificación” o “Botones de opción” como estilo de visualización directamente en una lista de valores.
En 4D, lograr el mismo comportamiento generalmente requiere múltiples objetos de formulario o un campo de lista de valores, y el material de capacitación original de HPO Soft cubre deliberadamente solo la Lista desplegable (Popup List) por este motivo. Planifique tiempo adicional si está migrando una solución de FileMaker que dependa de listas de casillas de verificación.
¿Qué son los elementos secundarios en una lista de 4D y cuándo debo usarlos?
Un elemento secundario es un subelemento anidado bajo un elemento principal de la lista, y el anidamiento puede continuar a cualquier profundidad. Úselos cuando su vocabulario sea genuinamente jerárquico: categorías y subcategorías de productos, regiones y ciudades, departamentos y equipos. No los use solo para agrupación visual, porque la sangría implica una relación padre-hijo que los usuarios esperarán que signifique algo.
¿Debería usar una lista estática o una lista basada en datos?
Use una lista personalizada estática para vocabularios pequeños y estables que rara vez cambian, como códigos de estado o niveles de prioridad. Use una lista derivada de valores de campo o de un archivo relacionado cuando el vocabulario crezca con el tiempo o se comparta en múltiples formularios. Una buena regla: si la lista cambiará sin una versión de código, o si más de un formulario la necesita, genérela a partir de datos en lugar de escribir los elementos a mano.
¿Qué hace la opción “editable” en un elemento de la lista?
Marcar un elemento de la lista como editable permite que el usuario modifique esa entrada en lugar de estar restringido al texto predefinido. Es útil cuando desea un vocabulario mayoritariamente controlado con algunas “salidas de emergencia” de texto libre controlado. Úselo con moderación, ya que los elementos editables debilitan las garantías de consistencia de sus datos y hacen que los informes sobre ese campo sean menos predecibles.
¿En qué momento del proceso de construcción debo crear mis listas de valores?
Cree las listas después de que existan sus formularios pero antes de ingresar datos de muestra. Necesita los objetos del formulario en su lugar para poder adjuntarles listas por nombre, y quiere que las listas estén terminadas antes de la entrada de muestras para no tener que reingresar registros cada vez que refine una lista. Seguir la secuencia —tablas, campos, formularios, listas y luego datos de muestra— evita reprocesos reales.
Pruebe FileMaker gratis durante 45 días
La plataforma de base de datos relacional de larga duración para equipos que necesitan aplicaciones personalizadas en escritorio, web y dispositivos móviles desde un solo archivo.