Atributos
Atributos de las definiciones de campo
actualizar_escrito
Atributo que permite la edición de un campo y su posterior sustitución por la marca en el escrito, una vez el objeto está protegido. Es un atributo lógico, cuyo valor por defecto es falso
. En caso de querer activarlo, se le asignará el valor verdadero
. También permite la asignación de una expresión que devuelva un valor lógico.Hay que tener en cuenta que cuando un objeto está protegido, los campos no se pueden editar. Para poder hacerlo es necesario incluir el atributo edicion.proteger
, que permite la edición de un campo aunque el objeto esté protegido.
apariencia.altura
apariencia.desplegable
Indica si los valores que puede obtener un campo pueden aparecer en forma de desplegable. Es de tipo lógico, aunque no admite expresiones lógicas.Este atributo, debe ir a compañado de otro atributo llamado edicion.valores
, que contendrá los valores a seleccionar en el desplegable. De lo contrario, provocará un error de compilación.
apariencia.proporcion
certificado.estado
Atributo que actúa exclusivamente en campos de tipo timbre
. Si le asignamos protegido
indicaremos que una vez timbrado el objeto, éste se protegerá, de forma que no se podrá editar ningún campo del objeto.
certificado.secuencia
Atributo oculto de un campo timbre
(no permite ninguna asignación a nivel del programador) que adquiere el valor siguiente al valor actual de la secuencia en formato texto. Su valor, podrá ser asignado accediendo a la propiedad [&Valor_secuencia]
. En caso de incluir el atributo certificado.secuencia.longitud
en la definición del campo timbre, los dígitos que aún no se utilicen para formar el valor de la secuencia se mostrarán como ceros a la izquierda.
certificado.secuencia.nombre
Atributo para especificar el nombre de la secuencia en un campo timbre
. El valor a asignar es de tipo texto.
certificado.secuencia.longitud
Atributo para indicar el número máximo de caracteres que aceptará la secuencia de un campo timbre
. Se indicará mediante un valor entero.
certificado.subsecuencia.valor
Una subsecuencia se utiliza para reiniciar la secuencia cuando el valor de la subsecuencia cambie. Es decir, no funciona como una secuencia, en donde se van adquiriendo valores correlativos, sino que adquiere un valor, y en el momento que cambie dicho valor, el atributo certificado.secuencia
se reiniciará.El valor a asignar a este atributo será de tipo texto, pudiendo utilizar expresiones más complejas que devuelvan una ristra mediante funciones de librería, por ejemplo.
Es posible acceder al valor de este atributo mediante la propiedad del campotimbre
, [&Valor_subsecuencia]
.
certificado.subsecuencia.longitud
Al igual que el atributo certificado.secuencia.longitud
, sirve para indicar el número máximo de caracteres que aceptará la subsecuencia de un campo timbre
.
certificado.valor
Es el atributo que contiene el valor que obtendrá el campo timbre una vez timbremos el objeto y lo guardemos. Podemos asignar expresiones de tipo texto, usando funciones de librería y accediendo a las propiedades del propio campo timbre [&Valor_secuencia]
y [&Valor_subsecuencia]
.
A continuación, veamos un ejemplo en el que podamos reflejar todos los atributos explicados. Se recomienda, antes de observar el ejemplo, que se estudie todos los atributos relacionados con los campos timbre:
En este ejemplo, queremos que el código de cada expediente sea, primero el año en el que se dio de alta el expediente, y luego el valor de la secuencia, separados por un guión.tipo
[Expediente]es
contenedor
[Datos generales]es
formulario
[Número de expediente]es
timbre
-certificado
.subsecuencia
.valor
= ($texto($Año($Hoy)); -certificado
.subsecuencia
.longitud
= 4; -certificado
.secuencia
.nombre
="SECUENCIA_ENTRADA"
; -certificado
.secuencia
.longitud
= 4; -certificado
.valor
= [&Valor_subsecuencia] +"-"
+ [&Valor_secuencia]; [Fecha]es
fecha
[Centro gestor]es
texto
[Órgano competente]es
texto
...fin
fin
En primer lugar hemos definido la subsecuencia. Ésta tomará el año de la fecha actual, y la transformará a texto mediante la función $texto
. A continuación hemos definido la longitud máxima de caracteres que podrá admitir la subsecuencia con valor 4, de forma que cuando se llegue al año 10000, se producirá un error.
certificado.secuencia.nombre
y una longitud, en este caso 4. El atributo oculto certificado.secuencia
irá obteniendo valores a medida que se vayan creando expedientes, y se reiniciará cuando el valor de certificado.subsecuencia.valor
cambie.Por último, sólo nos queda indicar la expresión de tipo texto en el atributo certificado.valor
, que como ya hemos dicho, tendrá el formato año-secuencia. ¿Cómo hacemos esto? Pues para mostrar el año al principio, necesitaremos acceder al valor de la propiedad "Valor_subsecuencia". Añadimos el guión, y finalmente accederemos al valor de la propiedad "Valor_secuencia".
edicion.aspecto
Este atributo sirve para especificar el modo visual en el que se muestran los caracteres de un campo. Su valor por defecto es normal
, pudiendo tomar también los valores minusculas
, para visualizar el campo en minúsculas, o mayusculas
, para visualizarlo en mayúsculas, independientemente de cómo se inserte el carácter en cualquier caso.Actúa en campos de tipo texto
, aunque también es posible definirlo en campos de tipo código
y de tipo vínculo
, pero su definición afecta a la propiedad [&Rotulo]
de dichos campos:
... ... [Nombre]es
texto
[Primer apellido]es
texto
-edicion.aspecto
= mayusculas; [Segundo apellido]es
texto
-edicion.aspecto
= minusculas; ... ...
edicion.formato
Atributo para especificar el formato que queremos aplicar a un valor de tipo texto de un campo. La forma de establecer el formato se realiza mediante las máscaras de edición de Delphi.
edicion.longitud
Atributo de valor entero para establecer un número máximo de caracteres en el campo. Su valor por defecto es ilimitado, es decir, podremos introducir todos los caracteres que queramos.
edicion.mensaje
Permite la aparición de un mensaje en un campo a modo de ayuda al usuario, antes de que se introduzca ningún valor. Por tanto, los valores asignables serán de tipo texto o toda expresión que devuelva un valor de tipo texto.
... ... [DNI]es
texto
-edicion.mensaje
="[NO INTRODUCIR LA LETRA]"
; ...
edicion.modo
El atributo edicion.modo
nos permite especificar de qué modo se obtendrá el valor de un determinado campo. Existen cuatro modos distintos de edición: normal, sugerencia, referencia y copia. Su valor por defecto es normal, es decir, el valor será introducido por el usuario.El modo sugerencia se utiliza para sugerir el valor que puede adquitir un campo. Para ello, se debe especificar en el atributo edicion.valor
, el valor a sugerir. Este valor se puede obtener de otros campos, o bien de una expresión que incluya, por ejemplo, funciones de librería. La expresión definida en edicion.valor, se comprobará cada vez que se indique sugerir el valor.
El modo referencia, al igual que el anterior, necesita la definición del atributo edicion.valor
. En él incluiremos la ruta del campo de donde se toma el valor, o bien, una expresión que nos devuelva un valor.
es un atributo que debe ir acompañado de edicion.valor. de esta forma, el atributo edicion.modo especificara de que forma se tratara el valor indicado en edicion.valor. su valor por defecto es normal. en modo sugerencia, el valor adquirido en edicion.valor se mostrara como sugerencia en el formulario, pero el campo se podra editar.
en modo referencia, el campo adquirira el valor de edicion.valor, se podra editar el campo, pero en caso de hacerlo, se modidicara el valor de origen. en modo copia, adquirira el valor de edicion.valor. aunque lo modifiquemos, no afectara al campo origen ya que se realiza una copia del valor (paso de parametros por valor).
edicion.precision
campo para determinar el número de dígitos que acepta la parte decimal de un campo real o un campo moneda. Su valor por defecto es 2, pudiendo asignar otro valor para mostrar más o menos decimales.
edicion.proteger
atributo para indicar si un campo es editable cuando el objeto se encuentra protegido. su valor sera logico, falso o verdadero.
edicion.regla
indica lo mismo que edicion.proteger pero cuando el objeto no se encuentro en modo protegido. indicara si el campo es editable o no, siempre y cuando el objeto no este protegido. acepta expresiones lógicas.
edicion.seleccion
edicion.valor
atributo al que podremos asignar una expresion que asigne un valor al campo en su modo de edicion. valido para los modos de edicion, sugerencia, referencia y copia.
edicion.valores
Es el atributo encargado de administrar los posibles valores que puede adquirir un campo. Los valores vienen dados en forma de matriz, por lo que tendremos que utilizar la función $Matriz(<code>"ValorA"
,"ValorB"
)</code>, o bien realizar una consulta sobre una base de datos con la función $MatrizSQL(<code>"sentencia SQL"
)</code>.<p>Si queremos que los valores aparezcan en forma de desplegable, utilizaremos el atributo apariencia.desplegable
en el mismo campo, si no, se abrirá una ventana con la lista de valores:
... ... [Sexo]es
texto
-apariencia.desplegable
= verdadero; -edicion.valores
= $Matriz("Hombre"
,"Mujer"
); ... ...
lista_comprobacion.inicializar
moneda.defecto
atributo para determinar la moneda de un campo de tipo moneda. su valor por defecto es euro, en forma de ristra. para asignar otra moneda se asignará como valor texto entre comillas.
reemplazar_siempre
En caso de contar con más de un campo firma en un escrito, con este atributo podemos establecer si queremos que se reemplace, una vez firmada, cada campo firma en el escrito, o si por el contrario, queremos que se reemplacen cuando todas las firmas hayan sido realizadas.Este atributo acepta los valores lógicos "falso" y "verdadero". En caso de querer ir sustituyendo una a una independientemente de las firmas que queden por realizar, asignaremos el valor "verdadero", si por el contrario queremos que se sustituyan todas una vez no falte ningún campo firma por firmar, asignaremos "falso".
Para ver un ejemplo sobre el funcionamiento de este atributo, accederemos al artículo referente a los escritos. Haz click aquí para ir al ejemplo.tabla.filas_max
numero maximo de filas en una tabla
tabla.filas_min
numero minimo de filas en un tabla
tabla.proteger_filas
no permite ni borrar filas, ni editarlas si =verdadero
vinculo.definicion
cuando declaramos un campo vinculo, tenemos que especificar el tipo de definicion del objeto que queremos vincular. evidentemente, la definicion tendra que estar definida.