sábado, 7 de octubre de 2023

Documentos. Procedimientos

DocAp combinado Calc+Writer

Por oposición a los docap simples, denomino docap complejo a aquel que se formula sobre un documento de un servicio pero también involucra al menos a otro documento del mismo servicio o de otro. En esta entrada voy a explicar cómo crear un docap (complejo) que combina una hoja de cálculo Calc y un documento Writer, posiblemente la forma más frecuente de DocAp.


La característica  que define a un docap complejo es, pues, el uso de al menos dos documentos, de lo que deriva tanto la complejidad (del código, en relación al que se necesita para crear un docap simple) como su carácter compuesto (al hacer uso de al menos dos documentos es necesario atender al correcto manejo de ambos).

En esta entrada he optado por una fórmula relativamente simple, ya que Calc soporta muy bien el uso de macros y script, así como el empleo de formularios (y sus controles) para la generación de una interface gráfica sin un incremento significativo del coste de elaboración ni de complejidad del código OOo Basic. Por estos dos motivos considero que debe ser la forma privilegiada de trabajar con docap complejos, siendo preferible a otras posibles formulaciones.

La creación de un docap Calc+Writer requiere, en lo fundamental, seguir los mismo pasos que seguimos para crear un DocAp simple sobre Calc en lo que se refiere a la forma en que se expresa la fase input. En ésta, la facilidad con la que Calc trabaja con los controles de formulario facilitan mucho la cosa, por lo que resuelve (en parte) la creación de la interface gráfica.

El acceso a los datos se realiza gracias al acceso a las celdas mediante OOo Basic, mientras que el procesamiento de los datos se realiza de modo independiente respecto a lo anterior y tiene que ver con la sintaxis de este lenguaje, de la cual ya sabemos lo suficiente.

En realidad la novedad de un DocAp complejo radica en la fase output, la cual requiere crear el segundo documento mediante código, y el paso de trabajar sobre el primero (el documento Calc) a trabajar sobre el segundo (en este caso, un documento Writer).

Toca analizar este procedimiento, empezando por la interface gráfica basada en el uso de formulario sobre Calc respecto a la cual decía antes que es mi opción preferida.

Si bien el uso de formularios en Writer presenta cierta complicación, en Calc se simplifica mucho al disponer los controles de un procedimiento específico de asociación a las celda de la hoja de cálculo, lo que ahorra trabajo de programación, ya que esta parte (la creación de la interface gráfica) cae de parte de la preparación previa del documento Calc, documento gestor por función.

El paso siguiente es acceder al contenidos de las celdas del gestor para asignar los datos a las variables y manipular su contenido según la naturaleza del documento a crear.

La fase output se inicia con la creación en un documento (en este caso Writer) desde OOo Basic, un procedimiento muy similar al que empleamos para crear un nuevo documento en otro servicio, como tenderemos ocasión de comprobar. Creado este documento-soporte, lo que viene a continuación es la escritura del resultado en forma de párrafos de texto, siendo crucial mantener el foco de la acción en el documento Writer. El resultado final es [este documento Calc] que debes descargar para acceder al IDE si quieres visualizar el código.

No hay comentarios:

Publicar un comentario

Comenta esta entrada