[RESUELTO]Informes desde una macro en BASE

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
fedevi
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

[RESUELTO]Informes desde una macro en BASE

Mensaje por fedevi »

Hola a todos por aqui, mi consulta es por lo siguiente, tengo una tabla con información para imprimir de distinta manera según lo requiera el usuario y mi desconocimiento es acerca de ello. Mi intención es darle las opciones al usuario para imprimir el contenido de la tabla de la menera que necesite, estas maneras serian tres diferentes: cuatro cuartos de hoja, dos mitades, u hoja completa; pero mi duda es como se puede acceder a uno u otro tipo de informe desde una macro, espero haber sido claro. Saludos

Fede
Última edición por fedevi el Mié Dic 09, 2015 8:34 pm, editado 1 vez en total.
OpenOffice 4.1.2 - Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Informes desde una macro en BASE

Mensaje por mauricio »

Acceder a un informe desde una macro, se ha respondido no pocas veces en este foro, hasta tienes ejemplos de desarrollos completos con varios ejemplos... una sencilla búsqueda te dará varios resultados, por favor, mira si alguno aplica a tu caso, gracias.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
fedevi
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Informes desde una macro en BASE

Mensaje por fedevi »

Hola Mauricio, baje el ejemplo movimientos de almacen del foro y lo estoy estudiando, pero hay cosas que me desorientan ya que no las tengo muy claras y necesito un poco de ayuda para poder seguir. Bueno lo que veo es que un boton de imprimir llama a un procedimiento de la siguiente forma

Código: Seleccionar todo

Standard.Module1.BotonImprimirReporte (document, Basic)
y el procedimiento está declarado asi

Código: Seleccionar todo

Sub BotonImprimirReporte(Evento)
--- --
--
End Sub
mi consulta es que son los parametros document, Basic y por que llama con dos y tiene solo uno declarado, gracias

Federico
OpenOffice 4.1.2 - Windows 7
fedevi
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Informes desde una macro en BASE

Mensaje por fedevi »

Hola Mauricio, como no he recibido respuesta pregunto si esta mal hecha la pregunta en esta sección, o directamente está desubicada totalmente, si es asi pido disculpas y dejo aclarado que mi intención no es recibir clases particulares ni nada parecido, pero estoy comenzando con libre office y por momentos me encuentro con muros difíciles de sobrepasar debido a mi falta de conocimiento, en este caso particular he buscado pero no logro avanzar por lo que necesitaría saber como buscar mi consulta de la respuesta anterior, ya que baje otros ejemplos, tambien realicé búsquedas que no me evacuan las dudas, y me encuentro con muchas trabas, muchas gracias

Federico
OpenOffice 4.1.2 - Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Informes desde una macro en BASE

Mensaje por mauricio »

Por favor, NO dirijas las preguntas a nadie en particular, cualquier miembro del foro puede responderte...

Las razones de que no te respondan, pueden ser varias, las más sencilla, que nadie conozca la respuesta... entre muchas otras...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Informes desde una macro en BASE

Mensaje por fornelasa »

Y casi puedo asegurar que la razón por la que una consulta no se responde se debe principalmente a dos motivos:
1) La consulta no es clara
2) Se desea que nos hagan todo el trabajo

Ejemplo de tu poca claridad:
fedevi escribió:baje el ejemplo movimientos de almacen del foro y lo estoy estudiando,
Llevo como media hora buscando ese dichoso ejemplo y no lo encuentro .......
Por lo tanto me digo ..... no lo encuentro ..... adios y a otra cosa .....
¿no le pasará así a los demás?
.
¿Se capta el mensaje?
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Informes desde una macro en BASE

Mensaje por RMG »

Hola,

Asignas esta macro a un botón.

Código: Seleccionar todo

Sub AbrirInforme()
	     ThisDatabaseDocument.ReportDocuments.GetByName("NombreInforme").Open
End Sub
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
fedevi
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Informes desde una macro en BASE

Mensaje por fedevi »

ok, muy claro fornelasa, muy agradecido por tu tiempo y tu crítica, ahora paso el link del ejemplo subido por RMG
https://forum.openoffice.org/es/forum/v ... 70&t=11074

este código declarando el procedimiento, esta en gesalmacen.odb->Standard->module1

Código: Seleccionar todo

Sub AbreCualquierFormulario(Evento)
	Dim Control as Object
	Control = ThisDatabaseDocument.CurrentController
	If Not Control.IsConnected Then	Control.Connect
	ThisDatabaseDocument.FormDocuments.GetByName(Evento.Source.Model.Tag).Open	
End Sub
y se lo llama desde el formulario formovimientos->boton proveedores->evento boton del raton pulsado

Código: Seleccionar todo

Standard.Module1.AbreCualquierFormulario (document, Basic)
mi intensión es saber como busco este tema para aprenderlo, ya que lo he visto en muchos ejemplos.
Muchas gracias RMG por tu respuesta. Espero haber mejorado en mi claridad, saludos

Federico
OpenOffice 4.1.2 - Windows 7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Informes desde una macro en BASE

Mensaje por fornelasa »

bueno ..... antes que nada se me olvidaba ..... ¡no tengo Xubuntu! :lol:

En el codigo que envias hay muchos temas ..... ¿a cual te refieres?

¿Te refieres a como asignar una macro a un control?
¿Te refieres a como sabe el breve codigo "AbreCualquierFormulario" que formulario debe abrir?
......
Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
fedevi
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Informes desde una macro en BASE

Mensaje por fedevi »

Mis dudas son respecto tu segunda pregunta:
fornelasa escribió: Te refieres a como sabe el breve codigo "AbreCualquierFormulario" que formulario debe abrir?
ahora lo que me desorienta es que la llamada tiene dos parametros y la declaracion uno solo. Saludos

Federico
OpenOffice 4.1.2 - Windows 7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Informes desde una macro en BASE

Mensaje por fornelasa »

Insisto, no tengo Xubuntu y ni siquiera puedo ver el texto que mencionas

Código: Seleccionar todo

Standard.Module1.AbreCualquierFormulario (document, Basic)
A grandes rasgos y esperando ser claro:
En Windows cuando asignamos una macro a un evento de botón, el programa automaticamente nos da o nos escribe este texto

Código: Seleccionar todo

vnd.sun.star.script:Standard.Module1.AbreCualquierFormulario?language=Basic&location=document
supongo entonces que en Xubuntu automaticamente el programa lo traduce como

Código: Seleccionar todo

Standard.Module1.AbreCualquierFormulario (document, Basic)
[/color]

Ahora bien ¿porque el programa automaticamente asigna dicho texto al evento? ..... la verdad ni idea ..... habría que preguntarle a los desarrolladores del programa porque hicieron ese texto así.

Lo que si es que a final de cuentas cuando das clic al botón Proveedores, el programa internamente "capta" dicho evento con todas sus propiedades y lo capta/registra como una unidad en la macro

Código: Seleccionar todo

Sub AbreCualquierFormulario(Evento)
y así mismo en esta linea lo abre:

Código: Seleccionar todo

ThisDatabaseDocument.FormDocuments.GetByName(Evento.Source.Model.Tag).Open
El programa sabe que formulario debe abrir porque dentro de las propiedades del botón en la ficha "general" en "Informacion adicional" lo dice y que a saber es: forProveedores

Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
fedevi
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Informes desde una macro en BASE

Mensaje por fedevi »

Muchas gracias, me quedó muy claro, saludos a todos

Federico
OpenOffice 4.1.2 - Windows 7
Responder