Consulta Imprimir White Board en Crystal Report XI Release 2

Publicado en torno a 1 año hace por Flexygo Team

Publicar un tema
Sin responder
Flexygo Team
Flexygo Team

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.

0 Votos


1 Comentarios

Flexygo Team

Flexygo Team publicado en torno a 1 año 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

go


Un saludo,

0 Votos

Iniciar sesión o Registrarse para publicar un comentario