Mostrando entradas con la etiqueta Acreditación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Acreditación. Mostrar todas las entradas

sábado, 11 de marzo de 2023

Documentos. Acreditación.

Acreditación -8. Docap complejo (d2)

En esta entrada explico la segunda fase de la creación del documento Acreditación. Es en ella en la que, precisamente, se genera dicho documento.


No parecen necesarias más explicaciones que dadas en el entrada anterior, ya que ésta viene condicionada por razones de duración de la exposición. 

quisiera insistir en que trabajar con  marcadores nos permite prescindir del control de la ubicación inicial del cursor y de sus desplazamientos a lo largo del script, algo que era crítico en el modelo macro basado en el posicionamiento mediante tablas y celdas.

Otra cuestión de interés es mantener dos objetos abiertos (Hoja del cálculo y Documento de texto), trabajando desde una (la que contiene el script) en la otra (la que recibe el resultado de la acción del script).

Una vez finalizada esta primera fase del proyecto, interesa plantear cuáles podrían ser los desarrollo subsiguientes, cuestiones éstas que podrían necesitar más tiempo del que parece conveniente dedicar en estos momento.

Documentos. Acreditación

Acreditación -7. Docap complejo (d1)

Iniciando con lo prometido nos adentraremos ahora en el análisis del conjunto de script  que conforman esta docap.


Podemos ver en la imagen que sigue los tres módulos que componen la biblioteca Standard y los script individuales que contienen. 


  • Tenemos, en primer lugar, un módulo con script auxiliares cuyas funciones indican sus propios nombres. Dado que no se trata de script centrales del docap actual, no nos detendremos a explicar su funcionamiento.
  • El módulo CapturaDatos reúne los script cuyo cometido es recopilar la información que aporta el usuario o usuaria (fase input)
  • Y el módulo CreaDocum contiene el script que se ocupa de trasladar los datos anteriores al documento Writer que nos sirve de base para crear la acreditación.  

Además del módulo auxiliar, esta estructura revela la existencia de un proceso dividido en dos partes: el acceso a los datos y su ubicación controlada en celdas del soporte Calc y la captura del contenido de las celdas y su traslado al documento Writer.

En esta entrada nos centraremos en los script que forman parte del módulo CapturaDatos: DadosDocum y DatosAlumn; esto es, en la captura de datos del usuario 

Documentos:


sábado, 4 de marzo de 2023

Documentos. Acreditación.

Acreditación -6. Docap complejo (c)

Como paso previo para explicar el código del docap que constituye mi tercera propuesta de automatización del documento Acreditación, voy a dedicar esta entrada a explicar la estructura de elementos que componen la hoja de cálculo.


Calc es el servicio principal en este conjunto interrelacionado de servicios, y lo es por ser quien lleva la carga de gestionar el conjunto de los procesos que se desarrollan en este docap. La posición central que ocupa en la imagen siguiente reflejar esa centralidad funcional, del mismo modo que las flechas representan los flujos de interacciones que tienen lugar en el docap: Calc mantiene con Base (BD) una relación bidireccional tal y como expliqué en la [entrada anterior], y unidireccional con Writer.


Documentos:

Documentos. Acreditación.

Acreditación-5. Docap complejo (b)

Respecto a esta tercera opción, ya conocemos por la [entrada anterior] su forma básica de funcionamiento y cómo está diseñado el documento Acreditación. Ahora analizaremos el papel de la fuente de datos (BD) y cómo se relaciona con el archivo Calc.


Nuestra base de datos (AlumnNE) es la misma que utilizamos en la segunda opción (basada en Combinar correspondencia) y tiene exactamente las mismas características y la misma estructura y contiene los mismos datos; pero ahora es posible lo que en aquella ocasión no llegaba a ser recomendable: mantener una relación bidireccional con el elemento con el que está relacionada (ahora la hoja de cálculo).


Dedicaremos esta entrada a explicar esta relación que, como podrás comprobar, es de carácter bidireccional, mientras que la que se establece entre el hoja Calc y el documento Writer es unidireccional. Esa bidireccionalidad es consecuencia de que la relación se establece mediante formulario vinculado a la BD y no mediante Combinar correspondencia, que era como se establecía en el modelo B. 

Ahora, al utilizar una hoja de cálculo como servicio que intermedia entre la fuente de datos y destinatario final (el documento Writer), podemos aprovechar plenamente lo que implica esa bidireccionalidad sin comprometer las funcionalidades básicas del documento Acreditación.




Aun no hemos abordado el análisis de la hoja de cálculo, que estamos usando como sistema de gestión del docap, por lo que en el vídeo anterior no hemos atendido a nada que no sea la vinculación del formulario (de uno de los formularios) de nuestra hoja de cálculo con la BD

Al análisis al que me refiero el párrafo anterior dedicaré la próxima entrada.

viernes, 3 de marzo de 2023

Documentos. Acreditación.

Acreditación -4. Docap complejo (a)

No se puede decir que lo que presento como tercer procedimiento de automatización de Acreditación suponga un cambio radical respecto a los dos anteriores, no al menos en la lógica de programación subyacente, pero es cierto que transformar la idea en una realidad funcional sí que ha supuesto introducir cambios significativos respecto al diseño de las dos propuestas anteriores.


Para empezar la única novedad en términos de lógica de programación respecto a la segunda de las dos propuestas anteriores es introducir una hoja de cálculo entre la fuente de datos (BD) y el documento final (Acreditación). 


Partiendo de la facilidad con la que podemos conectar un formulario (y sus campos) con una fuente de datos, la idea de introducir una hoja de cálculo como elemento intermedio de conexión (entre la fuente de datos y el documento) es aprovechar la versatilidad de Calc para trabajar con formularios, facilitando la conexión entre los controles de formulario y las celdas, así como la relativa sencillez con la que admite la creación de script de acceso a las celdas.

No obstante, este planteamiento conlleva alguna que otra "complicación" respecto a los modelos precedentes: necesitamos desarrollar mucho más código sobre la hoja de cálculo y sobre el documento Acreditación. Pero también aparecen posibilidades que hasta ahora se han mantenido ocultas: usar referencias y accesos a los marcadores de texto como modo de facilitar la ubicación de los datos en el documento nos evita trabajar con tablas así como las complicaciones de los desplazamientos por las mismas.

Y no es ésta la única ventaja, aunque sí la única de la que me aprovecho en este momento. Para desarrollos posteriores queda el trabajo unificado sobre los otros dos documentos (DE e Informe) y lo que esto supone en el desarrollo de un procedimiento de trabajo que integre los tres en un único proceso de automatización, con el ahorro de tiempo que esto puede suponer...

Aunque suponga empezar la casa por el tejado me centraré en esta entrada en el cambio que para la formulación de Acreditación supone el uso de los marcadores de texto, como trabajar con ellos y cómo acceder a sus posiciones desde OOo Basic.

En el vídeo que sigue voy a explicar cómo afecta el uso de marcadores al diseño del documento Acreditación, que hace innecesarias muchas de las precauciones que debíamos adoptar en las dos propuestas anteriores: una tabla única, por ejemplo. No obstante, también  tiene sus limitaciones y bueno es conocerlas.




Documentos. Acreditación.

Acreditación. Modelo B. Combinar correspondencia.

Disponemos de otras opciones, además de Crear macros para automatizar la el documento Acreditación, por ejemplo establecer una vinculación a fuentes de datos y, a partir de ella, utilizar la función Combinar correspondencia.


En esta ocasión vamos a desarrollar dos formulaciones del mismo principio (vinculación a fuente de datos), partiendo de una tabla de una base de datos (en anteriores ocasiones hemos trabajado con hojas de cálculo como fuentes de datos) que combinaremos con un documento Writer, el que contiene el documento Acreditación. 


Ahora las entradas de Acreditación son tratadas como campos que se vinculan directamente o por medio de un formulario, con los campos de la fuente de datos (BD). 

Para ello necesitamos crear una base de datos y utilizar al menos dos de sus componentes: una tabla y un formulario. También necesitamos registrarla para que quede disponible como fuente de datos. Para todo ello es necesario contar con una serie de conocimientos previos que no son objeto de esta entrada, pero que sí parece conveniente que estén accesibles, por lo que te dejo los enlaces que siguen.

La primera opción se basa en Combinar correspondencia, funcionalidad ya utilizada en este blog, aunque con otros fines. Aunque podríamos haber utilizado este mismo procedimiento, en realidad sólo encaja con los contenidos de la tabla 1 (Datos personales...), la cual ha servido de base para crear la tabla Alumnado de la BD. El resto del documento queda para ser cumplimentado mediante el procesador de textos, aunque caben otras opciones.

La segunda forma se basa en la vinculación entre la base de datos (y su tabla Alumnado) y los controles de un formulario que utilizamos también para cumplimentar la tabla 1 de Acreditación. La diferencia es que también empleamos controles de formulario para facilitar la entrada de datos de otros "campos", aunque no vinculados a la tabla Alumnado. Aunque esta fórmula parece un avance sobre Combinar correspondencia, presenta algunas limitaciones que no la hacen especialmente recomendable.

Para finalizar, y a modo de síntesis he desarrollado una tercera opción que se basa en las dos anteriores: mantengo Combinar correspondencia para cubrir la tabla 1, pero también uso controles de formulario para cumplimentar otros campos (no vinculados a la BD), e incluso propongo el uso directo del procesador de textos como herramienta para cubrir determinados campos. El resultado es una solución satisfactoriamente funcional, conseguida sin hacer uso de OOo Basic o de Grabar macro, lo que puede ser un aliciente para quienes no estén interesado en adentrarse en el mundo de la programación.

Documentos:
NOTA Una mala noticia: no está garantizado el correcto funcionamiento de los vínculos de la BD a los campos utilizados en A ni a los controles de B, dado que la BD no forma parte de las bases de datos vinculadas en tu sistema. Deberás vincular esta base de datos y restablecer las conexiones en los documentos modelos.
 

jueves, 2 de marzo de 2023

Documentos. Acreditación

Acreditación -3. Docap basado en macros (c)

La funcionalidad Grabar macro ha permitido crear un código mediante el cual podemos escribir contenido en cada uno de los campos del documento Acreditación. Las modificaciones posteriores nos han permitido obtener un código funcional y limpio en cuanto a su estructura. Esto permite otras posibilidades de mejora. Pero hasta este momento, no hemos resuelto una cuestión básica: facilitar al usuario la entrada de datos y resolver esto obligando al usuario acceder al IDE y modificar el código (args.valueargumento por argumento no parece una opción aceptable.

Lo malo es que esa es precisamente la solución que, en sentido estricto, podemos esperar del uso de Grabar macro: si queremos ir más allá, deberemos recurrir a nuestros conocimientos de OOo Basic para crear el código de input interactivo.


Podemos resolver este problema mediante la creación de variables String y el uso sistemático de InputBox() para crear un sistema de entrada de datos (input) que convierte nuestra macro en un script, permitiendo al usuario introducir los datos necesarios para cumplimentar el documento Acreditación.

Siguiendo este procedimiento hemos conseguido que Grabar macro sea la base para la creación de un docap de composición del documento Acreditación. Del mismo modo podremos crear un docap para el automatizar los documentos Dictamen e Informe (aunque este último únicamente su carátula).

Si optamos por este procedimiento (macro) posiblemente sea conveniente mejorar su funcionamiento y trabajar con más detalle su estructura, sustituyendo (por ejemplo) la linealidad por la modularidad, esto es: haciendo uso de subrutinas y funciones como alternativa a la secuencia repetitiva que presenta el código actual.

Ahora no me voy a detener en realizar estos cambios, ya que prefiero avanzar presentando otras opciones y me reservo las propuestas de mejora del código para más adelante. 

Lo que sí voy a hacer es dejarte el [docap resultante] de este proceso por si te interesa. Corre de tu cuenta realizar las mejoras que consideres, aunque es de esperar que funcione perfectamente tal y como está.


Documentos. Acreditación.

Acreditación - 2. Docap basado en macros (b)

Una que hemos [creado la macro] necesitamos adaptarla para que nos permita introducir los datos necesarios, dotando al docap de capacidad interactiva. Para ello deberemos modificar el código generado desde Grabar macro.


El trabajo que toca ahora tiene tres objetivos:

  • Eliminar el código "basura" para mejorar el rendimiento de la macro.
  • Estructurar el contenido de la macro para facilitar su comprensión.
  • Generar procedimientos específicos de entrada de datos para dotarle de interactividad.


Las dos primeras partes, aunque necesarias, carecen de interés para lo que ahora nos importa, por lo que las trataré someramente en el vídeo que acompaña a esta entrada, pero la tercera hace necesario que nos detengamos en ella, por lo que bien se merece una explicación que puedes ver en [el vídeo que acompaña esta entrada]



miércoles, 1 de marzo de 2023

Documentos. Acreditación.

Acreditación -1. Docap basado en macro (a)

No puedo asegurar que esta sea la primera alternativa disponible, pero grabar una macro está dentro de las opciones que ya hemos trabajado en este blog como posible forma de automatizar procesos y constituye una evolución lógica de la propuesta de crear un documento-modelo personalizado, puesto que se basa en el mismo principio y supone aplicar una funcionalidad disponible dentro del servicio Writer.


Bueno, lo anterior no es del todo cierto: hacer una macro con Grabar macro no resuelve el problema, pero sí supone un paso en la buena senda... en una de las posibles sendas...

Además, antes de crear la macro es necesario realizar algunas modificaciones al documento original por eso de lo dicho en el [vídeo que acompaña a la entrada]. Es conveniente que el documento cuente con una única tabla para simplificar los desplazamientos... también eliminar los vestigios del uso manual del mismo.


.