Formulario de base de datos
Dernière mise à jour
Dernière mise à jour
K2 Geospatial 2024
Los formularios de base de datos son utilizados para administrar datos almacenados en bases de datos externas a JMap Server. Permiten añadir nuevos datos así como modificar y suprimir los datos existentes.
Se pueden crear varios formularios de este tipo para una misma capa.
Cada formulario de base de datos incluye sus propios permisos para determinar los usuarios que pueden manipular los datos.
Estos formularios pueden ser utilizados para manejar datos que guardan una relación 1 a 1 con los datos de la capa. En ese caso, cuando un elemento es creado se añade un registro en la base de datos y al contrario, se elimina el registro cuando un elemento es suprimido.
Los formularios pueden también usarse para manejar datos que guardan una relación 1 a N con los datos de la capa. En ese caso, se trata de un tipo especial de formulario denominado subformulario, que está siempre asociado con un componente tabla de un formulario. La sección Subformularios presenta más detalles sobre el tema.
La configuración de este tipo de formularios es una función avanzada de JMap Server que requiere la elaboración de expresiones SQL para la extracción, inserción, modificación y supresión de datos.
Para crear un formulario de base de datos, presione Crear en la pestaña Formularios de la interfaz de configuración de la capa.
Debe ingresar un nombre para el nuevo formulario. Seleccione el tipo Base de datos y seleccione la base de datos que contiene los datos que se usarán en el formulario.
En la etapa siguiente, una ventana le permite escribir las expresiones SQL del formulario. Estas expresiones sirven para extraer, añadir, modificar y suprimir los datos.
La sentencia SELECT es obligatoria mientras que las otras sentencias son opcionales.
Los usuarios de las aplicaciones JMap podrán efectuar solo las operaciones para las cuales usted suministra una sentencia SQL.
La configuración de las expresiones SQL utiliza una sintaxis especial. En regla general, cada línea de la sintaxis debe terminar con un punto y coma (;). La sintaxis no es sensible a mayúsculas y minúsculas.
El cuadro siguiente explica en detalle el funcionamiento de esta sintaxis.
ev(attrib) o elementValue(attrib) | Función que devuelve, para un elemento, el valor del atributo especificado en parámetro. Ejemplo
Retorna el valor del atributo CITY del elemento. |
fv(field) o formValue(field) | Función que devuelve el valor ingresado en el formulario, para el campo especificado en parámetro. El nombre del campo debe obligatoriamente incluir el nombre de la tabla como prefijo. Ejemplo
Devuelve el valor ingresado en el componente del formulario asociado al campo TABLE.NAME de la base de datos. |
ei() o elementId() | Función que devuelve el identificador del elemento. Puede tratarse de un campo jmap_id o de otro campo, tal como se ha configurado en la fuente de datos espaciales. |
$variable | Permite crear e inicializar variables que pueden luego ser utilizadas en las distintas expresiones. En el caso de la sentencia INSERT, por ejemplo, resulta obligatorio crear una variable que contiene el identificador único del elemento añadido. Ejemplo
Crea una variable |
nti(table, field) o nextTableId(table, field) | Función que devuelve el próximo valor que se utilizará como identificador numérico para la tabla y el campo especificados en parámetro. El campo debe existir en la tabla especificada y debe ser de tipo numérico entero. La función determina cual es el valor máximo presente en la tabla y devuelve ese valor incrementado en 1 (max + 1). Esta función resulta útil cuando se añade un nuevo registro en la base de datos en una tabla que contiene un identificador numérico único. Ejemplo
Crea e inicializa una variable |
La tabla siguiente explica en detalle cada uno de los parámetros de la ventana de creación de un formulario para base de datos.
Base de datos | Seleccione la base de datos que contiene los datos que serán manipulados con el formulario. |
Sentencia SELECT | Expresión SQL que obtiene los datos para poblar los campos del formulario. Todos los campos devueltos por esta expresión pueden ser utilizados para configurar los componentes del formulario así como intervenir en otras expresiones definidas en el formulario mediante la función Ejemplo de sentencia para un formulario de base de datos (1 a 1)
En este ejemplo se obtienen todos los campos de la tabla ASSET_INFO. Los campos obtenidos están disponibles para la configuración de los componentes del formulario. El campo ASSET_ID es utilizado para establecer el enlace con el elemento de la capa, mediante la función
Ejemplos de sentencia para un formulario de base de datos (1 a N)
En este ejemplo se obtienen todos los campos de la tabla INSPECTION, que quedan disponibles para la configuración de los componentes del subformulario.
El campo ASSET_ID se utiliza para establecer la relación con el elemento de la capa ASSETS mediante la función Si la función
En este ejemplo se obtienen todos los campos de la tabla INSPECTOR que quedan disponibles para la configuración de los componentes del subformulario.
El campo INSPECTION_ID se utiliza para establecer la relación con el elemento de la tabla INSPECTION utilizando la función
En este ejemplo se obtienen todos los campos de la tabla INTERVENTION que quedan disponibles para la configuración de los componentes del subformulario.
El campo INSPECTION_ID se utiliza para establecer la relación con el elemento de la tabla INSPECTION utilizando la función |
Identificador único | La sentencia SELECT debe incluir obligatoriamente un campo de identificación único (numérico o alfanumérico). Seleccionar el campo que funcionará como identificador único.
|
Sentencia INSERT | Expresión SQL que inserta nuevos datos en la base de datos. Configure esta sentencia sólo si el formulario permitirá la inserción de registros en la base de datos. Se debe definir obligatoriamente una variable que contiene el valor del identificador único para el nuevo registro. Ejemplo de sentencia para un formulario de base de datos (1 a 1)
En este ejemplo, cuando se ejecuta la sentencia SQL de tipo INSERT los datos del formulario se insertan en la tabla ASSET_INFO.
Los valores de los campos ASSET_INFO.ASSET_YEAR, ASSET_INFO.BRAND y ASSET_INFO.ASSET_HEIGHT provienen de los valores ingresados en el formulario por el usuario, utilizando la función
En este ejemplo se crea una variable Cuando se ejecuta la sentencia SQL de tipo INSERT los datos del subformulario se insertan en la tabla INSPECTION.
Los valores de los campos INSP_DATE e INSP_COMMENT provienen de los valores ingresados por el usuario en el subformulario utilizando la función
En este ejemplo se crea una variable Cuando se ejecuta la sentencia SQL de tipo INSERT los datos del formulario se insertan en la tabla INSPECTOR.
Los valores de los campos INSPECTION_ID, CONTACT_INFO y TEAM provienen de los valores ingresados por el usuario en el subformulario utilizando la función
En este ejemplo se crea una variable Cuando se ejecuta la sentencia SQL de tipo INSERT los datos del formulario se insertan en la tabla INTERVENTION.
Los valores de los campos INSPECTION_ID, WORK_ORDER y FOLLOW_UP provienen de los valores ingresados por el usuario en el subformulario utilizando la función |
Variable del identificador único (ID) del nuevo elemento | Seleccione la variable que contiene el valor del identificador único del nuevo registro insertado en la tabla. Ésta debe ser definida con la sentencia INSERT. Para que sus datos se guarden en la base de datos (las fotos, por ejemplo), usted debe definir y seleccionar esta variable.
|
Sentencia UPDATE | Expresión SQL que actualiza los datos en la base de datos. Configure esta sentencia solo si el formulario permite la actualización de los datos. Ejemplo de sentencia para un formulario de base de datos (1 a 1)
En este ejemplo, cuando se ejecuta la sentencia SQL de tipo UPDATE los datos del formulario se utilizan para actualizar la tabla ASSET_INFO.
Los valores de los campos ASSET_YEAR, BRAND y ASSET_HEIGHT provienen de los valores ingresados por el usuario en el formulario utilizando la función
En este ejemplo, cuando se ejecuta la sentencia SQL de tipo UPDATE los datos del subformulario se utilizan para actualizar la tabla INSPECTION.
Los valores de los campos INSP_DATE e INSP_COMMENT se actualizan a partir de los valores ingresados por el usuario en el subformulario, utilizando la función
En este ejemplo, cuando se ejecuta la sentencia SQL de tipo UPDATE los datos del subformulario se utilizan para actualizar la tabla INSPECTOR.
Los valores del campo CONTACT_INFO se actualizan a partir de los de los valores ingresados por el usuario en el subformulario, utilizando la función
En este ejemplo, cuando se ejecuta la sentencia SQL de tipo UPDATE los datos del subformulario se utilizan para actualizar la tabla INTERVENTION.
Los valores de los campos WORK_ORDER y FOLLOW_UP se actualizan a partir de los de los valores ingresados por el usuario en el subformulario, utilizando la función |
Sentencia DELETE | Expresión SQL que suprime los datos en la base de datos. Configure esta sentencia solo si el formulario permite la supresión de los datos. Ejemplo de sentencia para un formulario de base de datos (1 a 1)
En este ejemplo el registro correspondiente al valor del atributo ASSET_ID del elemento es eliminado de la tabla ASSET_INFO, utilizando la función
En este ejemplo, el registro correspondiente al identificador único de la inspección es eliminado de la tabla utilizando la función Al eliminarse la inspección, los registros de los subformularios imbricados INTERVENTION e INSPECTOR correspondientes al identificador único de la inspección son eliminados también de la tabla.
En este ejemplo, el registro correspondiente al identificador único del inspector es eliminado de la tabla utilizando la función
En este ejemplo, el registro correspondiente al identificador único de la intervención es eliminado de la tabla utilizando la función |
Los subformularios son formularios de base de datos que se abren a partir de un componente Tabla presente en otro formulario. Usualmente se utilizan para manejar datos que tienen una relación 1 a N con los elementos de la capa. Pueden servir, por ejemplo, para el manejo de datos de inspecciones de activos (N inspecciones pueden ser asociadas a un mismo objeto). Se configuran de manera similar a los otros formularios de base de datos.
Para crear un subformulario, presione Crear en la sección Subformulario de la pestaña Formularios en la interfaz de configuración de la capa. Debe ingresar un nombre para el nuevo formulario y seleccionar la base de datos que contiene los datos que se utilizarán en el subformulario.
En la etapa siguiente debe configurar la expresión SQL del subformulario, como se detalla en la sección precedente.
Varios niveles de subformularios pueden estar imbricados en un subformulario. Se utilizan para manejar datos que tienen una relación 1 a N con los registros del subformulario. Pueden servir, por ejemplo, para la gestión de los datos de intervenciones que tienen lugar como consecuencia de la inspección de un activo (N intervenciones pueden estar asociadas a una inspección).
Un subformulario imbricado se abre a partir de un componente Tabla presente en el subformulario con el que se vincula.
La creación de un subformulario imbricado sigue las mismas etapas que la creación de subformularios. La sección Creación de formularios de bases de datos presenta ejemplos de expresiones SQL.
La figura presenta un ejemplo de subformularios imbricados en una aplicación JMap Pro.
El botón Permisos se localiza en la interfaz de configuración del formulario.
La sección Permisos contiene dos pestañas: Permisos y Propietarios. Los propietarios son los únicos que pueden administrar la lista de propietarios, incluyendo la supresión de la misma.
Los usuarios y grupos disponibles se configuran en la sección JMap Server de JMap Admin. La sección Usuarios y grupos ofrece más información sobre la gestión de usuarios en JMap Server.
Los formularios para base de datos tienen los permisos que se describen en la tabla:
Agregar datos | Permite que un usuario o grupo de usuarios utilicen el formulario para añadir nuevos datos en la base de datos. |
Editar datos | Permite que un usuario o grupo de usuarios utilicen el formulario para modificar datos existentes en la base de datos. |
Eliminar datos | Permite que un usuario o grupo de usuarios utilicen el formulario para suprimir datos existentes en la base de datos. |
La pestaña Permisos muestra una tabla de los usuarios y grupos que tienen permisos. Presione para añadir nuevos usuarios o grupos.