Diseño de formularios
La interfaz de diseño de formularios permite definir el contenido y disposición del formulario.
Los formularios están estructurados en forma de grilla con un número definible de filas y de columnas. Se pueden añadir filas y columnas en todo momento. Las filas vacías al final del formulario y las columnas vacías a la derecha del formulario serán eliminadas automáticamente al guardarlo.
Cada célula de la grilla contiene un componente del formulario (etiqueta, campo de ingreso de texto, lista de valores, etc.) pero cada componente puede extenderse en el ancho sobre varias células.
El formulario puede estar estructurado en una o varias secciones. El usuario puede navegar a través de las mismas, lo que resulta útil en el caso de formularios largos y complejos.
La imagen siguiente muestra las partes principales del diseñador de formularios.

Interfaz del diseñador de formularios
1 |
Presione Añadir fila o Añadir columna para modificar la grilla del formulario. |
2 |
Presione estos botones para crear una nueva sección, suprimir una sección existente o renombrar una sección. |
3 |
Presione |
4 |
Presione |
5 |
El símbolo |
La mayoría de los componentes del formulario deben estar asociados a un atributo de una capa, a un campo en una base de datos o a un criterio de búsqueda, según el tipo de formulario que se esté creando. Los campos Etiqueta, Foto y Grupo constituyen las excepciones a esta regla.
Parámetros de los componentes
Cada tipo de componente tiene su propia interfaz de configuración de los parámetros. Estos parámetros permiten controlar el comportamiento y la apariencia del componente. El cuadro siguiente describe los parámetros que son comunes a varios componentes, seguido más abajo por una descripción de todos los componentes disponibles.
Parámetros de los componentes de formulario |
|
Atributo |
Seleccione el atributo de la capa a cual se asocia este componente. Es el atributo que será modificado por este componente del formulario. |
Obligatorio |
Determine si este campo es obligatorio. El usuario no podrá enviar el formulario hasta que los campos obligatorios sean completados. Para volver opcionales algunos de los campos debe desmarcar esta opción. Los campos obligatorios son identificados con un símbolo |
Sólo lectura |
Active esta opción para que el componente sea en modo Sólo lectura. El usuario no podrá modificar el contenido. esta opción debería ser utilizada para un componente que tiene un valor por defecto. |
Extensión |
Por defecto, cada componente ocupa una sola célula. En el caso de un componente que se extiende en ancho sobre varias células, ingrese el número de células sobre las que el componente va a extenderse. Las células ocupadas por un componente extendido están marcadas Extendido. |
Infoburbuja |
Este texto se visualiza en una infoburbuja cuando el usuario pasa sobre el componente con el cursor del ratón. |
Etiqueta (prefijo) |
Ingrese un texto estático que se visualizará arriba del componente. |
Etiqueta (sufijo) |
Ingrese un texto estático que se visualizará a la derecha del componente. |
Ancho (pixeles) |
Especifique el ancho en pixeles del campo de ingreso del componente, excluyendo la etiqueta en sufijo. El valor por defecto es 100. Cada columna del formulario adoptará automáticamente el ancho del componente más grande. |
Valor por defecto |
De manera opcional, ingrese un valor por defecto para inicializar el campo de ingreso. Es posible utilizar algunas funciones para inicializar el valor por defecto de un componente. |

Ejemplo de disposición de los componentes de un formulario
El cuadro siguiente describe los distintos componentes disponibles para la creación de formularios así como sus parámetros específicos. Ciertos componentes no están disponibles para la creación de consultas de selección por atributos.
Componentes de formularios |
||||||||||||||||||||||||||||
|
Texto estático que se verá en el formulario. El alineamiento del texto (izquierda, derecho o centrado) puede ser especificado, lo mismo que el estilo de la fuente de caracteres. Es posible utilizar algunas funciones en el texto de la etiqueta. |
|||||||||||||||||||||||||||
|
Campo de ingreso de un valor alfanumérico. El campo asociado debe ser de tipo alfanumérico o numérico. Máscara de entrada: Puede ser utilizada para controlar el formato del valor ingresado. Multilínea: (Campos alfanuméricos solamente) Si esta opción está activada, el campo de ingreso se visualizará en varias líneas de texto, lo que facilita el ingreso de textos extensos. Número máximo de caracteres: (Campos alfanuméricos solamente) Determina la longitud máxima del texto que el usuario puede ingresar. Debe respetar las restricciones del campo de la base de datos que contiene los datos. Validación del rango de valores: (Campos alfanuméricos solamente) Permite definir un rango de valores aceptados (por ejemplo de 0 a 100). |
|||||||||||||||||||||||||||
|
Lista de valores entre los cuales se puede seleccionar un sólo valor. El campo asociado debe ser de tipo alfanumérico o numérico. Los valores de la lista pueden ser ingresados manualmente o provenir de una base de datos: Valores Ingrese los valores en el espacio previsto especificando para cada caso el valor que se utiliza en la base de datos y la etiqueta que se visualizará en la lista. El valor ingresado será utilizado como dato. La etiqueta sirve solamente para que el usuario visualice el dato. En los casos en que el valor y la etiqueta son los mismos, ingrese el mismo valor las dos veces. Obtener los valores de una base de datos Debe seleccionar la base de datos a partir de la cual desea obtener los valores. Luego debe ingresar una expresión SQL que será ejecutada para obtener los valores y las etiquetas que se visualizarán. El orden de los campos es importante (el campo de valores debe ir en primer lugar, el campo de las etiquetas en segundo lugar). Normalmente, las etiquetas deberían ser únicas y estar ordenadas. Ejemplo: select distinct ID_CITY, CITY from CITIES order by CITY Nota: A veces las etiquetas que se presentan en una lista provienen de una tabla asociada a una fuente de datos espaciales almacenada en la base de datos System de JMap Server. En esos casos no se conoce el nombre de la tabla física. Para resolver este problema puede utilizar esta técnica simple: en lugar del nombre de la tabla puede escribir el nombre de la fuente de datos entre dos símbolos $. Ejemplo: select distinct ID_CITY, CITY from $World cities$ order by CITY |
|||||||||||||||||||||||||||
|
Lista de valores de los que se pueden seleccionar uno o varios. El campo asociado debe ser de tipo alfanumérico. El valor ingresado en el campo es la lista de items seleccionados, separados por comas (,). Los valores de la lista pueden ser ingresados manualmente o provenir de una base de datos. Ver Lista (opción única) para más información. |
|||||||||||||||||||||||||||
|
Permite establecer el valor del campo asociado, para el que existen solamente 2 valores posibles. Estos 2 valores posibles deben ser especificados y pueden ser cadenas de caracteres (ej.: verdadero o falso) o numéricos (ej.: 0 o 1). Si el campo asociado es de tipo lógico o booleano, se deben utilizar obligatoriamente los valores true y false. Valor verificado: Valor que se ingresa si la casilla se marca. Valor no verificado: Valor que se ingresa si la casilla no se marca. |
|||||||||||||||||||||||||||
(No disponible para los formularios de consultas de selección por atributos) |
Permite seleccionar una fecha. El atributo de la capa debe ser de tipo date, datetime o timestamp. Este tipo de componente no está disponible para los formularios de consulta de selección por atributos. Formato de fecha: Es el formato con el que se visualizará la fecha seleccionada en el componente calendario. Si el usuario ingresa la fecha manualmente, deberá utilizar también ese formato (ej.: dd/MM/yyyy, yy/MM/dd H:ss, etc.) |
|||||||||||||||||||||||||||
(No disponible para los formularios de consultas de selección por atributos) |
Este componente permite al usuario insertar fotos en un formulario. En las aplicaciones JMap Mobile permite tomar fotos con la cámara del dispositivo. En las aplicaciones JMap Pro el usuario puede seleccionar imágenes existentes e insertarlas en el formulario. Un formulario puede contener sólo un componente de tipo Foto. En el caso de los formularios de los atributos de una capa, las fotos pueden ser almacenadas en la base de datos System de JMap Server (no se requiere ninguna configuración) o en una base de datos externa. En el caso de los formularios de base de datos que contienen este componente, las fotos se almacenan en una base de datos externa. Los parámetros requeridos para dicho almacenamiento deben entonces ser definidos por el administrador. Almacenamiento: Seleccione la opción JMap para almacenar los datos en la base de datos de JMap (disponible sólo para los formularios de atributos de una capa) o Externo para el almacenamiento en la base de datos de su elección. Si elige Externo, debe especificar los parámetros de configuración siguientes. Base de datos: Seleccione la base de datos donde se almacenarán las fotos. Esta base de datos debe haber sido configurada previamente en JMap Admin. Tabla: Seleccione la tabla que contendrá la información sobre las fotos. Esta tabla debe tener la estructura siguiente. El nombre de la tabla y los nombres de los campos pueden variar.
El campo de tipo BLOB no es necesario si el almacenamiento de las fotos se hace en disco y no en la base de datos. ver la opción Almacenamiento de las fotos para más detalles. Campo ID de la foto: Seleccione el campo de la tabla que contendrá el identificador digital único de la foto. Campo ID del elemento: Seleccione el campo de la tabla que contendrá el atributo identificador del elemento de la capa. Este atributo se denomina atributo clave y se selecciona cuando se crea la fuente de datos espaciales a la que está asociada la capa. Campo Nombre del archivo: Seleccione el campo de la tabla que contendrá el nombre del archivo de las fotos. Persistencia de las fotos: Seleccione la opción Base de datos para guardar las fotos directamente en la base de datos, en un campo de tipo BLOB presente en la tabla. Debe entonces seleccionar el campo de tipo BLOB. Seleccione la opción Sistema de archivos para guardar las imágenes en un directorio del sistema de archivos del servidor. Debe ingresar entonces la ruta a la carpeta que contendrá los archivos de fotos. |
|||||||||||||||||||||||||||
|
Este componente presenta un árbol de valores. El usuario puede seleccionar un valor en el árbol, rama u hoja. El campo asociado debe ser de tipo alfanumérico. Los valores del árbol pueden ser ingresados manualmente o provenir de una base de datos: Valores Ingrese los valores en el espacio previsto según el formato siguiente.
Obtener los valores de una base de datos Debe seleccionar la base de datos de la que desea obtener los valores. Luego debe ingresar una petición SQL que se ejecutará para obtener los valores a partir de una tabla con relación padre-hijo. Ejemplo de tabla que contiene los valores del árbol:
Ejemplo de petición SQL para leer los datos e inicializar el árbol (el orden de los campos en la petición es importante): select parent, child from mytable |
|||||||||||||||||||||||||||
(No disponible para los formularios de consultas de selección por atributos) |
Permite manipular datos provenientes de bases de datos externas a JMap y para las cuales existe una relación 1 a N con los elementos de la capa. Ejemplo: Supongamos una capa de puntos que representan los grifos de incendio en JMap y una base de datos externa a JMap que contiene datos sobre las inspecciones realizadas a esos grifos de incendio. Cada grifo puede haber tenido 0, 1 o varias inspecciones. En el formulario de los atributos de la capa Grifos de incendio, la tabla permite visualizar los datos de las inspecciones realizadas a un grifo de incendio, cada línea de la tabla correspondiendo a una inspección. Según los permisos acordados, la tabla también permite al usuario añadir, modificar o suprimir los datos de inspección. La tabla está siempre asociada a un subformulario. Este subformulario define la manera en que se accede a los datos externos y permite ingresar esos datos. El subformulario debe haber sido creado previamente para poder configurar la tabla. Los parámetros de la tabla permiten definir los campos de datos externos que serán visibles en la tabla, y su orden. Subformulario: Seleccione un subformulario existente para ingresar los valores relacionados a la tabla. Campos: Permite gestionar los campos visualizados en la tabla. Esos campos son los del subformulario asociado a la tabla. Es posible modificar el título de los campos, su orden de presentación así como su visibilidad en la tabla. Para obtener más detalles sobre la utilización de datos externos con los formularios de JMap, consulte la sección Formularios de bases de datos. |
|||||||||||||||||||||||||||
|
Este componente permite agrupar componentes del formulario. Los componentes que pertenecen a un mismo grupo serán rodeados por un marco con un título. Para comenzar un nuevo grupo debe insertar este componente en una célula de una fila vacía. Este componente se extiende automáticamente a todas las células de la fila. No puede ser insertado en una fila que ya contiene otros componentes. |
|||||||||||||||||||||||||||
Ciertas funciones permiten inicializar los componentes de los formularios:
Funciones |
|
username() |
Sustituida por el código de usuario del usuario. |
fullname() |
Sustituida por el nombre completo del usuario. |
date() |
Sustituida por la fecha actual. |
datetime() |
Sustituida por la fecha y hora actuales. |