Los mejores formularios 4D: mejores selecciones comparadas (2026)
4D Forms es la capa de interfaz de usuario de una aplicación 4D y la plataforma ofrece tres tipos de formularios distintos: detalle, lista y formulario de salida, cada uno adecuado para una tarea diferente. Hacerlo bien en 2026 significa hacer coincidir el tipo de formulario con la tarea y luego superponer listas de valores, subformularios y propiedades dinámicas. Esta comparación cubre opciones prácticas, sus compensaciones y cómo decidir.
Conclusiones clave
- 4D ofrece tres tipos de formularios 4D: detalle (un registro a la vez), lista (varios registros en una cuadrícula) y salida (diseño de impresión/informe). Elegir el tipo incorrecto es el error más común que cometen los principiantes.
- Formularios de proyecto (almacenados como archivos JSON
.4DForm) son los predeterminados modernos; Los formularios de tabla son heredados y están vinculados a una sola tabla. Los nuevos trabajos deben utilizar formularios de proyecto. - Formularios dinámicos (
DIALOG,FORM LOAD,FORM GOTO PAGE) le permiten crear e intercambiar interfaces en tiempo de ejecución, algo esencial para flujos de estilo asistente e interfaces de usuario basadas en roles. - Listas de valores (estáticas, jerárquicas o de un campo/matriz) impulsan listas desplegables, cuadros combinados y menús emergentes; vincularlos a un campo es un cambio de propiedad de una sola línea.
- Subformularios integran un formulario dentro de otro y son la forma estándar de crear diseños maestro-detalle sin duplicar widgets.
- El rendimiento en los formularios de lista depende en gran medida de la selección de entidad frente a la selección clásica y de si la carga diferida está habilitada para conjuntos de registros grandes.
Qué significa realmente “4D Forms”
Los formularios 4D son definiciones declarativas de interfaz de usuario almacenadas en la estructura (formularios de tabla) o como archivos de proyecto independientes (formularios de proyecto). Un formulario contiene objetos (campos de entrada, botones, cuadros de lista, subformularios, áreas web y texto estático) organizados en un lienzo con un tamaño de página definido y, opcionalmente, varias páginas. Cada objeto lleva propiedades (fuente de datos, estado editable, fuente, coordenadas) que 4D evalúa en tiempo de ejecución.
La distinción que más importa a la hora de comparar: un formulario no es una ventana. Un formulario es un diseño; una ventana es el contenedor que abre 4D para mostrarla. El mismo formulario puede aparecer en un cuadro de diálogo modal, una ventana de paleta, una ventana de documento de tamaño variable o incrustado como un subformulario. Comprender esta separación permite a los desarrolladores experimentados reutilizar un formulario en múltiples contextos en lugar de reconstruirlo.
Los tres tipos de formularios comparados
| Tipo de formulario | Registros mostrados | Uso típico | Advertencia clave |
|---|---|---|---|
| Formulario detallado | Uno | Entrada de datos, edición de registros, diálogos | Necesita navegación explícita (botones, NEXT RECORD) |
| Formulario de lista | Muchos | Navegación, selección, paneles | Las selecciones grandes necesitan carga diferida o paginación |
| Formulario de salida | Muchos | Impresión, exportación de PDF, informes | No interactivo; el diseño está orientado a la impresión |
Los formularios de detalle son el caballo de batalla de la entrada de datos. Muestran el registro actual de una tabla y permiten a los usuarios editar campos directamente. Un formulario detallado también es la elección natural para un cuadro de diálogo de configuración o una pantalla de inicio de sesión, porque no puede vincularlo a ninguna tabla y manejarlo solo con variables de proceso.
Los formularios de lista presentan una cuadrícula de registros desplazable. En 4D moderno, los formularios de lista generalmente se construyen alrededor de un objeto cuadro de lista en lugar del antiguo enfoque de “formulario de lista con columnas”. Los cuadros de lista pueden estar basados en matrices o en selecciones, y los cuadros de lista basados en selecciones se vinculan directamente a una selección de entidad, que es el modelo preferido cuando se trabaja con ORDA.
Formularios de salida existen para imprimir. Representan registros en un diseño de página con encabezados, pies de página y niveles de ruptura. Los formularios de salida no están destinados a la interacción en pantalla y 4D no permitirá a los usuarios acceder a los campos como lo harían en un formulario detallado.
Relacionado: — 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..
Estos son los tres tipos primarios de formularios 4D.
Formularios de proyecto frente a formularios de tabla
Los formularios del proyecto se almacenan como archivos “.4DForm” individuales en la carpeta “Formularios” del proyecto y tienen control de versiones habilitado: cada formulario es un documento JSON independiente, por lo que dos desarrolladores que editan formularios diferentes rara vez chocan durante una fusión. Los formularios de tabla se encuentran en el archivo de estructura y se editan a través del mismo editor de formularios, pero están vinculados conceptualmente a una sola tabla.
Los consejos prácticos para 2026: Comience cada formulario nuevo como un formulario de proyecto. Los formularios de tabla siguen siendo totalmente compatibles y los encontrará en bases de datos heredadas, pero los formularios de proyecto le brindan diferencias más claras, una reutilización más fácil entre tablas y un modelo mental más claro. Convertir un formulario de tabla a un formulario de proyecto implica moverlo fuera de la lista de formularios de la tabla a la lista de formularios del proyecto; Se conservan las definiciones de objetos.
Nuestra elección: — Una interfaz simple de hoja de cálculo ubicada sobre una base de datos relacional real, con automatizaciones, vistas e interfaces para compartir..
Creación de un formulario: los pasos básicos
- Cree el formulario en el editor de formularios (Explorador → Formularios → Nuevo), eligiendo detalle, lista o salida.
- Establezca el tamaño de la página y, si es necesario, agregue páginas para diseños de varios pasos.
- Colocar objetos: arrastre campos desde el Explorador al lienzo o agregue botones, cuadros de lista y subformularios desde la Biblioteca de objetos.
- Vincular fuentes de datos: asigne cada objeto de entrada a un campo, variable o expresión.
- Configure listas de valores para cualquier lista desplegable, cuadro combinado o menú emergente.
- Vincular eventos: adjunte métodos para eventos de formulario (
On Load,On Clicked,On Data Change) y eventos de objetos. - Pruebe en el editor de formularios usando la vista previa incorporada y luego en una ventana en ejecución.
El paso 6 es donde ocurre la mayor parte del trabajo real al crear formularios 4D. Un formulario sin métodos de evento es una imagen estática; el evento de formulario “On Load” generalmente es donde se completan matrices, se carga una lista de valores o se establecen estados editables según la función del usuario actual.
Listas de valores: el detalle que hace tropezar a la gente
Las listas de valores son el mecanismo detrás de cada menú desplegable, cuadro combinado y menú emergente en formularios 4D. Hay tres tipos:
- Listas estáticas: ingresa valores una vez en el editor de listas. Ideal para enumeraciones fijas como códigos de estado.
- Listas jerárquicas: admite elementos anidados con una convención de separación
|, útil para árboles de categorías. - Listas dinámicas: se completan a partir de un campo, una matriz o una fórmula en tiempo de ejecución. Estos reflejan datos en vivo, por lo que una lista de clientes activos permanece actualizada sin necesidad de volver a implementarla.
Un error común: vincular una lista de valores dinámicos a un campo que almacena una referencia (un ID) mientras muestra una etiqueta. 4D gestiona esto con el concepto de “valor asociado”: la lista almacena un valor y muestra otro. Hacerlo bien es la diferencia entre una lista desplegable que registra “42” y una que registra “Acme Corp.”
Subformularios y diseños maestro-detalle
Los subformularios integran un formulario en otro. El formulario principal alberga un objeto de subformulario; el formulario secundario se muestra en el interior. Los datos fluyen a través de la propiedad “tabla” del subformulario y, en 4D moderno, a través del objeto “Formulario” pasado al hijo.
El detalle maestro es el uso canónico de los formularios 4D: un formulario de detalle para una factura en la parte superior, un formulario de lista para líneas de factura en un subformulario a continuación. Cuando el registro principal cambia, la selección del subformulario se actualiza, siempre que la actualice en “On Data Change” del padre o volviendo a vincular la selección. Los subformularios también le permiten crear componentes reutilizables: se puede colocar un formulario de “selección de clientes” en cualquier padre que lo necesite.
Formularios dinámicos y UI en tiempo de ejecución
Los formularios dinámicos 4d modifican la interfaz mientras se ejecuta la aplicación. Los comandos clave son DIALOG (abre un formulario como un diálogo modal o no modal), FORM LOAD (carga un formulario en la memoria sin mostrarlo), FORM GOTO PAGE (cambia de página) y OBJECT SET... que cambian las propiedades del objeto sobre la marcha.
Los formularios dinámicos son importantes para dos escenarios. Primero, Flujos de asistente: un formulario único con varias páginas, avanzado mediante “FORM GOTO PAGE” a medida que el usuario completa los pasos. En segundo lugar, interfaces basadas en roles: ocultar o deshabilitar objetos en “Al cargar” según los privilegios del usuario, de modo que un formulario sirva tanto para un administrador como para un visor de solo lectura. La desventaja es la complejidad: el comportamiento dinámico es más difícil de depurar que un diseño estático, así que resérvelo para casos en los que, de otro modo, sería necesaria una segundo formulario.
Consideraciones de rendimiento
El rendimiento de los formularios de lista de 4D está dominado por la cantidad de registros que 4D debe materializar. Un cuadro de lista basado en selección vinculado a una selección de entidad solo carga las filas que muestra, lo que mantiene la memoria plana a medida que crece la tabla. Los cuadros de lista clásicos basados en matrices cargan todo por adelantado y se ralentizarán notablemente en tablas grandes.
Otras dos palancas: carga diferida en cuadros de lista (recuperando filas al desplazarse) y consultas del lado del servidor que devuelven una selección limitada en lugar de la tabla completa. Para las implementaciones cliente-servidor, el costo de ida y vuelta para obtener registros a través de la red generalmente eclipsa el tiempo de procesamiento, por lo que limitar la selección es la optimización de mayor valor.
Cómo decidir
- ¿Ingreso de datos para un registro? Formulario detallado.
- ¿Buscar o seleccionar entre muchos registros? Formulario de lista con un cuadro de lista basado en la selección.
- ¿Impresión o salida en PDF? Formulario de salida.
- ¿Reutilizable en varias tablas? Formulario de proyecto, no formulario de tabla.
- ¿Proceso de varios pasos? Un formulario con varias páginas, avanzado dinámicamente.
- ¿Relación maestro-detalle? Formulario de detalle que alberga un subformulario de formulario de lista.
- ¿Conjunto de opciones fijas? Lista de valores estáticos. ¿Datos en vivo? Lista dinámica de valores.
Estas opciones le ayudan a elegir los formularios 4d adecuados para sus necesidades.
Recursos de aprendizaje
La documentación oficial de 4D es la referencia autorizada para formularios, objetos, eventos y comandos 4D. Comience allí para averiguar los nombres exactos de las propiedades y las firmas de los comandos. Para obtener información general sobre los conceptos subyacentes de las bases de datos, el artículo de Wikipedia sobre 4D (software) ofrece una historia útil de la plataforma. Vale la pena leer la página de formato JSON si planea editar los archivos .4DForm a mano o compararlos en el control de versiones. Para conocer los principios generales de diseño relacional que informan cómo estructurar las tablas detrás de sus formularios, consulte la descripción general de normalización de bases de datos.
Preguntas frecuentes
¿Qué es un formulario 4D?
Un formulario 4D es una presentación de interfaz de usuario declarativa compuesta de objetos (campos de entrada, botones, cuadros de lista, subformularios) vinculados a fuentes de datos. 4D evalúa las propiedades del formulario en tiempo de ejecución y lo muestra en una ventana, un cuadro de diálogo o como un subformulario incrustado. Los formularios son de tres tipos: detalle, lista y salida.
¿Cuál es la diferencia entre un formulario de detalle y un formulario de lista en 4D?
Un formulario detallado muestra un registro a la vez y se utiliza para ingresar y editar datos. Un formulario de lista muestra muchos registros, normalmente en un cuadro de lista, y se utiliza para explorar y seleccionar. Los dos a menudo se combinan: un formulario de lista para elegir un registro y luego un formulario de detalles para editarlo.
¿Debería utilizar formularios de proyecto o formularios de tabla?
Los formularios de proyecto son el estándar moderno de forma predeterminada y se almacenan como archivos “.4DForm” separados, lo que los hace más fáciles de reutilizar y administrar en el control de versiones. Los formularios de tabla son heredados y están vinculados a una sola tabla. El nuevo desarrollo debe utilizar formularios de proyecto; Los formularios de tabla siguen siendo compatibles con las bases de datos existentes.
¿Cómo funcionan las listas de valores en formularios 4D?
Las listas de valores completan listas desplegables, cuadros combinados y menús emergentes. Pueden ser estáticos (ingresados sólo una vez), jerárquicos (elementos anidados) o dinámicos (creados a partir de un campo, matriz o fórmula en tiempo de ejecución). Una lista de valores puede almacenar un valor mientras muestra otro, que es la forma en que muestra el nombre de un cliente mientras guarda su identificación.
¿Puedo cambiar un formulario 4D en tiempo de ejecución?
Sí. Los formularios dinámicos utilizan comandos como DIALOG, FORM LOAD y FORM GOTO PAGE para cargar formularios, cambiar páginas y cambiar propiedades de objetos mientras la aplicación se está ejecutando. Esto admite flujos de estilo asistente e interfaces basadas en roles donde un formulario sirve a diferentes usuarios.
¿Por qué mi lista 4D es lenta con tablas grandes?
La lentitud del formulario de lista generalmente proviene de materializar demasiados registros. Los cuadros de lista basados en selecciones vinculados a selecciones de entidades cargan solo las filas mostradas, mientras que los cuadros de lista basados en matrices cargan todo. Habilitar la carga diferida y limitar la consulta a una selección limitada son las dos soluciones con mayor impacto.
Preguntas frecuentes
¿Qué es un formulario 4D?
Un formulario 4D es una presentación de interfaz de usuario declarativa compuesta de objetos (campos de entrada, botones, cuadros de lista, subformularios) vinculados a fuentes de datos. 4D evalúa las propiedades del formulario en tiempo de ejecución y lo muestra en una ventana, un cuadro de diálogo o como un subformulario incrustado. Los formularios son de tres tipos: detalle, lista y salida.
¿Cuál es la diferencia entre un formulario de detalle y un formulario de lista en 4D?
Un formulario detallado muestra un registro a la vez y se utiliza para ingresar y editar datos. Un formulario de lista muestra muchos registros, normalmente en un cuadro de lista, y se utiliza para explorar y seleccionar. Los dos a menudo se combinan: un formulario de lista para elegir un registro y luego un formulario de detalle para editarlo.
¿Debo utilizar formularios de proyecto o formularios de tabla?
Los formularios de proyecto son el estándar moderno de forma predeterminada y se almacenan como archivos '.4DForm' separados, lo que los hace más fáciles de reutilizar y administrar en el control de versiones. Los formularios de tabla son heredados y están vinculados a una sola tabla. El nuevo desarrollo debe utilizar formularios de proyecto; Los formularios de tabla siguen siendo compatibles con las bases de datos existentes.
¿Cómo funcionan las listas de valores en formularios 4D?
Las listas de valores completan listas desplegables, cuadros combinados y menús emergentes. Pueden ser estáticos (ingresados sólo una vez), jerárquicos (elementos anidados) o dinámicos (creados a partir de un campo, matriz o fórmula en tiempo de ejecución). Una lista de valores puede almacenar un valor mientras muestra otro, que es la forma en que muestra el nombre de un cliente mientras guarda su identificación.
¿Puedo cambiar un formulario 4D en tiempo de ejecución?
Sí. Los formularios dinámicos utilizan comandos como DIALOG, FORM LOAD y FORM GOTO PAGE para cargar formularios, cambiar de página y cambiar propiedades de objetos mientras la aplicación se está ejecutando. Esto admite flujos de estilo asistente e interfaces basadas en roles donde un formulario sirve a diferentes usuarios.
¿Por qué mi lista 4D es lenta con tablas grandes?
La lentitud en la forma de la lista generalmente proviene de materializar demasiados registros. Los cuadros de lista basados en selecciones vinculados a selecciones de entidades cargan solo las filas mostradas, mientras que los cuadros de lista basados en matrices cargan todo. Habilitar la carga diferida y limitar la consulta a una selección limitada son las dos soluciones con mayor impacto.
Cree una aplicación personalizada gratis durante 15 días
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.