O.T. Que tipo de código de barras utilizar?

373 views
Skip to first unread message

mpulla

unread,
Sep 30, 2013, 7:28:04 PM9/30/13
to publice...@googlegroups.com
Buen día foxeros.

Estoy por hacer un aplicación donde necesito imprimir un código de barras por cada línea de detalle de una transacción, se imprimirán alrededor de unos 12000 códigos de barras al mes, en una impresora Zebra GC 420t

Trabajare con FoxBarCode, del profe Luis María, con el código de barras 128C que me permite un rango grande de valores.

Para generar el código de barras tomaría como valor la llave primaria de la tabla detalle que va a ser un entero.

El código de barras es solo para uso interno.

Según su experiencia:

1.- El código de barras 128C, es el más idóneo para este tipo de trabajo y valores numéricos?
2.- Cual es el tamaño mínimo recomendado del código de barras ya que en la etiqueta además tengo que imprimir cuatro línenas: el nombre de la empresa, fechas, area y usuario
2.- Que tal interactúa la impresora Zebra GC 420t con VFP.

Gracias por sus aportes y sugerencias.

Saludos.
Mauricio

Guillermo MDQ

unread,
Sep 30, 2013, 7:56:58 PM9/30/13
to publice...@googlegroups.com
Hola mpulla.
Yo tengo en funcionamiento un sistema que usa para uso interno codigos de barra 128C y cuyo valor es la clave primaria del producto. Todo OK sin problemas.
Los imprimo en un rollo de 3 etiquetas por linea, que tienen un tamaño de 3 cm. de ancho por 2 cm de altura, y el codigo de barra lo imprimo con una altura de 5 mm de alto, tambien sin ningun problema.
Y en cuanto a la impresora, no he utilizado justo ese modelo de Zebra, pero si otras similares Datamax y Sansumg y andan los mas bien con VFP.
La forma de interactuar puede ser a traves de reportes del fox combinado con foxbarcode, a traves del lenguaje  EPL de la impresora, o a traves de un programa intermediario tipo Bartender.

Saludos
Guillermo

mpulla

unread,
Sep 30, 2013, 10:19:32 PM9/30/13
to publice...@googlegroups.com
Hola Gillermo.

Gracias por la información.

Tenía planeado hacer con el reporteador de VFP + FoxBarcode.
Puedes explicarme como interactuar VFP + lenguaje ELP.

Saludos.

Saludos.
Mauricio

Guillermo MDQ

unread,
Oct 1, 2013, 12:01:53 AM10/1/13
to publice...@googlegroups.com
Normalmente se trabaja con cadenas de texto con los comandos EPL o ZPL que los puedes encontrar en el manual de programacion de tu impresora y se imprimen utilzando los comandos  ?,??? de vfp.
Puedes escribir ZEBRA+ZPL/EPL dentro de este grupo y vas a encontrar varios hilos donde veras varias maneras de imprimir este tipo de comandos y las diferentes soluciones que se han  encontrado para poder imprimir.

Saludos
Guillermo

Luis Maria Guayan

unread,
Oct 1, 2013, 8:15:34 AM10/1/13
to publice...@googlegroups.com
Si la cadena a codificar son todos números, la mejor opción es el código 128C o también puedes utilizar el Interleaved 2 of 5 (I2of5) con la recomendación de utilizar el dígito de verificación para una lectura mas segura.

Sobre el tamaño del código, hay muchas cosas a tener en cuenta: La superficie a imprimir, la distancia de la lectura, la sobreiluminación del lugar, etc. Eso lo deberias ir probando con los lectores a utilizar y en el lugar que se realizará la lectura.


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

Milton

unread,
Oct 1, 2013, 9:50:00 AM10/1/13
to publice...@googlegroups.com
Hola Mauricio:

      La semana anterior instalé un sistema de inventarios, y las etiquetas la imprimimos en la Zebra CG420t, con las siguientes recomendaciones:

1.- Se requiere configurar correctamente el tamaño de la etiqueta luego de instalar la impresora, para mi caso uso etiquetas de 4.10 de ancho por 2.5 de alto (estandares para la zebra).
2.- Utilizo UPC-A por cuanto son productos con codificación internacional (solo números de hasta 13 dígitos incluye digito de verificación) y el C39 para etiquetar otros productos que no tienen asignado ningún código, pero con un máximo de 6 caracteres alfanuméricos, porque en en C39 se genera una gráfico de barras más complejo y mientras más caracteres es menos ilegible por el lector. Como verás si necesitas más caracteres se requiere más ancho de etiqueta.
3.- El la etiqueta imprimo: Nombre de la empresa, precio, codigo barrras y nombre del producto, para más datos se requeriría más alto de etiqueta.
4.- Para el diseño del informe te recomiendo utiliza FoxBarCode, hay unos buenos ejemplos en la librería, pero te adjunto el código que uso para hacer la llamada a la impresión de n etiquetas, de un producto, el TexBox No tiene el número de etiquetas que se quiere imprimir.

LOCAL oItem
SELECT CRSRENENT

IF !EMPTY(CRSRENENT.CODIGO) .AND. THISFORM.No.Value > 0

    *-- Create FoxBarcode Object, modelo CODE 39 EXTENDIDO, permite amplia cantidad de caracteres
    loFbc = CREATEOBJECT("FoxBarcode")
    cCodigo = ALLTRIM(CRSRENENT.CODIGO)
   

    *-- Object Properties
    WITH loFbc
         .cText = "FoxBarcode"
         * SELECCIONANDO EL CODIGO EL MÁS ADECUADO
         DO CASE
            CASE ISDIGIT(cCodigo) .AND. LEN(cCodigo)=13  && DIBUJAR CON CODIGO UPC X 13
                 .nBarcodeType = 151
            OTHERWISE   && DIBUJAR CON CODIGO C39
               .nBarcodeType = 121
         ENDCASE

        
         .nImageHeight = 90
         .nFactor = 3                    && Dibuja mejor, más legible en la GC420t
         .lAddCheckDigit = .F.
    ENDWITH

    *-- Barcode image size: 355 x 90 -- END --

   * Llamada a una función en SQLServer que devuelve los datos del artículo como un objeto
   oItem = SQLObjetoReg([dbo.KARDatosArt(']+CODIGO+[')])
 

   cNomTiket = '\OMEGA\SISTEMA\REPORTES\KarEtiquetaCodBarGC420t'
  
   CREATE CURSOR _CODS ( ETIQNO NUMERIC(4,0),CODIGO CHAR(16), PVP NUMERIC(10,4), NOMBRE CHAR(50))
   SELECT _CODS
   FOR I = 1 TO THISFORM.No.Value
       APPEND BLANK
       REPLACE ETIQNO WITH I,;
                  CODIGO WITH CRSRENENT.CODIGO,;
               PVP    WITH oItem.PVPA,;
               NOMBRE WITH oItem.NOMBRE
   ENDFOR
   LABEL FORM  (cNomTiket) PREVIEW
   loFbc = NULL
ENDIF  

5.- Con esto no necesitas utilizar ningún lenguaje de Zebra, puro VFP+ FoxBarCode. Me funciona exelente.

Atentamente,

MILTON CACHIPUENDO
ServySistem Online
Ibarra - Ecuador
  

mpulla

unread,
Oct 1, 2013, 10:27:12 AM10/1/13
to publice...@googlegroups.com
Buen día.

Que agradecido por la ayuda prestada.

Solo una duda más, probando FoxBarCode con 128C cuando se ingresa un número de longitud impar (1, 123, 14526) FoxCodeBar adiciona un cero a la izquierda, este comportamiento es propio de 128C?

Saludos.
Mauricio

Luis Maria Guayan

unread,
Oct 1, 2013, 11:14:29 AM10/1/13
to publice...@googlegroups.com
Los códigos 128C e I2of5 para lograr su compresión agrupan los dígitos de a pares, con lo que si la cadena a codificar es de longitud impar añaden un "0" (cero) a la izquierda para que la longitud sea par.


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

mpulla

unread,
Oct 16, 2013, 9:37:08 AM10/16/13
to publice...@googlegroups.com
Hola Milton.

Gracias por la respuesta y el ejemplo.

Saludos.
Mauricio
Reply all
Reply to author
Forward
0 new messages