Página de cabecera: Base

Se accede a esta página desde el primer enlace en el camino que hay en la zona superior izquierda de cada página (el nombre de la BD).

Persiana Base (admin)

Sólo si el administrador marca además el botón Admin, se muestra esta persiana con la características de la clase ficticia Conceptos o clase base de la aplicación, con los campos más comunes.

Definiciones de campos y eventos

permite modificar en parte la definición de los campos de los documentos clase, cuya estructura y códigos son fijos en Ingrid, pero se pueden cambiar los nombres de los campos, o su posición, por ejemplo. También están los campos de conceptos de la clase base (.), que son los que todas las clases de conceptos heredan. Estas dos definiciones, no se modifican casi nunca.

Gráficos

Definición de campos de la lista de gráficos (gral) que cualquier concepto puede tener en BD (por defecto, ningún campo).

JSON

Código JSON en el motor de BD para la definición del concepto raíz: campos y eventos generales, parámetros generales de la persiana Base, etc.

Persiana Bases de <máquina> (sólo admin del motor de BD)

Vea el tema Base: Persiana Bases

Persiana Clases (expertos y admin para edición)

Página de índice de clases disponibles.

Sólo los administradores en edición pueden gestionar la creación, modificación y eliminación de clases. El resto de usuarios (incluidos expertos) pueden ver la información del nº de campos de cada una (NC), la cantidad de conceptos o documentos (ND), el criterio de orden por defecto (Orden), etc. Haciendo clic en el icono de una, se muestra la página con la clase, lo que sirve para ver toda la lista de conceptos (de esa clase o sus subclases) y realizar una búsqueda filtrando por varios criterios.

La información gráfica (G) (que comprende cualquier tipo de archivo externo asociado) y de mapas (M) que muestra cada clase, es este campo es un núm. decimal, que al convertir a sistema binario, se convierte en las opciones seleccionadas en la página de clase, cuyas opciones son: opciones de mapas: Actual, Hijos, Nietos, Padres y Contenido. Por ejemplo:
- Si tenemos mapas=3 (el valor de defecto)  que en binario es 11, empezando por la izquierda, será que están seleccionados 'Actual' e 'Hijos'.
- El valor decimal 8, que en binario es 1000, si lo invertimos, de izquierda a derecha será sólo la opción 'Padres'.

Administradores:

Para dar de alta una clase, basta con: estar en modo Edición, seleccionar cualquier campo la línea inferior a la que queremos insertar, y pulsar [Control+Insert]. Los identificadores (Id) de clases tienen que comenzar con punto (.).

Poniendo en el campo Superior el código de otra clase, definimos la nueva como subclase, con lo que se agrupará dentro de ella, aunque además podemos subir o bajar la posición de la línea dentro de la lista de subclases que tenga esa. Esta posición es sólo visual, no tiene otro uso.

Persiana Búsquedas (admin y expertos)

Anexo sintaxis de búsqueda mongoDb y reducida

Los botones del primer bloque permiten realizar de forma muy rápida algunas de las más habituales

Más abajo hay 2 grupos de herramientas avanzadas:

1 Texto para botones inferiores.- tecleando un texto en el campo, podemos buscar dentro del contenido del _id, resumen, descomposiciones, gráficos...

2 Búsqueda manual.- admite una sentencia de búsqueda find() completa de MongoDB, o una búsqueda reducida de Ingrid. Vea posibilidades y ejemplos en Anexo sintaxis de búsqueda mongoDB y reducida.

Se admiten condiciones como campo=valor, por ejemplo cla=car separados por espacios en blanco para unir varias condiciones como AND. También se admite el símbolo cla== para indicar que es "una clase o algunas de sus subclases". La existencia de un campo con información se hace con la sintaxis <campo>!! y la negación de existencia <campo>!

Con una selección de conceptos, se pueden utilizar los botones de edición inferiores para realizar operaciones masivas contra la BD (del orden de cientos de miles de registros tratados instantáneamente o en segundos).

ATENCIÓN: los botones actúan sobre toda la lista de elementos buscados, no sobre los visibles o los seleccionados en la columna del menú contextual.

Se pueden:

1. Eliminar documentos

2. Cambiar valor campo masivamente mediante expresiones regulares (por ejemplo poniendo res= d.res+" "+i, modificará los resúmenes de todos los documentos buscados, poniendo el resumen de cada documento (d) y el número de orden de la línea (i) en base cero. Con la letra 'p' y un espacio en blanco delante de la expresión, se PRUEBA el resultado indicando qué cambios se harían.

Atención, una particularidad es que al cambiar campos de campos de tipo objeto, por ejemplo, si en un documento tenemos:
{
"_id":"binequ.P1.A01.A",
"cla":"binequ",
"cod":"P1.A01.A",
"res":"08-046",
"lecs":{"20150630":9.2,"20150701":10.92}
}

y queremos eliminar de muchos conceptos los registros de la fecha 20150630, no debemos hacerlo poniendo lecs[20150630]=null sino lecs.20150630=null. Ingrid ya envuelve los campos que ponemos en el diálogo para que sea "lecs.20150630"=null.

IMPORTANTE: También sirve para recodificar conceptos cambiando el campo _id (con lo que cambiarán automáticamente los campos cla y cod). Esta es la operación más compleja y pesada de cambiar porque mongoDB no permite cambiar identificadores, sino que hay que hacer por cada cambio una copia completa de todo el concepto y todas sus referencias y eliminar el antiguo. Además hay que buscar todas las referencias que apuntaban a ese _id y cambiarlas también. 

Otra herramienta para modificar varias es multi-seleccionar unas líneas y seleccionando el campo de edición de una de ellas, cambiar el valor

3. Cambiar código de campo, cambiándolo en todos los documentos que hagan referencia a él.

4. Recodificar conceptos, para completarlos con ceros por la izquierda y hacerlos uniformes en tamaño.

 

Al realizar una búsqueda, se muestra sobre la lista de resultados, la sintaxis del find() que se hace contra la base MongoDB. Esto nos sirve para ver algún problema con lo que creemos que estamos buscando o para copiar la sentencia y modificarla.

Con el botón de la esquina sup. derecha del panel resultados de búsqueda, se puede llevar la lista seleccionada de conceptos a la página de la carpeta raíz de la BD, creando un concepto temporal de clase Búsqueda.

Persiana Preferencias

Permite establecer para el navegador actual en la máquina actual, preferencias de visualización (tamaño de fuentes, eliminar o aumentar márgenes y separaciones, etc.).

También se puede elegir el Lenguaje en que se muestran los rótulos de la aplicación y textos de los informes. Los administradores pueden editar cada archivo de lenguaje que se encuentra en \ingrid\js.lengua\lenguaje.js y traducen todos los textos envueltos dentro del código con la función T()

Administradores: tienen opciones de depuración y funciones para trazar el cliente, el servidor, limpiar o ver la memoria de un cliente y otros.

Persiana Base (admin)

Tiene sub-persianas que configuran diversos conjuntos de parámetros de la base actual y de diversas clases:

 

Persiana General

Características generales y variables globales de la base (nombre y descripción), conmutadores para cambiar modos de funcionamiento, y botones para funciones que afectan a toda la BD, o quitar el acceso en toda la base a características como mapas, gráficos, ámbitos.

Restricciones, los 2 conmutadores evitan las gestión de cierta información en las búsquedas, filtros, etc., si en nuestra base no los usamos:

- Sin Gráficos, Sin Mapas, ocultan esas persianas de datos en todos los conceptos, incluso aunque tengan datos. Esta gestión se puede detallar por cada clase en los campos CONGRA y CONMAP,

Servicios opcionales:

- Con Ámbitos, incluye en las búsquedas automáticamente la condición de que ámbito sea el del usuario actual. Esto penaliza algo las búsquedas grandes y/o complejas.

- Con Fechas, graba en cada concepto al fecha de creación, y modificación cuando algún dato cambia.

Botones opcionales: si los activamos, muestran en la zona superior derecha de la página en todo momento (junto al botón de Edición) botones que dan acceso a funcionalidades especiales:

- Lector de códigos de QR, sólo en dispositivos móviles android, y teniendo instalado de forma complementaria la app de lectura de códigos de barras Zxing, permite al pulsar el botón, activar el lector y al aplicarlo sobre un código, ir directamente a la página de BD con ese código, con lo que es un acceso directo a los datos de inventario y de todo el mantenimiento, si tenemos nuestro inventario codificado con etiquetas QR.

- Búsqueda por GPS, en dispositivos móviles con GPS o simulación de ubicación mediante datos o wifi, es un acceso rápido a la página de inventario más cercana a la ubicación actual.

- Encriptación, permite al cliente final establecer una contraseña para codificar con encriptación estándar de alta seguridad AES256, los campos que desee de la BD, teniendo en cuenta además que la clave se introduce en el cliente, nunca se envía al servidor y no la conoce más que el cliente. ATENCIÓN esto tiene el peligro de que si se pierde la clave, no hay forma alguna de recuperar los datos encriptados. El resto de la base no encriptada no se vería afectada.

El botón, si se activa la funcionalidad, aparece en color azul hasta que se introduce la contraseña adecuada en la persiana: Base > Encriptación. Entonces para a color rojo, mostrando los datos encriptados y haciendo que se encripten todos los introducidos en campos con el modificador E(encriptado).

- Botones de usuarios. Sirven sólo al administrador, para mostrar en al primera página de la BD un botón por cada perfil de usuario con el primer usuario encontrado, de forma que se puedan hacer fácilmente pruebas de permisos y cambiar entre usuarios con un solo clic.

Con gestión de eliminados (campo FECELI de los conceptos) está separada de la opción de Fechas automáticas de creación, y modificación, porque sobrecarga bastante cualquier búsqueda, ya que la aplicación añade condiciones para no mostrar los eliminados en las búsquedas que no lo exijan. Por defecto está desactivada. Las condiciones que Ingrid pone a las búsquedas para filtrar por ámbitos, sólo penalizan a los usuarios que tiene ámbitos, no a todos.

Campos de Decimales:: los 3 campos definen la visualización en los campos con formateo de tipo c, p, i

Por último 2 botones de Procedimientos sólo para administrador, que permiten:

- Chequear la integridad de de BD (si se pulsa manteniendo la tecla CONTROL pulsada, también cuenta documentos de todas las clases).

- Comprobar el campo refl de todos los conceptos de BD, es decir el mapa de referencias entre conceptos. Se cuentan las referencias en el campo refn, y graba el docn en  todos menos en clases y búsquedas, que sería muy lento en algunas bases. Pulsando el botón con CONTROL, se crean los conceptos referenciados inexistentes y con MAYÚSCULAS; se eliminan las referencias no existentes.

 

Persiana Índice de texto

define que se haga un índice de BD para búsquedas en lenguaje natural. Al especificar un conjunto de campos en Campos a indizar y peso, aparece en la esquina superior derecha de las páginas un control para introducir las palabras a buscar.

La herramienta de indización admite una lista de campos procedentes del conjunto de todas las clases de la BD.

Se aplica a los textos recopilados las siguientes reglas:
- Se monta el campo de texto para buscar y el índice de texto completo con los campos res (resumen), tex (texto), y todos los res de todos los campos referencias (en el campo refl).
-- Da un peso a cada campo de BD para todos los registros (config. por administradores en el campo de Base > Base > Índice de texto), con una definición como:
{"res":10,"tex":3,"otrden":1,"dirsit":1}
divide el valor obtenido de multiplicar el nº de términos coincidentes por su peso, entre el nº de términos en cada campo.
- Ignora diacríticos ("stop-words" de cada lenguaje como preposiciones, conjunciones...) e ignora diferencia entre mayúsculas/minúsculas
- No filtra clases, salen todas
- Muestra los 20 primeros resultados de la búsqueda (configurable en aplicación).
- En la versión 3.2 de los índices de texto de mongoDB (jul-2016), se soportan 19 idiomas.

 

Persiana Encriptación (si está activa en la persiana General)

Permite introducir la clave de encriptación de campos protegidos, si se introduce correctamente, permite visualizar los datos que se han introducido en los campos que consideramos sensibles, marcados como encriptados. En caso de no introducir la clave, se puede acceder a toda la base, pero no visualizar los datos (ni siquiera a bajo nivel, directamente recuperando la información de la BD mongoDB).

Con la clave activa, el icono cambia a color naranja de edición, y se puede ver y editar el contenido de los campos encriptados.

 

Persiana Espacios (si en la BD existe la clase)

Incluye variables globales a toda la base para la configuración del uso de espacios en el mapa, como el EPSG o sistema de referencia que se aplica a todas las georreferencias de la BD. Aquí están los CRS habituales:

EETRS89 / UTM zone 29N [ projected ] [ EPSG:25829 ]

ETRS89 / UTM zone 30N [ projected ] [ EPSG:25830 ]

ETRS89 / UTM zone 31N [ projected ] [ EPSG:25831 ]

ETRS89 [ geographic 2D ] [ EPSG:4258 ]

EED50 / UTM zone 29N [ projected ] [ EPSG:23029 ]

ED50 / UTM zone 30N [ projected ] [ EPSG:23030 ]

ED50 / UTM zone 31N [ projected ] [ EPSG:23031 ]

ED50 [ geographic 2D ] [ EPSG:4230 ] Antiguo European Datum de 1950, ya obsoleto

WGS 84 / UTM zone 29N [ projected ] [ EPSG:32629 ]

WGS 84 / UTM zone 30N [ projected ] [ EPSG:32630 ]

WGS 84 / UTM zone 31N [ projected ] [ EPSG:32631 ]

WGS 84 [ geographic 2D ] [ EPSG:4326 ] Sistema Mundial para dispositivos GPS

 

La relación de los códigos más utilizados en España (de la Junta de Andalucía).

Para buscar la zona UTM adecuada, tenemos esta tabla:

zonas UTM

Los campos zum máximo y mínimo, permiten que las coberturas de mapas no muestren errores al intentar profundizar demasiado o que se muestra la primera vista demasiado "lejos".

El Sufijo búsqueda de direcciones especifica el ámbito del campo Búsqueda que hay en la persiana de mapa,, donde podemos poner la dirección de una calle, que se buscará mediante Google Maps con el sufijo que se ponga aquí, por ejemplo "Madrid, España".

 

Persiana Operaciones

Tiene un conmutador para seleccionar si que quiere que las tareas de todas las operaciones se organicen por espacios.

 

Persiana Procedimientos (si en la BD existe la clase)

En los campos de clase, bajo la persiana Presentación, se muestra otra de campos comunes a todos los procedimientos de la base:

Tema de color permite seleccionar de entre una lista un tema para aplicar a encabezados, celdas, etc. donde se utilice la cabecera de informes estándar.

Icono principal y secundario,, admiten nombres clave para poner los iconos especiales de "Ingra" e "Ingrid", o un nombre de archivo relativo al directorio \ima del proyecto para poner un logotipo en los informes a izquierda y derecha de la cabecera.

 

Persiana Gráficos (si en la BD existe la clase)

En los campos de clase, bajo la persiana Presentación, se muestra otra de datos de configuración comunes a todos los gráficos de la base:

Al insertar un gráfico (bien con el botón del panel gráfico de cualquier concepto, o bien arrastrándolo sobre el panel gráfico), si el archivo es una imagen y supera la Dimensión máxima de alta, se copia la imagen en el directorio \original de la BD, y se crea una versión en el directorio \alta con el límite impuesto (limita ancho o alto en pixeles). Sino, el original insertado tiene un tamaño razonable para trabajar con él y es el que se copia en el directorio \alta.

Además al insertar una imagen en BD siempre se genera una versión en el directorio \media y otra en \baja (diapositiva) con los tamaños impuestos en los otros campos: Media Resolución y Baja resolución. Si no se especifican tamaños, los valores de defecto son 256 y 86 pixeles, respectivamente.

 

Además se puede establecer un límite de Tamaño máximo de archivos en MB para cualquier tipo de archivo (esta limitación también se aplica a los arrastrados a concepto Directorio), y concretamente otro Tamaño máximo imágenes JPG, que se aplica sólo a estos archivos.

Una última opción, indica si en el panel de Gráficos se Presenta inicialmente la imagen de media de la primera imagen, sin tener que seleccionar la diapositiva.

 

Persiana Bancos (si en la BD existe la clase)

Banco para redondeos, permite especificar el que se usará y además rotula el especificado. Estos redondeos se pueden producir en un ajuste de línea de detalle calculado automáticamente, por ejemplo al crear una factura recibida a partir de un importe y un IVA, y que calcula el importe neto. Este número puede no ser representable exactamente y daría un céntimo de redondeo, que se acumularía en el banco especificado.

Chequea saldos: Al visualizar los datos de un banco (mes o año), calcula los el importe desde el saldo del periodo anterior

Chequea pagos: examina y corrige la relación entre conciliaciones de los movimientos con movimientos de otros bancos y con cobros/pagos de documentos factura (emitidas y recibidas):
 - Si hay una referencia a una línea de otro banco y en aquella no hay referencia a ninguna, y los importes coinciden, se repara la otra línea de banco apuntando a la actual. Si está apuntando a otra línea de banco, se elimina la relación en el movimiento del banco actual.

 - Si hay referencia a un pago/cobro en una factura, coinciden en importe y la línea de pago no apunta a ningún movimiento, se corrige poniendo en la línea de documento el actual. Si el movimiento apunta a otro movimiento, se elimina la relación en el actual (queda pendiente de conciliar).

 

Persiana Asientos contables (si en la BD existe la clase)

Chequea asientos, comprueba los creados que tienen asientos sin importe y los cuelga de una carpeta car..err para poder ir recorriéndolos y corregirlos.

 

Persiana Documentos (si en la BD existe la clase)

Entidad de defecto y Recurso de defecto, permite establecer ambos (y los rotula cuando se ha especificado), para usarlos cuando se crean documentos automáticos. La entidad es la que emite y recibe documentos y el recurso se usa para redondeos, etc.

Chequea documentos comprueba y corrige la consistencia, es decir, que sus listas de pagos tengan correspondencia en líneas de bancos (doclin). Si alguno no la tiene, se elimina la conciliación del pago, con lo que el documento queda abierto y podemos localizarlo con las auditorías para corregirlo.

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Las 3 persianas siguientes, muestran datos de la BD ingrid-comun:

Persiana Clases comunes (admin y expertos)

Vea el tema Cabecera de base: Persiana Comun

Persiana Búsquedas comunes

Estructura de árbol de conceptos desde la carpeta car.bus.comun de la BD ingrid-comun. Permite navegar por esa estructura en todas las bases, como si los procedimientos y conceptos de búsqueda fueran de la base actual, y se ejecutan contra los datos de la base actual. 

Persiana Procedimientos comunes (admin y expertos)

Similar a la anterior, pero mostrando los procedimientos de la carpeta car.pro.comun de la base ingrid-comun, que en su mayoría son funciones administrativas de tratamiento de gráficos, mapas, importaciones y exportaciones...