Principales respuestas
Imagen Crystal Report variable global

Pregunta
-
Muy buen dia señores.... mi pregunta el dia de hoy es para poder poner una imagen (Logo de la empresa), dentro del reporte de Crystal Report.... la imagen la guardo en una variable global, ya que la utilizo mucho a traves de todo la aplicacion....
Como hago para que me la imprima en el reporte.... ademas, los datos los obtengo desde un store procedure...
Gracias por su ayuda...
PD.- He visto que muchas veces lo hacen con un dataset tipado, pero creo que este no es mi caso.... o uds. diran si es lo mas conveniente para hacer...
Uso Visual Studio 2015 en lenguaje de VisualBasic... tengo Windows 10 y trabajo con MySql.
Muchas gracias
- Cambiado Enrique M. Montejo miércoles, 26 de julio de 2017 6:28 Pregunta relacionada con Crystal Reports.
Respuestas
-
Hola wichortiz:
Los pasos pueden ser los siguientes:
1) Localiza la ruta donde se encuentra la imagen. la misma la tendría que tener en una carpeta Bin > Debug > Logo por ejemplo, es decir, en la carpeta del ejecutable.
2) Abres tu rpt y botón derecho y pulsas "Insertar objeto OLEdb".
3) Pulsas crear desde archivo. Buscar donde está la imagen y pulsas "Vincular"-
Con ello, ya tendrás la imagen situada en tu rpt. Eso lo tienes que realizar para cada rpt.
Otra cosa que tendrías que tener en cuenta es si quieres que siempre aparezca el logo o no y también si cuando sale el logo tienes que desplazar el campo por ejemplo del título del informe hacia la derecha o izquierda, etc. y por último si quieres que el logo de guarde para cuando vuelvas a abrir el informe o no.
Esto último lo puedes guardas en My.Sentting tal como te adjunto en el código.
If My.Settings.ImagenLogo = True Then If VarGlobal.strImagenGuardadaImagLogotipo = "" Then CrReport.DataDefinition.FormulaFields("PicLogo").Text = "'" & My.Application.Info.DirectoryPath & "\" & "LogoEmpresa\Imagen1.jpg" & "'" Else CrReport.DataDefinition.FormulaFields("PicLogo").Text = "'" & VarGlobal.strImagenGuardadaImagLogotipo & "'" End If CrReport.SetParameterValue("parOcultarImagen1", My.Settings.ImagenLogo) 'Desplazamos el titulo del informe cuando lleva logotipo. If valor = 4 Then 'Solo desplazamos para períodos anuales. If VarGlobal.strTipoInforme = "InfValores" Then oDesplazarTitulo = CType(CrReport.ReportDefinition.ReportObjects.Item("Text8"), TextObject) If My.Settings.ImagenLogo = False Then 'No LLeva imagen el logotipo oDesplazarTitulo.Left = 1520 Else oDesplazarTitulo.Left = 2400 End If oDesplazarTitulo.Width = 9270 End If End If Else CrReport.DataDefinition.FormulaFields("PicLogo").Text = "" CrReport.SetParameterValue("parOcultarImagen1", My.Settings.ImagenLogo) End If
En fin a partir de lo explicado, tienes diferentes combinaciones.
Un saludo.
Gemma
- Editado gemma_campillo sábado, 22 de julio de 2017 7:01
- Marcado como respuesta wichortiz martes, 25 de julio de 2017 16:20
-
Lo he logrado por fin..... explico los pasos que realice para que sirva de guia por si alguien desea realizarlo...
La guia de Gemma fue indispensable para lograrlo..
1) En la ruta donde se encuentra el ejecutable, cree una carpeta llamada "LogoEmpresa" y dentro de esta, he colocado el archivo "jpg" o "png" de la imagen que deseo colocar en el reporte.
2) Abres tu rpt y botón derecho y pulsas "Insertar objeto OLEdb". (paso propuesto por Gemma)
3) Pulsas crear desde archivo. Buscar donde está la imagen y pulsas "Vincular". (paso propuesto por Gemma)
4) Cree un nuevo campo de formula con el nombre "Logo".
5) Click derecho sobre el objeto OLE, --> Dar Formato al Objeto --> Pestaña "Imagen" --> Click en "x-2" en Ubicacion --> Colocar aqui en campo formula.
6) En la pestaña "Comun", desmarcar la casilla que dice: "Puede crecer"... de lo contrario, si la imagen es muy grande, desproporcionara todo el reporte.
7) En el botón donde mando a imprimir el reporte, he colocado la siguiente linea:
reporte.DataDefinition.FormulaFields("Logo").Text = "'" & My.Application.Info.DirectoryPath & "\" & "LogoEmpresa\LogoEmpresa.jpg" & "'"
Y eso es todo... la imagen aparece en el reporte...
Gracias a todos los que finamente me han ayudado en este inconveniente... hasta la proxima
Wichortiz.
- Marcado como respuesta wichortiz martes, 25 de julio de 2017 16:20
Todas las respuestas
-
Hola wichortiz:
Los pasos pueden ser los siguientes:
1) Localiza la ruta donde se encuentra la imagen. la misma la tendría que tener en una carpeta Bin > Debug > Logo por ejemplo, es decir, en la carpeta del ejecutable.
2) Abres tu rpt y botón derecho y pulsas "Insertar objeto OLEdb".
3) Pulsas crear desde archivo. Buscar donde está la imagen y pulsas "Vincular"-
Con ello, ya tendrás la imagen situada en tu rpt. Eso lo tienes que realizar para cada rpt.
Otra cosa que tendrías que tener en cuenta es si quieres que siempre aparezca el logo o no y también si cuando sale el logo tienes que desplazar el campo por ejemplo del título del informe hacia la derecha o izquierda, etc. y por último si quieres que el logo de guarde para cuando vuelvas a abrir el informe o no.
Esto último lo puedes guardas en My.Sentting tal como te adjunto en el código.
If My.Settings.ImagenLogo = True Then If VarGlobal.strImagenGuardadaImagLogotipo = "" Then CrReport.DataDefinition.FormulaFields("PicLogo").Text = "'" & My.Application.Info.DirectoryPath & "\" & "LogoEmpresa\Imagen1.jpg" & "'" Else CrReport.DataDefinition.FormulaFields("PicLogo").Text = "'" & VarGlobal.strImagenGuardadaImagLogotipo & "'" End If CrReport.SetParameterValue("parOcultarImagen1", My.Settings.ImagenLogo) 'Desplazamos el titulo del informe cuando lleva logotipo. If valor = 4 Then 'Solo desplazamos para períodos anuales. If VarGlobal.strTipoInforme = "InfValores" Then oDesplazarTitulo = CType(CrReport.ReportDefinition.ReportObjects.Item("Text8"), TextObject) If My.Settings.ImagenLogo = False Then 'No LLeva imagen el logotipo oDesplazarTitulo.Left = 1520 Else oDesplazarTitulo.Left = 2400 End If oDesplazarTitulo.Width = 9270 End If End If Else CrReport.DataDefinition.FormulaFields("PicLogo").Text = "" CrReport.SetParameterValue("parOcultarImagen1", My.Settings.ImagenLogo) End If
En fin a partir de lo explicado, tienes diferentes combinaciones.
Un saludo.
Gemma
- Editado gemma_campillo sábado, 22 de julio de 2017 7:01
- Marcado como respuesta wichortiz martes, 25 de julio de 2017 16:20
-
Muchas Gracias Gemma.... fijate que como quiero incrustar el logo de la empresa en un reporte... que siempre estara ahi sin mas ni mas... he intentado hacer lo que me has dicho de insertar un archivo OLEdb, vincularlo, etc... pero lo que me presenta es esto:
He probado con un archivo .jpg y un archivo .png pero con el mismo resultado... que estare haciendo mal ???...
Gracias por su ayuda...
PD.- En cuanto a lo demas que me has explicado, lo veo muy, muy interesante pero no me animo a hacerlo porque no tengo mucho entendimiento del archivo config y hay cosas en el codigo que no logro comprender.... de todas maneras, muchisimas gracias por tu tiempo.
-
Hola:
Pero el archivo ese que has incrustado debe de tener una ruta que es donde esta la imagen.
No puedes poner directamente la imagen ahí, le tienes que indicar la ruta donde está.
por ejemplo:
CrReport.DataDefinition.FormulaFields("PicLogo").Text = "'" & My.Application.Info.DirectoryPath & "\" & "LogoEmpresa\Imagen1.jpg" & "'"
Un saludo.,
Gemma
-
-
Muchas Gracias Gemma.... ahora me presenta este error.... pido disculpas por tantas molestias
Como podras notar en la captura de pantalla... la imagen es la que aparece en la parte inferior derecha de la pantalla principal..- Editado wichortiz martes, 25 de julio de 2017 3:08
-
-
Lo he logrado por fin..... explico los pasos que realice para que sirva de guia por si alguien desea realizarlo...
La guia de Gemma fue indispensable para lograrlo..
1) En la ruta donde se encuentra el ejecutable, cree una carpeta llamada "LogoEmpresa" y dentro de esta, he colocado el archivo "jpg" o "png" de la imagen que deseo colocar en el reporte.
2) Abres tu rpt y botón derecho y pulsas "Insertar objeto OLEdb". (paso propuesto por Gemma)
3) Pulsas crear desde archivo. Buscar donde está la imagen y pulsas "Vincular". (paso propuesto por Gemma)
4) Cree un nuevo campo de formula con el nombre "Logo".
5) Click derecho sobre el objeto OLE, --> Dar Formato al Objeto --> Pestaña "Imagen" --> Click en "x-2" en Ubicacion --> Colocar aqui en campo formula.
6) En la pestaña "Comun", desmarcar la casilla que dice: "Puede crecer"... de lo contrario, si la imagen es muy grande, desproporcionara todo el reporte.
7) En el botón donde mando a imprimir el reporte, he colocado la siguiente linea:
reporte.DataDefinition.FormulaFields("Logo").Text = "'" & My.Application.Info.DirectoryPath & "\" & "LogoEmpresa\LogoEmpresa.jpg" & "'"
Y eso es todo... la imagen aparece en el reporte...
Gracias a todos los que finamente me han ayudado en este inconveniente... hasta la proxima
Wichortiz.
- Marcado como respuesta wichortiz martes, 25 de julio de 2017 16:20