Definición de Campos. Modificadores

Esta columna es una de todas las que permite definir campos en el modelos de datos de Ingrid (las Clases), y también cambiar algunos de los campos predefinidos.

Matizan el comportamiento del campo según su Tipo, permitiendo cambiar dónde se muestran (fichas, listas...), cómo se alinean, cómo se muestran según el valor que tienen, su comportamiento, etc.

Modificadores de campos de clases

En la base de ejemplo test-campos, el concepto modificadores.bloque1 es un ejemplo de uso de todos los modificadores para los tipos.

Al seleccionar en un campo de una clase (línea) esta columna, se despliega un menú para seleccionar de entre todas las posibilidades. Además se puede editar el texto que resulta de una acumulación de modificadores.

Los valores tras la letras del modificador indican el valor de defecto, o sea, f es igual que f1.
Permite gestionar la apariencia, visualización o no y la funcionalidad del campo cuando aparece en distintos componentes de una página:
- a, alineación (0:izq 1:centro 2:der) no tiene valor de defecto porque depende del tipo del campo: las textos se alinean a la izquierda y los enteros a la derecha, por ejemplo, pero podemos forzar otro.
- A0, parámetro avanzado (ver en campos SÓLO de informes)
- b1, mostrar en el formulario de búsqueda de su clase
- c0, permite rotular los valores 0 en los campos numéricos (los ceros numéricos se guardan en BD, pero por defecto no se visualizan)
- C, clicable, en el caso de que el dato muestre un icono, booleano, etc. permite forzar si se puede hacer clic en él o no
- d redibuja o refresca el campo/línea/tabla/ventana cuando cambia. Útil para cuando se programan campos evento dependientes de este campo, al cambiar debe refrescarse la línea o la tabla para actualizar los campos con evento. d2 refresca en una lista todos los campos de toda la línea
- e, establece la editabilidad, heredada de los permisos que tenga el usuario para la clase
- E0, campo encriptado a través de una clave de cifrado
- f1, mostrar el campo en la ficha de concepto
- h1, mostrar en el historial
- i1, considerar imprimible el campo cuando se utilizan informes con funciones que tienen en cuenta ese valor, así se puede personalizar qué datos aparecen en el informe de ficha o lista
- m1, memorizar parámetro (ver en campos SÓLO de informes)
- M0, campos múltiples en selecciones, referencias a conceptos y clasificaciones (tipos s, #, >). Permiten hacer referencia a varios conceptos, aunque solo se muestra en _id en el campo, no el resumen
- o0, oculto por defecto en tablas (listas). El campo con o1 se mostrará seleccionable para visualizar en el menú contextual de cabecera de las listas, pero no aparece inicialmente, ni tampoco al seleccionar la opción Presenta defecto del menú contextual
- p0, mantener la posición original al redefinir un campo de una superclase en una clase. Los campos se redefinen para cambiarlos la clase, forma de visualización, o posición - r1, mostrar en la persiana Referencias del concepto al que apunta. para campos de Tipo referencia (>). Se muestra en la página del concepto al que apunta, como una lista o tabla de conceptos que hacen referencia a aquel.
Ejemplo completo de uso en la Base de ejemplo: test-referencias. r0 oculta la persiana de referencias en la ficha de clase a la que apunta, r1 la muestra sin edición (excepto para usuarios admin y G1), r2 la muestra editable y r3 la muestra 'insertable' (se pueden añadir líneas).
ATENCIÓN:  Si en un campo de tipo referencia se pone el modificador r0 para que los objetos de esa clase NO aparezcan en la persiana de referencias de los que apuntan, hay que recalcular las referencias de la base, porque no se hacen en tiempo real. Lo puede hacer un administrador en modo admin, desde el botón Menú > Base > General > Procedimientos > Cuenta referencias
- R0, campo requerido, obligatorio por ejemplo en campos de medidas para poder cerrar una tarea
respecto a los otros campos
- s0, para que tablas de relaciones y de descomposiciones (incluso campos $), calculen, muestren y refresquen totales a pie de lista (como tienen en líneas de descomposición de documentos)
- t1, mostrar como columna en tablas (lista de conceptos)
- T, trazabilidad. Ver su uso un poco más abajo, al final de los modificadores

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

- T* Trazabilidad, está pensado para campos de tipo fecha o fecha-hora, que marcarán el hito de cierre de un bloque de campos seguidos y que suponen una fase documental. Los posibles valores:

- T1, oculta campos siguientes y al procesar, bloquea (quita edición) campos hasta el anterior campo traza. La acción de pulsar el botón (con el nombre que se haya definido) introduce el valor de la fecha y hora actual.T2, oculta campos anteriores y bloquea el flujo de trazas, no continúa con las siguientes, sirve para interrumpir el proceso documental.
- T5, es la traza modo 1 pero permite edición del dato: se introduce la fecha tecleando, o con la máscara punto (.) que introduce la actual, no es automático.
- T6, lo mismo (campo editable) para traza modo 2.

Sólo a los usuarios del grupo expertos (g1) les aparece en cada hito cerrado un botón Retroceder para para deshacer consecutivamente los cierres en caso de que haya que modificar los datos.

Resumiendo el funcionamiento de las trazas de modo 1 y 2:

modo1!    modo1!!  sin dato, con dato. Sin dato oculta posteriores, con dato no edita anteriores
R! Re Rv    R! Re Rv   sin Restricciones, restric. de edición, restric. de visualización
e  v  -    v  v  -  campos anteriores (editable, visible o no visible)
e  -  -   e  v  -  campo traza
-  -  -   e  e  e  campos posteriores

modo2!    modo2!!   sin dato, con dato. Sin dato no hace nada, con dato bloquea ant. y oculta post.
R! Re Rv    R! Re Rv    sin Restricciones, restric. de edición, restric. de visualización
e  e  e   v  v  -   campos anteriores
e  -  -  e  v  -   campo traza
e  e  e  -  -  -   campos posteriores

 

El grupo de usuarios que no tenga restricciones y pueda editar cada hito, también puede en caso de error, volver atrás con el botón que aparece al lado del campo, hasta el hito anterior.

IMPORTANTE! esto puede dar lugar a situaciones en las que un usuario "interfiera" en la edición de otro que está modificando el hito siguiente. Por ejemplo:
1. un operario rellena su parte y lo cierra
2. el inspector lo tiene para inspeccionar y toma alguna nota, pero no lo cierra
3. el operario se da cuenta de un error y lo abre
en ese momento el inspector vuelve a entrar para cerrarlo, pero se lo encuentra en estado "pendiente de cerrar por el operario", no tiene acceso momentáneamente a los datos que introdujo, ni le aparece como pendiente de inspeccionar hasta que el operario no la cierre de nuevo.

Modificadores SÓLO de parámetros de procedimientos

Hay otras columnas en la definición de campos que SÓLO SON APLICABLES A CAMPOS DEFINIDOS COMO Parámetros de procedimientos, no se aplican a los de una ficha o lista de conceptos:

Modificadores

- A, parámetro oculto en el modo avanzado. Cuando hay al menos uno, se muestra en la esquina sup. derecha de la persiana parámetros el botón.
- m1, memorizar contenido en la instancia del navegador; por defecto se guarda el último valor introducido en un parámetro de informe para usarlo las siguientes veces que lo ejecutemos. Si algún parámetro no se quiere guardar, por ejemplo una fecha que siempre cambia, usar m0.
- x, ejecutable. Se usa principalmente en campos botón, para forzar la recarga de parámetros, ya que se lanza la función inicia() que puede utilizar el informe.

Procesa

Permite especificar un código javascript que se ejecuta dentro de una función function (bas, pro) { ... } para cargar un valor o bien ocultar un parámetro, ya que está hecho para que cuando sea el resultado sea indefinido (undefined), no se muestre.

Por ejemplo, en el informe común pro.pre.exporta, en el campo en que se indica el nº de certificación con el que ejecutar el informe, se define el código JS: if (bas.cab.cerl) return ingrid.memoria.cera||bas.cab.cerl.length

que comprueba si hay definidas certificaciones, y pone en el parámetro la guardada en memoria al usarlo la última vez o bien la última certificación definida.