[RESUELTO] (Botón) Imprimir correspondencia del formulario

Discute sobre las herramientas de la base de datos
Responder
Sevillisto
Mensajes: 18
Registrado: Mar Nov 21, 2017 1:39 pm

[RESUELTO] (Botón) Imprimir correspondencia del formulario

Mensaje por Sevillisto »

Buenas!! Tengo una base de datos con más de 4000 registros, y necesito un botón que, al pulsarlo, imprima en documento de texto según los campos que aparezcan en el registro que estamos mostrando.

Por ejemplo, si estamos en el registro 30 y éste contiene (ejemplo ficticio) nombre y asunto, que en ese documento de texto se refleje por ese registro ese nombre y ese asunto, y éste se pueda imprimir.

Esa acción es la que quiero realizar con un botón en un formulario, donde nos plantemos en un registro concreto y cuando le demos al botón nos salga el documento writter con los valores de los campos de ese registro y nos de la opción de imprimirlo.

Si no entienden algo de mi explicación, os lo iré aclarando. Gracias de antemano.
Última edición por Sevillisto el Lun Mar 05, 2018 7:50 am, editado 3 veces en total.
OpenOffice 4.1.2 en Windows 7

Jorge Gonzalez, Tecnico de Sistemas Microinformaticos.
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Longi »

Buenas!

Lo que en un principio vienes a preguntar es por un informe que tenga los datos del registro actual.
Las posibilidades son muchas, pero echa un vistazo a este hilo:

https://forum.openoffice.org/es/forum/v ... 31&t=12838

Allí di una solución simple para un informe hecho sin ORB, y funciona bien, pero Mauricio aportó una solución que en ocasiones es más eficaz.
Si la solución de Mauricio te va mejor, sigue los hilos de Jopicach en los que hemos estado 'afinando' el asunto según las necesidades de ese usuario.
También puedes mirar en

https://forum.openoffice.org/es/forum/v ... 70&t=11605

donde verás alguna cosilla más que se puede hacer en los informes.

Un saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Sevillisto
Mensajes: 18
Registrado: Mar Nov 21, 2017 1:39 pm

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Sevillisto »

Gracias Longi, ahora lo reviso. la plantilla ya está hecha en writer y la correspondencia también. Lo que quiero es que ese botón reconozca los datos del registro y los pase al documento writer. De todas formas, miraré uno y otro.
OpenOffice 4.1.2 en Windows 7

Jorge Gonzalez, Tecnico de Sistemas Microinformaticos.
Sevillisto
Mensajes: 18
Registrado: Mar Nov 21, 2017 1:39 pm

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Sevillisto »

Los he estado revisando y no parecen sacarme del apuro. Como dije, más que un informe, es pasar a writer los datos de ese formulario. Decir que el archivo writer ya tienen los campos del formulario asociados. La cosa es, cómo hacer que aparezca en una página con ese registro determinado para poder imprimirlo (que ojo, si con ese botón se imprime directamente, con la plantilla writer, el contenido de ese registro, me soluciona el problema). Gracias, un saludo.
OpenOffice 4.1.2 en Windows 7

Jorge Gonzalez, Tecnico de Sistemas Microinformaticos.
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Longi »

Buenas!

No lo hay como los ejemplos para saber con cierta exactitud por dónde nos movemos.
Yo estoy empeñado en que lo que buscas es un informe (sacar los datos del registro actual en un writer), pero quizá estás preguntando por otra cosa diferente que no termino de adivinar.
Un mail-merge podría servirte, si hacemos que se genere desde una tabla de base (pongo tabla por que en este ejemplo que te pongo lo hice desde una tabla, pero supongo que valdría igual una consulta):

https://forum.openoffice.org/es/forum/v ... B3n#p48049

También ten en cuenta que quizá sea más sencillo generar un nuevo documento que intentar retorcer todo para que entre en el que ya tienes hecho.
De todos modos, lo dicho!, no lo hay como los ejemplos para poder entendernos.

Un saludo! :)

Ah!, y lo de imprimirlo directamente....creo que podría intentarse.
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Sevillisto
Mensajes: 18
Registrado: Mar Nov 21, 2017 1:39 pm

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Sevillisto »

Reitero las gracias por la dedicación a resolver mi duda. He adaptado el código a mi base de datos y solo me genera un documento en blanco. Te explico, el documento de texto lo tengo con los campos ya adaptados como correspondencia (es decir, si uso el asistente para correspondencias me reconoce campo y me saca los documentos con cada registro, que es lo que quiero aprovechar: que de 4500 registros, si le digo que me imprima el registro actual lo haga con ese documento).

La importancia de ese documento (si puedo importarlo como informe, me vale) es que es una plantilla para que se impriman en la caratula de un expediente.

Tal vez éste método sea lo que busco, pero quiero que me funcione primero.
OpenOffice 4.1.2 en Windows 7

Jorge Gonzalez, Tecnico de Sistemas Microinformaticos.
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Longi »

Reitero yo también:
Manda una base de ejemplo y miramos como arreglar.
:super:
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Sevillisto
Mensajes: 18
Registrado: Mar Nov 21, 2017 1:39 pm

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Sevillisto »

Mañana la preparo y la mando. Gracias.
OpenOffice 4.1.2 en Windows 7

Jorge Gonzalez, Tecnico de Sistemas Microinformaticos.
Sevillisto
Mensajes: 18
Registrado: Mar Nov 21, 2017 1:39 pm

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Sevillisto »

Buenos días. He adaptado el ejemplo a otra base de datos ya que, cuando copiaba la misma para adaptarla al caso (eliminar datos confidenciales), la tabla no se copiaba ni me dejaba crearla (supongo que estará protegida). La solución ha sido crear otra base de datos emulando en un formulario todo lo que pretendo hacer con el método mail merge que me comentaste inserto en el código (la ruta la eliminé por confidencialidad). Adjunto el ejemplo y la plantilla donde quiero exportar los datos de un solo campo (hice una consulta, de la cual se filtraría si fuera necesario, el registro o registros que queremos imprimir).

También quiero, en ese formulario, ir al registro correspondiente seleccionando el valor en el desplegable (desconozco porqué aparece bloqueado, en mi base de datos está bien).

Espero poder ilustrarte mejor en éste ejemplo.
Adjuntos
BD.zip
(13.15 KiB) Descargado 181 veces
PLANTILLA.odt
(11.37 KiB) Descargado 174 veces
OpenOffice 4.1.2 en Windows 7

Jorge Gonzalez, Tecnico de Sistemas Microinformaticos.
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Longi »

Lo siento, pero no te he hecho ni caso.....
En fin!, quité la macro Mail-Merge e hice un informe sin ORB (un informe sería algo similar a una plantilla, como tu querías), basado en una consulta con un par de campos calculados que creo que vienen bien para lo que tenías como modelo.
Por otro lado te cambié totalmente el formulario (un solo formulario, no tres como tenías, ya que me liaba un poco con las rutas hacia los controles), y la búsqueda la he hecho desde un combobox, cambiando la macro de búsqueda, aunque supongo que la que tenías tu irá más rápida (esta supone ir revisando uno a uno todos los registros hasta que hay uno que iguala al del combobox).
Puse dos versiones (botones), uno da en pantalla el informe/plantilla que necesitas según el registro del formulairo. El otro hace lo mismo y lo manda a la impresora. La idea era abrirlo en modo oculto y pasarlo a la impresora, pero no he sabido hacerlo.
Hay otra posibilidad, que es la de manejar plantilla externa tal y como Mauricio aportó al hilo que te comenté antes, y ese documento, abriéndolo en forma oculta he conseguido (en otros proyectos ) transformarlo a pdf, por lo que con las mismas seguramente se pueda adaptar para imprimir directamente sin que aparezca en pantalla. De todos modos aún no lo probé.

Si esto no se parece a lo que quieres, nos lo cuentas.

Un saludo! :super:
Adjuntos
BD1.7z
(22.78 KiB) Descargado 206 veces
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Longi »

Buenas de nuevo!

He incluído la opción de rellenar una plantilla externa a la base de datos con los datos del formulario ( en este caso con los datos de la fuente del formulario, que es una consulta que tiene más datos de los que aparecen en el formulario a la vista).
En este caso he conseguido que se imprima directamente sin que aparezca en pantalla, como te comenté.
La opción del informe, que en un principio me parece mejor, ya que va en la propia base y no te obliga a andar con carpetas diferentes, de momento se me resiste la opción de la impresión directa, pero todo se andará....

Ya nos contarás.

Un saludo! :)
Adjuntos
PruebasImpresión.7z
Carpeta con base de datos y plantilla adjunta
(124.17 KiB) Descargado 225 veces
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Sevillisto
Mensajes: 18
Registrado: Mar Nov 21, 2017 1:39 pm

Re: (Botón) Imprimir correspondencia del formulario

Mensaje por Sevillisto »

Buenas tardes. Lamento haber respondido tan tarde, pero estaba implementando el módulo y he conseguido hacerlo por fin. Se ajusta a nuestras necesidades, por lo que te doy las gracias y doy el hilo por solucionado.
OpenOffice 4.1.2 en Windows 7

Jorge Gonzalez, Tecnico de Sistemas Microinformaticos.
Responder