Publicado el 45 comentarios

Etiquetas de Código de Barras en Hoja Tamaño Carta


El generador de etiquetas de MyBusiness POS 2006 es una herramienta muy útil para la empresa. Sin embargo, en ocasiones es necesario hacer las adaptaciones necesarias para que se adapte la “caída” sobre hojas tamaño carta con etiquetas.
El código más común es el CODE39.   Este va a ser creado dentro de la siguiente ruta del Business Manager: personalización…formatos del sistema….(aquí creamos un nuevo archivo, llamado CODE39_AJUSTADO,  escribimos en el grupo ETIQUETAS, para que pueda ser utilizado desde la ventana etiquetas)
A continuación se muestra el código:

Public Sub Main()

‘TIPO DE PAPEL: 6287 T. CARTA
‘MARCA DE PAPEL: BIC PIMACO
‘ETIQUETAS/HOJA: 80
‘CONSEGUIRLO EN OFFICE DEPOT
‘IMPRESORA LÁSER
‘cada milimetro es equivalente a 57.1428571428571 pixels

IniciaDocumento

DEBIDO A QUE NUESTRA HOJA TIENE VARIAS FILAS Y COLUMNAS, SOLICITAMOS A PARTIR DE QUÉ FILA Y COLUMNA SE DEBE EMPEZAR A IMPRIMIR, POR SI EN ALGUN MOMENTO ESTÁ CASI COMPLETA LA HOJA

nColumna = InputBox( “Comenzar con la columna no.:”, 0 )
nFila = InputBox( “Comenzar con la fila no.:”, 0 )

‘EN CASO DE QUE SE CONTESTE 0 EN ALGUNO DE LOS CASOS, NO SE IMPRIMIRÁ NADA
if Val2( nColumna ) <= 0 Then
Exit Sub
end if

if Val2( nFila ) <= 0 Then Exit Sub end if ‘REALIZAMOS LA CONSULTA Set rstProds = CreaRecordSet( “SELECT * FROM prods WHERE etiquetas > 0 ORDER BY articulo”, Ambiente.Connection )

‘ESPECIFICAMOS EL LA SEPARACIÓN ENTRE CADA ETIQUETA, EN PIXELES, TANTO EN X(HORIZONTAL) COMO Y(VERTICAL)
nX = 2714.28571428571
nY = 725.714285714286

DEFINIMOS LOS MÁRGENES DE LA HOJA, EL SUPERIOR Y EL IZQUIERDO
nMargensuperior = 400
nMargenIzquierda = 828.57

While Not rstProds.EOF

cArticulo = Trim( rstProds(“articulo”) )
cDescrip = Trim( Mid(rstProds(“descrip”),1,16) ) & ” ” & Trim( rstProds(“modelo”) ) & ” ” & Trim( rstProds(“talla”) ) & ” ” & Formato( rstProds(“precio1?), “$##,##0.00? )
cEmpresa = Ambiente.Empresa

For i = 1 To rstProds(“Etiquetas”)

‘AQUÍ SE REALIZAN LAS OPERACIONES CON LAS VARIABLES QUE ANTES HABÍAMOS DEFINIDO
PosicionX = ((nX * nColumna) – nX) + nMargenIzquierda
PosicionY = ((nY * nFila) – nY) + nMargensuperior

‘EN LA SIGUIENTE LÍNEA, EL 10 ES EL GROSOR DE LAS BARRITAS, EL 200 ES LA ALTURA (EN PIXELS) DEL CÓDIGO DE BARRAS
Codigo39 PosicionX, PosicionY, 10, 200, cArticulo, True,, cDescrip

nColumna = nColumna + 1

‘EN EL SIGUIENTE BLOQUE ESPECIFICAMOS CUÁNTAS COLUMNAS VA A TENER LA HOJA TAMAÑO CARTA (EN ESTE CASO, 4)
if nColumna > 4 Then
nColumna = 1
nFila = nFila + 1
end if

if i = rstProds(“Etiquetas”) Then
Exit For
end if

‘EN EL SIGUIENTE BLOQUE ESPECIFICAMOS CUÁNTAS FILAS VA A TENER LA HOJA TAMAÑO CARTA (EN ESTE CASO, 20)
if nFila > 20 Then
nFila = 1
PaginaNueva

end if
Next
rstProds.MoveNext
Wend
FinDocumento
End Sub

 

Y listo!!!
ya tenemos nuestro formato totalmente funcional para imprimir.
Cabe aclarar que el rendimiento de una impresora láser es menor a comparación de una impresora especial para etiquetas, ya que la primera no está totalmente diseñada para este fin.

Espero sus comentarios y dudas.