Publicado el 1 comentario

Abrir cajón de dinero con impresora USB

Para abrir el cajón de dinero, es necesario enviar la instrucción desde el controlador (driver) de la impresora, en la pestaña Comandos Adicionales aparece una opción para abrir cajón de dinero cada vez que se envía una impresión.

En las propiedades de la impresora genérica USB, los comandos de impresora son los siguientes:

  • Comando para Abrir el cajón
    <1B>p0<1414>
  • Comando para Cortar el papel, al finalizar trabajo de impresión
    <0A0A0A0A0A1B>i<0D0A>

Publicado el Dejar un comentario

Zebra 2844 USB

zebra2844_mybusinessposLa impresora Zebra que se conecta por cable USB se comporta de forma similar a cualquier otra impresora de tickets y puede programarse como tal; por ejemplo, vemos que tiene las funciones IniciaDocumento y FinDocumento.



Sub Main()
Dim rstProds
Dim n

Set rstProds = CreaRecordSet( _
“SELECT * FROM prods WHERE etiquetas > 0”,_
Ambiente.Connection )

While Not rstProds.EOF

For n = 1 To rstProds(“etiquetas”)
ImprimeEtiqueta rstProds
Next

rstProds.MoveNext

Wend

End Sub

Sub ImprimeEtiqueta( rstProds )

EstableceImpresora “ZDesigner LP 2844
IniciaDocumento

EstableceFuente “C39HrP24DhTt”,35
Say 5.25, 3.53, “*” & Trim(rstProds(“articulo”)) & “*”
EstableceFuente “Times New Roman”, 9
Say 5.1, 3.53, “$ ” & PadL(Formato( rstProds(“precio1”), Ambiente.FDinero ),6)
‘Trim(rstProds(“Descrip”))

FinDocumento

End Sub

Publicado el 3 comentarios

ZEBRA 2844 CON PRESENTACIONES Y UNIDAD

'|----------------------------------------------------------------------------------|
'| 2010-10-25 |
'| JOSE FELIX SANCHEZ (jofelchez@gmail.com) |
'| El siguiente procedimiento imprime las etiquetas de cada uno de los articulos, |
'| incluyendo sus presentaciones |
'| AGREGAMOS EL CAMPO UNIDAD |
'|----------------------------------------------------------------------------------|

Public Sub Main ()

‘Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, descrip, etiquetas, precio1, precio2, precio10 FROM prods WHERE etiquetas > 0”, Ambiente.Connection )
‘AGREGAMOS EL CAMPO UNIDAD
Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, descrip, etiquetas, precio1, precio2, precio10,UNIDAD FROM prods WHERE etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)
‘ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), “” , “” , “” , “” , “” , “”
‘AGREGAMOS EL CAMPO UNIDAD
ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), “” , “” , “” , “” , “” , “”, rstPartidas(“UNIDAD”)
Next

rstPartidas.MoveNext

Wend
‘AGREGAMOS LA UNIDAD
Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, prods.descrip, prods.precio1, UPPER(clavesadd.clave) AS clave, clavesadd.dato1, clavesadd.dato2, clavesadd.cantidad, clavesadd.unidad, clavesadd.etiquetas, clavesadd.precio, PRODS.UNIDAD AS UNIDAD_ARTICULO FROM clavesadd INNER JOIN prods ON clavesadd.articulo = prods.articulo WHERE clavesadd.etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)

ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), rstPartidas(“clave”) , rstPartidas(“dato1”), rstPartidas(“dato2”) , Formato(rstPartidas(“cantidad”), “##,##0.00” ), rstPartidas(“unidad”) , Formato(rstPartidas(“precio”), “##,##0.00” ), rstPartidas(“UNIDAD_ARTICULO”)
Next

rstPartidas.MoveNext

Wend

End sub

‘AGREGAMOS LA VARIABLE UNIDAD
Public Sub ImprimeEtiqueta( cPuerto, cArticulo, cDescrip, cPrecioDeLista, cClave, cDato1, cDato2, cCantidad, cUnidad, cPrecioPresentacion , cUNIDAD_ARTICULO )

cPuerto = Trim( cPuerto )
cArticulo = Trim( cArticulo )
cDescrip = Trim( cDescrip )
cDato1 = Trim( cDato1 )

cClave = Trim( cClave )
cDato2 = Trim( cDato2 )
cUnidad = Trim( cUnidad )
‘AGREGAMOS LA VARIABLE UNIDAD
cUNIDAD_ARTICULO = Trim( cUNIDAD_ARTICULO )

cSalida = “”

‘ Aqui se puede modificar la etiqueta utiliza un lenguaje llamado EPL2 le adjunto manual del
lenguaje, tambien si tienen la información del formato de la etiqueta y quieren que la
‘ diseñe por favor mandemelo
‘ Aqui se muestran los comandos basicos
‘ El comando N inicia la etiqueta
‘ El comando A muestra un dato de texto en donde el 250 es la posición en el eje de las X
‘ y el 15 la posición en el eje de las Y
‘ El comando B muestra el código de barras donde 250 es la posición en el eje de las X y 45
‘ Es la posición de inicio del eje de las Y
‘ El comando P Finaliza la etiqueta y el nunero 1 indica cuantas etiquetas se van a imprimir

cSalida = cSalida & “N” & Chr(13) & Chr(10) ‘LIBERAMOS LA MEMORIA
cSalida = cSalida & “D14” & Chr(13) & Chr(10) ‘DENSIDAD DE LA IMPRESION, DE 0 A 15
‘LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 22 DEL MANUAL: A = ASCII; 05 = POSICION X; 11=POSICION Y; 0=GIRO 0 GRADOS; 2= TAMAÑO LETRA; 1=ESCALA EN HORIZONTAL; 1 = ESCALA VERICAL; N=LIMPIA MEMORIA
cSalida = cSalida & “A05,11,0,2,1,1,N,” & Chr(34) & Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
‘LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 29 DEL MANUAL: B = CODIGO DE BARRAS; 05 = POSICION X; 30=POSICION Y; 0=GIRO 0 GRADOS; 1= TIPO DE CÓDIGO(CODE39); 2=SEPARACIONDE LAS BARRAS; 6 = TAMAÑO HORIZONTAL; 40=TAMAÑO VERTICAL; B=MOSTRAR LOS CARACTERES ABAJO DEL CÓDIGO DE BARRAS
cSalida = cSalida & “B05,30,0,1,2,6,40,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–
‘linea de codigo de barras de la version 2011
‘cSalida = cSalida & “B05,30,0,2,1,6,25,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘linea de codigo de barras de la version 2006
‘cSalida = cSalida & “B250,60,0,1,2,6,80,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–

EN CASO DE QUE HAYA UNA CLAVE DE PRESENTACION
if cClave <> “” then

cSalida = cSalida & “A05,81,0,2,1,1,N,” & Chr(34) & Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “B05,100,0,1,2,6,30,B,” & Chr(34) & cClave & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,140,0,1,1,1,N,” & Chr(34) & Mid( cDato2,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,155,0,1,1,1,N,” & Chr(34) & Mid( cCantidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,170,0,1,1,1,N,” & Chr(34) & Mid( cUnidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)

end if

‘ESTA LINEA MUESTRA EL CAMPO UNIDAD, LO COLOQUÉ AL FINAL PARA QUE LO PUEDA VISUALIZAR
cSalida = cSalida & “A05,185,0,2,1,1,N,” & Chr(34) & “UNIDAD: ” & Mid( cUNIDAD_ARTICULO,1, 12 ) & Chr(34) & Chr(13) & Chr(10)

‘cSalida = cSalida & “A220,55,0,4,1,1,N,” & Chr(34) & “$” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
‘CON P1, ESPECIFICAMOS QUE SE DEBE IMPRIMIR UNA ETIQUETA Y FINALIZAMOS ESTA
cSalida = cSalida & “P1” & Chr(13) & Chr(10)

‘msgbox cSalida

‘——————————————————————————————-
‘EL SIGUIENTE BLOQUE QUE APARECE EN VERDE ES POR SI QUISIERAMOS IMPRIMIR VIA USB
IniciaDocumento
EstableceFuente “Times New Roman”, 9
‘ Say 2.3, 3.4, Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista
EstableceFuente “C39HrP24DhTt”, 40
‘ Say 2.5, 3.4, cArticulo

‘if cClave <> “” then

EstableceFuente “Times New Roman”, 9
‘ Say 3.1, 3.4, Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion
‘ Say 3.3, 3.4, “Tipo: ” & Mid( cDato2,1, 16 )

EstableceFuente “C39HrP24DhTt”, 30
‘ Say 3.5, 3.4, cClave

EstableceFuente “Times New Roman”, 9
‘ Say 4.0, 3.4, “Cantidad: ” & Mid( cCantidad,1, 16 )
‘ Say 4.1, 3.4, “Unidad: ” & Mid( cUnidad,1, 16 )

end if

FinDocumento
‘———————————————————————————–

if Ambiente.rstEstacion(“ietiquetas”) <> 0 Then
if clAt( “LPT”, Ambiente.rstEstacion(“ietiquetaspuerto”) ) > 0 Then
Out Trim(Ambiente.rstEstacion(“ietiquetaspuerto”)), cSalida
else
if Ambiente.ImpresoraDeEtiquetas.PortOpen Then
Ambiente.ImpresoraDeEtiquetas.Output = cSalida
end if
end if
end if

Dormir 100
Eventos

End Sub

 

Publicado el Dejar un comentario

ZEBRA 2844 CON PRESENTACIONES

'|----------------------------------------------------------------------------------|
'| 2010-10-13 |
'| JOSE FELIX SANCHEZ (jofelchez@gmail.com) |
'| El siguiente procedimiento imprime las etiquetas de cada uno de los articulos, |
'| incluyendo sus presentaciones |
'|----------------------------------------------------------------------------------|

Public Sub Main ()

Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, descrip, etiquetas, precio1, precio2, precio10 FROM prods WHERE etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)
ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), “” , “” , “” , “” , “” , “”
Next

rstPartidas.MoveNext

Wend

Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, prods.descrip, prods.precio1, UPPER(clavesadd.clave) AS clave, clavesadd.dato1, clavesadd.dato2, clavesadd.cantidad, clavesadd.unidad, clavesadd.etiquetas, clavesadd.precio FROM clavesadd INNER JOIN prods ON clavesadd.articulo = prods.articulo WHERE clavesadd.etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)
‘ ImprimeEtiqueta “LPT1”, rstPartidas(“clave”), “”,rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), Formato(rstPartidas(“precio2”), “##,##0.00” ), Formato(rstPartidas(“precio10”), “##,##0.00” )
ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), rstPartidas(“clave”) , rstPartidas(“dato1”), rstPartidas(“dato2”) , Formato(rstPartidas(“cantidad”), “##,##0.00” ), rstPartidas(“unidad”) , Formato(rstPartidas(“precio”), “##,##0.00” )
Next

rstPartidas.MoveNext

Wend

End sub

Public Sub ImprimeEtiqueta( cPuerto, cArticulo, cDescrip, cPrecioDeLista, cClave, cDato1, cDato2, cCantidad, cUnidad, cPrecioPresentacion )

cPuerto = Trim( cPuerto )
cArticulo = Trim( cArticulo )
cDescrip = Trim( cDescrip )
cDato1 = Trim( cDato1 )

cClave = Trim( cClave )
cDato2 = Trim( cDato2 )
cUnidad = Trim( cUnidad )

cSalida = “”

‘ Aqui se puede modificar la etiqueta utiliza un lenguaje llamado EPL2 le adjunto manual del
lenguaje, tambien si tienen la información del formato de la etiqueta y quieren que la
‘ diseñe por favor mandemelo
‘ Aqui se muestran los comandos basicos
‘ El comando N inicia la etiqueta
‘ El comando A muestra un dato de texto en donde el 250 es la posición en el eje de las X
‘ y el 15 la posición en el eje de las Y
‘ El comando B muestra el código de barras donde 250 es la posición en el eje de las X y 45
‘ Es la posición de inicio del eje de las Y
‘ El comando P Finaliza la etiqueta y el nunero 1 indica cuantas etiquetas se van a imprimir

cSalida = cSalida & “N” & Chr(13) & Chr(10) ‘LIBERAMOS LA MEMORIA
cSalida = cSalida & “D14” & Chr(13) & Chr(10) ‘DENSIDAD DE LA IMPRESION, DE 0 A 15
‘LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 22 DEL MANUAL: A = ASCII; 05 = POSICION X; 11=POSICION Y; 0=GIRO 0 GRADOS; 2= TAMAÑO LETRA; 1=ESCALA EN HORIZONTAL; 1 = ESCALA VERICAL; N=LIMPIA MEMORIA
cSalida = cSalida & “A05,11,0,2,1,1,N,” & Chr(34) & Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
‘LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 29 DEL MANUAL: B = CODIGO DE BARRAS; 05 = POSICION X; 30=POSICION Y; 0=GIRO 0 GRADOS; 1= TIPO DE CÓDIGO(CODE39); 2=SEPARACIONDE LAS BARRAS; 6 = TAMAÑO HORIZONTAL; 40=TAMAÑO VERTICAL; B=MOSTRAR LOS CARACTERES ABAJO DEL CÓDIGO DE BARRAS
cSalida = cSalida & “B05,30,0,1,2,6,40,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–
‘linea de codigo de barras de la version 2011
‘cSalida = cSalida & “B05,30,0,2,1,6,25,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘linea de codigo de barras de la version 2006
‘cSalida = cSalida & “B250,60,0,1,2,6,80,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–

EN CASO DE QUE HAYA UNA CLAVE DE PRESENTACION
if cClave <> “” then

cSalida = cSalida & “A05,81,0,2,1,1,N,” & Chr(34) & Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “B05,100,0,1,2,6,30,B,” & Chr(34) & cClave & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,140,0,1,1,1,N,” & Chr(34) & Mid( cDato2,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,140,0,1,1,1,N,” & Chr(34) & Mid( cCantidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,155,0,1,1,1,N,” & Chr(34) & Mid( cUnidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)

end if

‘cSalida = cSalida & “A220,55,0,4,1,1,N,” & Chr(34) & “$” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
‘CON P1, ESPECIFICAMOS QUE SE DEBE IMPRIMIR UNA ETIQUETA Y FINALIZAMOS ESTA
cSalida = cSalida & “P1” & Chr(13) & Chr(10)

‘msgbox csalida

‘——————————————————————————————-
‘EL SIGUIENTE BLOQUE QUE APARECE EN VERDE ES POR SI QUISIERAMOS IMPRIMIR VIA USB
IniciaDocumento
EstableceFuente “Times New Roman”, 9
‘ Say 2.3, 3.4, Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista
EstableceFuente “C39HrP24DhTt”, 40
‘ Say 2.5, 3.4, cArticulo

‘if cClave <> “” then

EstableceFuente “Times New Roman”, 9
‘ Say 3.1, 3.4, Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion
‘ Say 3.3, 3.4, “Tipo: ” & Mid( cDato2,1, 16 )

EstableceFuente “C39HrP24DhTt”, 30
‘ Say 3.5, 3.4, cClave

EstableceFuente “Times New Roman”, 9
‘ Say 4.0, 3.4, “Cantidad: ” & Mid( cCantidad,1, 16 )
‘ Say 4.1, 3.4, “Unidad: ” & Mid( cUnidad,1, 16 )

end if

FinDocumento
‘———————————————————————————–

if Ambiente.rstEstacion(“ietiquetas”) <> 0 Then
if clAt( “LPT”, Ambiente.rstEstacion(“ietiquetaspuerto”) ) > 0 Then
Out Trim(Ambiente.rstEstacion(“ietiquetaspuerto”)), cSalida
else
if Ambiente.ImpresoraDeEtiquetas.PortOpen Then
Ambiente.ImpresoraDeEtiquetas.Output = cSalida
end if
end if
end if

Dormir 100
Eventos

End Sub