LogoLogo
Español
Español
  • Bienvenido a JMap Server Kathmandu
  • Administrador
    • Manual del administrador JMap Server
      • Introducción
        • Guía sintética de puesta en marcha
        • Interfaz del usuario
      • Bases de datos
        • Base de datos System
        • Creación de bases de datos
        • Configuración y gestión de las bases de datos
        • Consola SQL
      • Conexiones JMap Server a JMap Server
        • Creación de conexiones a JMap Server
        • Configuración de las conexiones JMap Server a JMap Server
          • Permisos de la conexión remota
        • Gestión de las conexiones
      • Fuentes de datos espaciales
        • Creación de fuentes de datos espaciales
        • Configuración de fuentes de datos espaciales
          • Permisos de las fuentes de datos espaciales
          • Atributos externos
          • Metadatos
        • Compartir fuentes de datos espaciales
        • Fuentes de datos vectoriales
          • Lector de archivo ADF - E00 ArcInfo
          • Lector de archivo CSV
          • Lector de archivo DGN V7 - V8
          • Lector de archivo DWG - DXF
          • Lector de archivo EDIGEO
          • Lector de archivo File Geodatabase
          • Lector de archivo GeoJSON
          • Lector de archivo GML
          • Lector de archivo GPX
          • Lector de archivo IFC
          • Lector de archivo KML
          • Lector de archivo MID - MIF
          • Lector de archivo SHP
          • Lector de archivo TAB
          • Lector de fotos
          • Anotaciones en una base de datos
          • ArcGIS REST
          • Géodatabase ArcSDE
          • Coordenadas en una base de datos
          • Enterprise Geodatabase
          • JMap Server
          • MongoDB
          • MySQL Spatial
          • OGC API Features
          • Oracle Spatial Locator
          • Personal Geodatabase
          • PostGIS
          • Servidor WFS
          • SQL Server Spatial
          • Tabla JMap Spatial
          • WKB o WKT en una base de datos
        • Fuentes de datos matriciales
          • ECW - JPG2000
          • GDAL - Geospatial Data Abstraction Library
          • ArcGIS REST
          • JMap Server
          • OpenStreetMap
          • Servidor WMS
          • Servidor WMTS
      • Proyectos
        • Creación de proyectos
          • Proyectos multilingües
          • Las teselas vectoriales en JMap
        • Configuración de proyectos
          • Permisos de los proyectos
          • Organización de las capas
          • Consultas de selección por atributos
            • Formulario de consulta de selección por atributos
          • Capas personales
        • Gestión de proyectos
        • Modelos de estilo
      • Capas
        • Gestión de las capas de un proyecto
        • Creación de capas
        • Configuración de las capas
          • Parámetros generales
          • Permisos de las capas
          • Filtros dinámicos
          • Estilo
          • Temáticas
          • Etiquetas
          • Infoburbujas
          • Reportes
          • Formularios
            • Formulario de los atributos de una capa
            • Formulario de base de datos
        • Extensiones JMap
        • Compartir capas
      • Aplicaciones JMap Server
        • Aplicaciones clásicas
          • Aplicaciones JMap Pro
          • Aplicaciones JMap Web
            • Utilización de un servidor GeoWebCache
          • Servicios WFS y WMS
        • Nueva generación de aplicaciones
      • Extensiones JMap Server
      • Seguridad
        • Administradores de usuarios
          • Administrador de usuarios JMap BD
          • Administrador de usuarios compuesto
          • Administrador de usuarios Active Directory
          • Administrador de usuarios JMap LDAP
          • Administrador de usuarios OpenID Connect (OIDC)
          • Administrador de usuarios SAML2
        • Gestión de las cuentas de usuarios y de los grupos
          • Autenticación única en JMap Pro
        • Gestión de los permisos
        • Gestión de las sesiones
        • Utilización de HTTPS con JMap
      • Gestión de JMap Server
        • Estado de JMap Server
        • Exportación e importación
        • Datos de los usuarios
        • Parámetros de JMap Server
        • Estadísticas de uso
        • Registro
        • Mensajes
        • Base de datos System de JMap Server
        • Copias de seguridad
      • Funciones avanzadas: herramientas de depuración
    • Especificaciones técnicas
    • Descarga, instalación y puesta en marcha de JMap 7 Kathmandu con instalador
    • Descarga, instalación y puesta en marcha de JMap 7 Kathmandu con un Docker container
    • Guía de instalación de JMap Server
    • Guía de migración a JMap Server Kathmandu
  • Usuario de aplicaciones
    • Aplicaciones JMap Server
    • Guía del usuario de JMap Pro
      • Introducción
        • Interfaz gráfica
        • Navegar en el mapa
        • Administrar los mapas
        • Configurar el mapa
      • Capas cartográficas
        • Administrador de capas
        • Explorador de elementos
        • Mapas temáticos
        • Metadatos
        • Configuración de las capas
          • Parámetros generales
          • Estilo
          • Temáticas
          • Etiquetas
          • Infoburbujas
          • Filtros
          • Parámetros avanzados
        • Capas editables
          • Editar los datos
          • Capas personales
      • Herramientas
        • Etiquetar elementos
        • Seleccionar elementos de manera interactiva
        • Obtener información sobre los elementos
          • Reporte informativo
          • Información geométrica
          • Infoburbujas
        • Ajustar elementos
        • Efectuar mediciones
        • Herramientas de consulta
          • Consultas de selección por atributos
          • Consultas espaciales
        • Herramientas de colaboración
          • Contextos cartográficos
          • Compartir mapas
          • Imprimir mapas
      • Parámetros de la aplicación
      • Accesos directos del teclado y del ratón
    • Guía del usuario de JMap NG
      • Introducción
        • Conexión a JMap NG
        • Interfaz gráfica
        • Navegar en el mapa
        • Perfil y configuración del usuario
      • Los datos
        • El panel Capas
        • Capas de datos
          • Visualizar las capas
          • Temáticas
          • Información de la capa
          • Extensión geográfica de la capa
          • Filtrar elementos
          • Volver seleccionables los elementos de la capa
      • Deseo...
        • Acceder a información sobre los elementos del mapa
          • Infoburbujas
          • Reportes de información
        • Consultar los datos
        • Seleccionar elementos en el mapa
        • Medir distancias y superficies
        • Efectuar anotaciones en el mapa
        • Editar datos
        • Crear y administrar mapas personalizados
        • Exportar / Imprimir un mapa
    • Guía del usuario de JMap Survey (FR)
    • Guía del usuario de JMap Survey (EN)
    • Guía del usuario de JMap Web
  • Extensiones JMap Server
    • Edition
      • Interfaz gráfica
      • Conceptos básicos
      • Deseo...
        • Editar las geometrías de las capas
          • Herramientas de edición
          • Selección de elementos
          • Operaciones en los nodos y los polígonos
          • Orden en la capa y duplicación de los elementos
          • Geometrías en formato WKT
        • Efectuar operaciones espaciales
          • Geoprocesamiento
          • Herramientas espaciales
    • Export
    • Import
      • Procedimiento de importación
        • Importación de archivos MIF
        • Importación de archivos SHP
        • Importación de archivos CSV
        • Importación de datos NMEA
        • Importación de datos provenientes de WMS
    • Documents (Francés)
    • Tracking
      • Administrador
      • Usuario
  • Desarrollador
    • API JMap Pro Server
    • API REST de JMap Admin
    • API REST de JMap Server
    • API de JMap Web
    • Manual del desarrollador
    • Manual del desarrollador de JMap NG (EN)
  • Base de conocimiento
    • Base de conocimiento
Propulsé par GitBook

K2 Geospatial 2022

Sur cette page
  • Creación de formularios de base de datos
  • Subformularios
  • Creación de subformularios
  • Subformularios imbricados
  • Permisos de los formularios de base de datos
  • Reglas de validación de los formularios
Exporter en PDF
  1. Administrador
  2. Manual del administrador JMap Server
  3. Capas
  4. Configuración de las capas
  5. Formularios

Formulario de base de datos

PrécédentFormulario de los atributos de una capaSuivantExtensiones JMap

Dernière mise à jour il y a 1 an

Los formularios de base de datos son utilizados para administrar datos almacenados en bases de datos externas a JMap. 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 presenta más detalles sobre el tema.

La configuración de este tipo de formularios es una función avanzada de JMap que requiere la elaboración de expresiones SQL para la extracción, inserción, modificación y supresión de datos.

Creación de formularios de base de datos

Para crear un formulario de base de datos, seleccione Formularios en el menú de parámetros de la capa. En la pestaña Formulario presione Crear.

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.

Sintaxis de los formularios de base de datos

ev(attrib) o elementValue(attrib)

Función que devuelve, para un elemento, el valor del atributo especificado en parámetro.

Ejemplo

ev(*city*);

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

fv(*table.name*);

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

$city = EV(*city*);

Crea una variable $city inicializada con el valor del atributo CITY del elemento.

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

$id = nextTableId(inspections, inspection_id)

Crea e inicializa una variable $id con el valor del próximo identificador INSPECTION_ID de la tabla INSPECTIONS. Si el valor máximo presente es 100, el valor devuelto es 101.

El cuadro siguiente explica en detalle cada uno de los parámetros de la ventana de creación de un formulario para base de datos.

Propiedades del formulario

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 fv(). Las sentencias deben contener una condición que permita establecer el enlace entre un atributo de la capa y un campo de la base de datos.

Ejemplo de sentencia para un formulario de base de datos (1 a 1):

SELECT * FROM ASSET_INFO WHERE ASSET_ID = EI();

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 ei(). Si la funciónei() retorna un valor en formato texto, para visualizarlo usted debe rodear la función con apóstrofes:

SELECT * FROM ASSET_INFO WHERE ASSET_ID = 'EI()';

Ejemplos de sentencia para un formulario de base de datos (1 a N):

Ejemplo del subformulario Inspections:

SELECT * FROM INSPECTION WHERE ASSET_ID = EI();

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 ei().

Si la funciónei() retorna un valor en formato texto, para visualizarlo usted debe rodear la función con apóstrofes:

SELECT * FROM INSPECTION WHERE ASSET_ID = 'EI()';

Ejemplo del subformulario imbricado Inspectors:

SELECT * FROM INSPECTOR WHERE INSPECTION_ID = FV(INSPECTION_ID);

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 fv(field).

Ejemplo del subformulario imbricado Interventions:

SELECT * FROM INTERVENTION WHERE INSPECTION_ID = FV(INSPECTION_ID);

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 fv(field).

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. Ejemplo de sentencia formulario de base de datos (1 a 1): ASSET_INFO.ASSET_ID Ejemplo de sentencia formulario de base de datos (1 a N) subformulario Inspections: INSPECTION.INSPECTION_ID Ejemplo de sentencia formulario de base de datos (1 a N) subformulario imbricado Inspectors: INSPECTOR.INSPECTOR_ID Ejemplo de sentencia formulario de base de datos (1 a N) subformulario imbricado Interventions: INTERVENTION.INTERVENTION_ID

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):

$id = ei(); INSERT INTO ASSET_INFO (ASSET_ID, ASSET_YEAR, BRAND, ASSET_HEIGHT) VALUES (EI(), FV(ASSET_INFO.ASSET_YEAR), FV(ASSET_INFO.BRAND), FV(ASSET_INFO.ASSET_HEIGHT));

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 fv(field). El valor de la variable ASSET_INFO.ASSET_ID proviene de la función ei().

Ejemplos de sentencia para un formulario de base de datos (1 a N):

Ejemplo del subformulario Inspections:

$id = nti(INSPECTION, INSPECTION_ID); INSERT INTO INSPECTION (INSPECTION_ID, ASSET_ID, INSP_DATE, INSP_COMMENT) VALUES ($id, EI(), FV(INSPECTION.INSP_DATE), FV(INSPECTION.INSP_COMMENT));

En este ejemplo se crea una variable $id que se inicializa con el próximo valor (max + 1) del campo ID de la tabla INSPECTION.

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 fv(field). El valor del campo INSPECTION_ID proviene de la variable $id. El valor del campo ASSET_ID proviene de la funciónei().

Ejemplo del subformulario imbricado Inspectors:

$id = nti(INSPECTOR, INSPECTOR_ID); INSERT INTO INSPECTOR (INSPECTOR_ID, INSPECTION_ID, CONTACT_INFO, TEAM) VALUES ($id, FV(INSPECTOR.INSPECTION_ID), FV(INSPECTOR.CONTACT_INFO), FV(INSPECTOR.TEAM));

En este ejemplo se crea una variable $id que se inicializa con el próximo valor (max + 1) del campo ID de la tabla INSPECTOR.

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 fv(field). El valor del campo INSPECTION_ID proviene de la variable $id. El valor del campo INSPECTOR_ID proviene de la variable$id.

Ejemplo del subformulario imbricado Interventions:

$id = nti(INTERVENTION, INTERVENTION_ID); INSERT INTO INTERVENTION (INTERVENTION_ID, INSPECTION_ID, WORK_ORDER, FOLLOW_UP) VALUES ($id, FV(INSPECTION_ID), FV(INTERVENTION.WORK_ORDER), FV(INTERVENTION.FOLLOW_UP));

En este ejemplo se crea una variable $id que se inicializa con el próximo valor (max + 1) del campo ID de la tabla INTERVENTION.

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 fv(field). El valor del campo INTERVENTION_ID proviene de la variable$id.

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.

Ejemplo de sentencia formulario de base de datos (1 a 1):$id Ejemplo de sentencia formulario de base de datos (1 a N) subformulario Inspections: $id Ejemplo de sentencia formulario de base de datos (1 a N) subformulario imbricado Inspectors: $id Ejemplo de sentencia formulario de base de datos (1 a N) subformulario imbricado Interventions: $id

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):

UPDATE ASSET_INFO SET ASSET_YEAR = FV(ASSET_INFO.ASSET_YEAR), BRAND = FV(ASSET_INFO.BRAND), ASSET_HEIGHT = FV(ASSET_INFO.ASSET_HEIGHT) WHERE ASSET_ID = FV(ASSET_INFO.ASSET_ID);

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 fv(field). La cláusula WHERE permite actualizar el registro que contiene el identificador único del elemento, ASSET_ID, utilizando también la función fv(field).

Ejemplos de sentencia para un formulario de base de datos (1 a N):

Ejemplo del subformulario Inspections:

UPDATE INSPECTION SET INSP_DATE = FV(INSPECTION.INSP_DATE), INSP_COMMENT = FV(INSPECTION.INSP_COMMENT) WHERE INSPECTION_ID = FV(INSPECTION.INSPECTION_ID);

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 fv(field). La cláusula WHERE utiliza la función fv(field) para obtener el valor del identificador único del registro.

Ejemplo del subformulario imbricado Inspectors:

UPDATE INSPECTOR SET CONTACT_INFO = FV(INSPECTOR.CONTACT_INFO), TEAM = FV(INSPECTOR.TEAM) WHERE INSPECTOR_ID = FV(INSPECTOR.INSPECTOR_ID);

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 fv(field). La cláusula WHERE utiliza la función fv(field) para obtener el valor del identificador único del registro.

Ejemplo del subformulario imbricado Interventions:

UPDATE INTERVENTION SET WORK_ORDER = FV(INTERVENTION.WORK_ORDER), FOLLOW_UP = FV(INTERVENTION.FOLLOW_UP) WHERE INTERVENTION_ID = FV(INTERVENTION.INTERVENTION_ID);

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 fv(field). La cláusula WHERE utiliza la función fv(field) para obtener el valor del identificador único del registro.

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):

DELETE FROM ASSET_INFO WHERE ASSET_ID = FV(ASSET_INFO.ASSET_ID);

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 fv(field) para obtener el valor del identificador del elemento.

Ejemplos de sentencia para un formulario de base de datos (1 a N):

Ejemplo del subformulario Inspections:

DELETE FROM INSPECTION WHERE INSPECTION_ID = FV(INSPECTION.INSPECTION_ID); DELETE FROM INTERVENTION WHERE INSPECTION_ID = FV(INSPECTION.INSPECTION_ID); DELETE FROM INSPECTOR WHERE INSPECTION_ID = FV(INSPECTION.INSPECTION_ID);

En este ejemplo, el registro correspondiente al identificador único de la inspección es eliminado de la tabla utilizando la función fv(field) para obtener el valor del identificador.

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.

Ejemplo del subformulario imbricado Inspectors:

DELETE FROM INSPECTOR WHERE INSPECTOR_ID = FV(INSPECTOR.INSPECTOR_ID);

En este ejemplo, el registro correspondiente al identificador único del inspector es eliminado de la tabla utilizando la función fv(field) para obtener el valor del identificador.

Ejemplo del subformulario imbricado Interventions:

DELETE FROM INTERVENTION WHERE INTERVENTION_ID = FV(INTERVENTION.INTERVENTION_ID);

En este ejemplo, el registro correspondiente al identificador único de la intervención es eliminado de la tabla utilizando la función fv(field) para obtener el valor del identificador.

Subformularios

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.

Creación de subformularios

Para crear un subformulario, seleccione Formularios en el menú de parámetros de la capa. En la pestaña Subformulario presione Crear. 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.

Subformularios imbricados

La figura presenta un ejemplo de subformularios imbricados en una aplicación JMap Pro.

Permisos de los formularios de base de datos

Los formularios para base de datos tienen sus propios permisos, que se describen en este cuadro.

Permisos de los formularios

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.

Reglas de validación de los formularios

Los formularios de atributos de la capa y los formularios y subformularios de bases de datos le permiten definir reglas de validación global del formulario, basadas en múltiples campos.

Las reglas validan los valores de los campos del lado del cliente, es decir, los valores que los usuarios de las aplicaciones JMap ingresan en los formularios. La validación tiene lugar cuando se guarda el formulario, lo que no es posible si el formulario no respeta las reglas.

Para configurar las reglas de un formulario o subformulario, abra la interfaz de configuración del formulario o subformulario:

  1. Presione Crear para abrir la ventana de creación de una regla.

    Regla

    Nombre

    Ingrese un nombre para la regla.

    Expresión

    Ejemplo

    {“!”:[ {“and”:[ {“==”:[{“var”:“STATUT”},“done”]}, {“or”:[ {“==”:[{“var”:“MATERIAL”},“”]}, {“==”:[{“var”:“INSP_DATE”}, null]}, {“==”:[{“var”: “DIAMETER”}, null]}, {“<=”:[{“var”:“DIAMETER”}, 0]} ]} ]} ]}

    Esta expresión indica que cuando el valor del campo STATUT es “done”, los campos MATERIAL, INSP_DATE y DIAMETER deben ser inicializados (sus valores no pueden ser nulos ni 0).

    Nota: Actualmente, JMap Server no puede validar expresiones que contienen campos de tipo de fecha.

    Mensaje

    Ingrese el mensaje de error que aparece cuando se viola la expresión lógica. Puede ingresar el mensaje en varios idiomas.

    Ejemplo

    Los campos MATERIAL, INSP_DATE y DIAMETER no pueden ser nulos o vacíos si STATUS es 'Done'

  2. Presione Guardar.

Usted puede crear varias reglas para un formulario.

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 . El cuadro de la sección .

Presione para abrir el menú y seleccione la opción Reglas. La interfaz que lista las reglas se visualiza.

Ingrese la expresión lógica que define la regla. La sintaxis es la de . Puede ingresar expresiones lógicas y/o matemáticas. La expresión debe ser respetada para que el formulario sea validado y cerrado. Es decir que el usuario de una aplicación JMap (Pro, Survey, NG) debe ingresar los datos correctos para los campos afectados por la expresión para que se respete la regla (resulte verdadera) y se pueda guardar y cerrar el formulario.

creación de subformularios
Creación de formularios de bases de datos
JSonLogic
Subformularios
Los formularios de base de datos se utilizan para manejar datos externos a JMap que se relacionan con los elementos de una capa mediante un campo en común.
Los subformularios son formularios de base de datos que permiten manejar los datos que guardan una relación 1 a N con los datos de la capa, utilizando un campo en común.
Los subformularios son formularios de base de datos que permiten manejar los datos que guardan una relación 1 a N con los datos del subformulario, utilizando un campo en común.
img