Consulta Imprimir White Board en Crystal Report XI Release 2
J
Juan gasqued
empezó un tema
12 días hace
Buenos días.
Hemos creado un campo para firmar, en la BBDD es tipo NVARCHAR(MAX), y en el CRM es tipo White Board. Y nos interesaría mostrar lo a la hora de imprimir un informe. Utilizamos el Crystal Report XI Release 2.
¿Hay alguna forma de hacerlo?
Gracias, un saludo.
1 comentario
Jose Vicente Bernad
ha dicho
12 días hace
Hola Juan gasqued,
Necesitas hacer referencia a un campo que devuelva una imagen (ó tipo de campo varbinary).
Nosotros lo que hacemos es generar una función que lo haga e incorporar una vista que devuelva la imagen con este tipo de dato.
Puedes hacer lo siguiente:
1- Crear una función en la base de datos llamada fun_B64ToImage
2- Crear una vista que devuelva la clave de la tabla que contiene la firma y la firma con el tipo de dato específico.
3- Incluir dicha vista al informe
4- Añadir el campo de la vista en el diseñador de informes de crystal reports.
En el ejemplo que adjunto tengo una tabla Empleados, con el campo firma.
USE PRUEBAS GO /****** Object: UserDefinedFunction [dbo].[fun_B64ToImage] Script Date: 03/01/2020 8:38:08 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
CREATE FUNCTION [dbo].[fun_B64ToImage] ( @B64 varchar(max) ) RETURNS varbinary(max) AS -- ============================================= -- #AUTOR: -- dlutz -- #NAME: -- fun_B64ToImage -- #CREATION: -- Sin definir -- #CLASIFICATION: -- 000-SISTEMA -- #DESCRIPTION: -- Convierte una cadena B64 a una imagen varbinary. Se utiliza para incluir imágenes en Crystal Reports almacenadas en la BBDD -- #PARAMETERS: -- @B64: -- #OBSERVATIONS: -- -- #CHANGES: -- -- #EXAMPLE: -- -- ============================================= BEGIN
set @B64=replace(replace(replace(@B64,'data:image/jpg;base64,',''),'data:image/jpeg;base64,',''),'data:image/png;base64,','') DECLARE @decoded varbinary(max) set @decoded = cast('' as xml).value('xs:base64Binary(sql:variable("@B64"))', 'varbinary(max)')
RETURN @decoded
END GO
create view vFirmaEmpleado AS
Select IdEmpleado, dbo.fun_B64ToImage(Firma) as FirmaImg from Empleados
Juan gasqued