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.