top of page

Generar código qr en crystal report

Foto del escritor: Leonardo LazcanoLeonardo Lazcano

Tema de dolor de cabeza cuando se necesita implementa un código QR en tus comprobantes fiscal digital sobre todo en Mexico y con las actualizaciones constantes del SAT


Después de buscar y buscar por la red diferentes opciones me tope con muchos usuarios con la misma problemática aunque esto se puede resolver fácil por medio de un desarrollo que genere tus QR y los almacene en tu servidor y posteriormente mandarlo a llamar desde Crystal , aquí les presento una opción sin tanto desarrollo ni almacenamiento ocupado en un servidor de datos.


las Api que puedes utilizar son las siguientes :


Ejemplo de como mandar a llamar la Api desde Crystal Report:



"http://chart.googleapis.com/chart?chs=250x250&cht=qr&chl=https%3A%2F%2Fverificacfdi.facturaelectronica.sat.gob.mx%2Fdefault.aspx?id=" + 
{@UUID} +
"%26re%3D" + 
{OADM.RevOffice} +
"%26rr%3D" + 
{MAIN.LicTradNum} +
"%26tt%3D" + 
toText({@_TOTAL},"0.000000",6 ) +
"%26fe%3D" + 
toText(RIGHT({TimbreFiscalDigital.SelloCFD},8))

Campo de Formula para llamar la API


Te explico un poco como lo hago , en primer lugar este código lo agrego dentro de un campo de formula de Crystal Report




En mi caso me gusta nombrar a este campo como "QR", ahora te explico un poco del código que pegaremos en este campo de formula


"http://chart.googleapis.com/chart? chs=250x250&cht=qr&chl=https%3A%2F%2Fverificacfdi.facturaelectronica.sat.gob.mx%2Fdefault.aspx?id=" + 
{@UUID} + -- Aqui mandamos a llamar el UUID de tu Documento
"%26re%3D" + 
{OADM.RevOffice} + -- Mandamos a llamar el RFC del Emisor
"%26rr%3D" + 
{MAIN.LicTradNum} + -- RFC del Receptor
"%26tt%3D" + 
toText({@_TOTAL},"0.000000",6 ) + --el total de documento
"%26fe%3D" + 
toText(RIGHT({TimbreFiscalDigital.SelloCFD},8)) --los últimos 8 dígitos del sello del CFDi

los campos que no tienen comentario se quedan tal cual están escritos , yo me incline por la Api de google pienso que es la mas estable .


Agregar Imagen Base


Ya que tenemos el campo de formula hay que agregar una imagen de base , para esto podemos utilizar cualquier imagen (En mi caso utilizo un cuadro en blanco , esto ya que si después mi qr tiene una falla , el mismo usuario final me notificara y poder corregir en el momento)



Seleccionamos cualquier tipo de imagen (.png .jpg etc..)


ya que tenemos la imagen agregada a nuestro informe vamos a trabajar en sus propiedades , click secuendario "Dar formato al grafico"

en esta parte 3 puntos son importantes


1 pestana Común "Puede Crecer"

El check de Puede crecer debe estar desmarcado

2 Pestaña imagen "Ubicación del" y "Usar URL original"

Esta parte es la importante , en la ubicación del , seleccionamos y mandamos a llamar la formula que creamos hace un momento .


Por ultimo asegurarnos que el check de "Usar URL Original" este marcado , de lo contrario la imagen del Qr no se mostrara


Y listo con esto tenemos el QR dinámico en nuestro formatos de Crystal Reports


Tip : debemos tener cuidado al mandar a llamar las Api desde Crystal Report el tema es que Crystal al menos en la versión 2016 aun no soporta las direcciones Https entonces en el caso que utilizamos para ejemplo solo fue necesario cambiar https por http .


Si tiene alguna duda pueden enviarme un correo a la siguiente dirección lazcano@ekrontech.com



613 visualizaciones2 comentarios

Entradas recientes

Ver todo

2 Comments


Alex Gonzalez
Alex Gonzalez
Feb 18, 2022

muchas gracias por la informacion!

Like
Leonardo Lazcano
Leonardo Lazcano
Dec 18, 2023
Replying to

:d gracias !! 😀

Like

© 2021 Leonardo Lazcano

  • RSS
bottom of page