Problema con codigo de barras EAN13

221 views
Skip to first unread message

Alex Noria

unread,
Oct 13, 2010, 10:17:36 AM10/13/10
to Visual FoxPro googlegroups
Hola a todos,
 
Primeramente reciban un saludo. Siguiendo el artículo de portalfox [1] para Código EAN 13, en el diseñador de reportes el campo se descompone (Anexo imagen) al introducir la expresión del campo _StrToEan13(ALLTRIM(cProductos.Barras)). Cuando ejecuto el reporte simplemente no me imprime nada. Estoy utilizando la fuente PF EAN P36, con tamaño 36 tal como lo indica el artículo. Además la función está debidamente abierta mediante SET PROCEDURE en el momento de la ejecución. Las fuentes True Type las bajé de portalfox cómo también el código de la función. Les agradezco la ayuda.
 
Saludos.
---
Barcode EAN13 Report Designer.png

GeoSys Diseño de Software

unread,
Oct 13, 2010, 10:30:33 AM10/13/10
to publice...@googlegroups.com
Posiblemente no tienes campos en ese cursor o tabla, recuerda que para que vfp imprima aunque sea una etiqueta debe contener por lo menos un registro el cursor o tabla, si no cuando envias un reporte al preview te da un pantallazo blanco y retorna y si es a la impresora no te imprime nada.

Revisa esto.


José Anthony Contreras Peralta

Costa Rica.

Luis Maria Guayan

unread,
Oct 13, 2010, 10:37:19 AM10/13/10
to publice...@googlegroups.com
Hola, vamos por partes.

1. En el diseñador de informes, en el campo es lógico que veas lo de la imagen, ya que es lo mismo que verías si ejecutas en la ventana de comandos de VFP:

? "_StrToEan13(ALLTRIM(cProductos.Barras))" FONT "PF EAN P36",36

2. Si no está imprimiendo nada es que el largo de ALLTRIM(cProductos.Barras) es distinto de 12 y la función _StrToEan13() en ese caso retorna "". Si en tu tabla tienes el código EAN con 13 dígitos, solo deberías llamar la función con los primeros 12 dígitos, ya que la función te genera automáticamente el dígito de verificación, por lo que en el campo del informe deberías poner:

_StrToEan13(LEFT(cProductos.Barras,12))

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

 

Alex Noria

unread,
Oct 13, 2010, 2:50:41 PM10/13/10
to Comunidad de Visual Foxpro en Español
Gracias ambos por responder. Efectivamente Luis Maria, equivocadamente
estaba enviando 13 dígitos. Funcionó muy bien. Gracias nuevamente.

Saludos.

On 13 oct, 09:37, Luis Maria Guayan <luisma...@portalfox.com> wrote:
> Hola, vamos por partes.
> 1. En el diseñador de informes, en el campo es lógico que veas lo de la imagen, ya que es lo mismo que verías si ejecutas en la ventana de comandos de VFP:? "_StrToEan13(ALLTRIM(cProductos.Barras))" FONT "PF EAN P36",36
> 2. Si no está imprimiendo nada es que el largo de ALLTRIM(cProductos.Barras) es distinto de 12 y la función _StrToEan13() en ese caso retorna "". Si en tu tabla tienes el código EAN con 13 dígitos, solo deberías llamar la función con los primeros 12 dígitos, ya que la función te genera automáticamente el dígito de verificación, por lo que en el campo del informe deberías poner:
> _StrToEan13(LEFT(cProductos.Barras,12))
>
> Luis María Guayán
> Tucumán, Argentina
> _________________________http://www.PortalFox.com
Reply all
Reply to author
Forward
0 new messages