[RESUELTO]Informes desde una macro en BASE

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO]Informes desde una macro en BASE

Notapor fedevi » Mié Dic 02, 2015 12:59 pm

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
fedevi
 
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Informes desde una macro en BASE

Notapor mauricio » Mié Dic 02, 2015 3:28 pm

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
Avatar de Usuario
mauricio
 
Mensajes: 5872
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Informes desde una macro en BASE

Notapor fedevi » Jue Dic 03, 2015 8:01 pm

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   Expandir vistaContraer vista
Standard.Module1.BotonImprimirReporte (document, Basic)

y el procedimiento está declarado asi
Código: Seleccionar todo   Expandir vistaContraer vista
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

Notapor fedevi » Lun Dic 07, 2015 4:14 pm

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
fedevi
 
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Informes desde una macro en BASE

Notapor mauricio » Lun Dic 07, 2015 4:22 pm

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
mauricio
 
Mensajes: 5872
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Informes desde una macro en BASE

Notapor fornelasa » Lun Dic 07, 2015 6:27 pm

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!
Avatar de Usuario
fornelasa
 
Mensajes: 3223
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Informes desde una macro en BASE

Notapor RMG » Lun Dic 07, 2015 8:13 pm

Hola,

Asignas esta macro a un botón.

Código: Seleccionar todo   Expandir vistaContraer vista
Sub AbrirInforme()
        ThisDatabaseDocument.ReportDocuments.GetByName("NombreInforme").Open
End Sub


Saludos
OpenOffice 4.1.6 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RMG
 
Mensajes: 3523
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Informes desde una macro en BASE

Notapor fedevi » Lun Dic 07, 2015 9:06 pm

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/viewtopic.php?f=70&t=11074

este código declarando el procedimiento, esta en gesalmacen.odb->Standard->module1
Código: Seleccionar todo   Expandir vistaContraer vista
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   Expandir vistaContraer vista
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
fedevi
 
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Informes desde una macro en BASE

Notapor fornelasa » Lun Dic 07, 2015 11:08 pm

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!
Avatar de Usuario
fornelasa
 
Mensajes: 3223
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Informes desde una macro en BASE

Notapor fedevi » Mar Dic 08, 2015 4:06 am

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
fedevi
 
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Informes desde una macro en BASE

Notapor fornelasa » Mar Dic 08, 2015 7:04 am

Insisto, no tengo Xubuntu y ni siquiera puedo ver el texto que mencionas
Código: Seleccionar todo   Expandir vistaContraer vista
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   Expandir vistaContraer vista
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   Expandir vistaContraer vista
Standard.Module1.AbreCualquierFormulario (document, Basic)


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   Expandir vistaContraer vista
Sub AbreCualquierFormulario(Evento)
y así mismo en esta linea lo abre:
Código: Seleccionar todo   Expandir vistaContraer vista
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!
Avatar de Usuario
fornelasa
 
Mensajes: 3223
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Informes desde una macro en BASE

Notapor fedevi » Mié Dic 09, 2015 8:34 pm

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

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


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado