Diferencia entre revisiones de «Escritos»
(→Firmando escritos) |
(→Firmando escritos) |
||
Línea 101: | Línea 101: | ||
... | ... | ||
... | ... | ||
− | <#=Firma.&Sede>, <#=Firma.&Fecha> | + | <#=Firma.&Sede>,<#=Firma.&Fecha> |
<#=Firma> | <#=Firma> |
Revisión del 13:46 8 ene 2009
Contenido
Introducción
A la hora de crear un documento en ODL es necesario hablar de ciertos conceptos que intervienen en este tipo de operaciones. Por
un lado están las definiciones de componentes documento
y plantilla
, y por otro lado existe un formato de fichero .rtf (Rich Text Format) que contendrá la información del escrito. Este tipo de ficheros ofrece la posibilidad de declarar marcas en el contenido, de forma que esas marcas sean sustituídas por campos que provienen, en este caso, de nuestro código ODL. Veamos con más detalle cada uno de los conceptos:
Componente documento
La definición de documento se realiza a nivel de contenedores. Este componente lo definiremos en aquel contenedor en el cual queramos que aparezca la opción de elaboración de escrito. Para esta definición existe sólo un atributo, plantilla_documento
, que especificará el fichero .rtf asociado. En ODL, el recurso contenedor sólo permite una definición de documento, por lo que no podremos generar varios escritos a raíz de un mismo objeto.
Componente plantilla
Es un componente de ODL donde definiremos, mediante secciones, los campos a rellenar en el fichero .rtf. La plantilla tomará los valores de los campos mediante referencia.
Pero, ¿y cómo sabe la plantilla a qué documento tiene que enviar esos campos?
Existe un atributodocumento
donde especificaremos la definición de la componente documento que, a su vez, tendrá declarado el nombre del fichero .rtf. Podríamos decir que la componente documento actúa como puente de comunicación entre la plantilla y el documento .rtf.
Rich Text Format
Es el formato que utiliza egEasy para la creación de escritos. Este formato permite definir unas marcas o tags, de forma que podamos crear un escrito dinámico, cuyo resultado o contenido puede variar en función de la información contenida en un objeto.
Ejemplo básico
Aprovechando el ejemplo utilizado en el artículo Contenedores, vamos a incluir código ODL para que podamos elaborar un escrito.
En primer lugar, debemos tener claro la estructura e información que contendrá nuestro escrito, para así poder definir las marcas que necesitemos. Para este ejemplo básico, y utilizando la definición del contenedor "Libro", queremos generar simplemente una ficha con los datos de un objeto "Libro". Por tanto, necesitaremos elbaorar un fichero .rtf con el contenido y sus marcas, definir la componente documento en el tipo de contenedores que nos interese elaborar los escritos y, finalmente, definir la plantilla con los campos correspondientes. Veamos pues cómo definimos las marcas en nuestro fichero .rtf para que al elaborar el escrito, se traduzcan en valores concretos:FICHA DEL EJEMPLAR Nº <#=Código> Título: <#=Título> Autor: <#=Autor> Tipo: <#=Tipo>
Esta es la marca más básica que puede integrar un documento .rtf. Su sintaxis, <#=Nombre_del_campo>, es muy simple. La marca completa será sustituída por el valor del campo que indiquemos, y para eso, el nombre debe coincidir con el campo incluído en la plantilla. Una vez creado el documento .rtf, tenemos que declarar la componente documento en el contenedor desde donde queremos que se lance la orden de "Elaborar escrito":
tipo
[Libro]es
contenedor
[Datos]es
formulario
... ... ...fin
[Escrito]es
documento
-plantilla_documento
="Escrito_001.rtf"
fin
fin
Como ya explicamos anteriormente, en el atributo plantilla_documento
especificamos el documento .rtf con el que se va a generar el escrito. Veamos cómo se refleja el código insertado en la herramienta egExplorer:
Como vemos, nos aparece una pestaña nueva al abrir un objeto de tipo "Libro", que obtiene el nombre de la definición de documento
. En esta instancia del objeto, podremos elaborar y abrir los escritos que se generen.
Ahora solamente nos falta definir la componente plantilla
. Esta componente, no hay que definirla dentro de un contenedor como la definición de documento
, sino que declararemos un tipo
plantilla
como código independiente de cualquier definición de contenedor.
Hemos incluído los campos que se corresponden con las marcas definidas en el fichero .rtf y que serán los encargados de almacenar los valores del objeto que luego sustituirán a las marcas en el .rtf.tipo
[Elaborar Escrito]es
plantilla
-documento
= [Libro].[Escrito]; [Campos a rellenar]es
seccion
[Enlace]es
variable
-vinculo.definicion
= [Libro]; -edicion.modo
= referencia; -edicion.valor
= [&Dominio]; [Código]es
texto
-edicion.modo
= referencia; -edicion.valor
= [Enlace]->[Datos].[Código]; [Título]es
texto
-edicion.modo
= referencia; -edicion.valor
= [Enlace]->[Datos].[Título]; [Autor]es
texto
-edicion.modo
= referencia; -edicion.valor
= [Enlace]->[Datos].[Autor]; [Tipo]es
texto
-edicion.modo
= referencia; -edicion.valor
= [Enlace]->[Datos].[Contenido].[Tipo];fin
fin
Como habrás observado, hay definida una variable. En este caso, la variable obtiene el valor [&Dominio], cuyo valor será la ubicación del recurso, en este caso, la ubicación del contenedor "Libro". Su declaración no es estrictamente necesaria, ya que podríamos eliminar la variable y sustituir la referencia a los campos de esta forma, [&Dominio]->[Datos].[Campo].
Veamos entonces cómo se produce la obtención de valores por parte de la plantilla y su posterior sustitución en el .rtf:Una vez aceptado el cumplimentado, se abrirá el documento con los valores intercambiados. El documento ya estará creado, y el resultado sería el siguiente:
FECHA DEL EJEMPLAR Nº 0008
Título: ASP.NET con AJAX Autor: Rama Krishna Tipo: Científico
Firmando escritos
En los sistemas de información, es una tarea común firmar los escritos o informes que se generan. Para ello, ODL proporciona un campofirma
que ofrece la posibilidad de insertar firmas en los escritos.Para poder insertar firmas en un escrito, es necesario previamente asignar una imagen al usuario que tiene asignada dicha tarea. La selección de una imagen asociada a un usuario se hace mediante la aplicación egAdmin en formato .bmp. Además de esta imagen, cada usuario tiene asociados ciertos datos que serán los valores que tomen las propiedades de un campo firma.
Estas propiedades son las siguientes:- Fecha: indica la fecha en la cual se realizó la firma.
- Usuario: nombre del usuario que realizó la firma.
- ID_Usuario: identificador del usuario que realizó la firma.
- Sede: sede del usuario que realizó la firma.
- Pie_de_firma: delegación de responsabilidad a la cual pertenece el usuario que realizó la firma.
- Cargo: cargo del usuario que realizó la firma
- Valor:
¿Para qué nos pueden servir estas propiedades?
Aparte de la firma, es normal encontrarse en los escritos con rúbricas que hacen alusión a ciertos rasgos del firmante y que complementan a la firma.Vamos, por tanto, a ver las marcas necesarias para poder firmar un escrito y añadir información adicional del firmante:
FORMA DE FIRMAR UN DOCUMENTO<#=Firma>
Contenido del documento... ... ... ... <#=Firma.&Sede>,<#=Firma.&Fecha>