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