Descarga el Emulador de impresora
Permite crear archivos PDF de manera rápida y sencilla.
pdf creator,
pdfcreator
Whats 7222816462. Mejoramos la experiencia en el Punto de Venta de tu NEGOCIO
Descarga el Emulador de impresora
Permite crear archivos PDF de manera rápida y sencilla.
pdf creator,
pdfcreator
La impresora recomendada para MyBusinessPOS es EcLine 5890x ,
también es compatible con el siguiente archivo, editor de ticket
Muchos nos vemos en la necesidad de modificar la fuente y tamaño del ticket en MyBusiness POS.
Existen dos formas de hacerlo, depende del caso:
En este caso, ir a la ruta dentro del business manager, Configuración–presonalización–procedimientos y rutinas de usuario–FORMATOTEXTO
El código es el siguiente:
Sub Main()
Dim p, s
On error resume next ‘En caso de error, el script continua sin mostrar error
‘Impresora de tickets definida en las Estación de trabajo
Set p = ImpresoraDefault(Ambiente.rstEstacion(“pticket”))
‘Ruta del logo: C:\archivos de programa\MyBusiness POS 2012\images\logo.jpg
‘El logo debe tener extensión .jpg
‘Los números 0, 0, 3, 4 son las coordenadas y tamaño del logo
‘Si desea imprimir el logo, descomenta estas dos lineas
‘ p.ScaleMode = 7 ‘ Centimetros
‘p.PaintPicture LoadPicture(Ambiente.Path & “\images\logo.jpg”), 0, 0, 3, 4
p.Font.Name = “Courier New” ‘Fuente recomendada: Tahoma o Courier New
p.Font.Size = 8 ‘Tamaño de la fuente, tamaño de letra
For n = 1 To 2 ‘Número de saltos de línea necesarios en el texto
s = s & vbCrLf ‘Saltos después del logo para evitar sobreescritura
Next
pt (p),(s) ‘ pt (print text) imprime el texto indicado (impresora), (texto)
pt (p),(Script.textToFormat)
p.EndDoc
End Sub
‘
El siguiente bloquecito de código lo podemos encontrar en el formato de ticket USB en la ruta Configuración–Personalización–Formatos del Sistema–Ticket USB.
Aquí podemos identificar la función EstableceFuente “Fuente a elegir”, TamañoFuente
IniciaDocumento 'Inicia con la impresión USB
' EstableceImpresora "Mi Impresora laser" 'esta linea permite elegir impresora USB destino
EstableceFuente "Courier New", 8 'Fuente que tendra el ticket USB
Say 0,.2, cSalida 'Alineación del texto, en pulgadas. cSalida es el texto a imprimir
FinDocumento 'Termina la Impresión USB
'
Por qué usar la fuente courier new? La única ventaja de courier es que al ser monospace (espacio fijo en cada letra) permite alinear el texto. Sin embargo, existen más fuentes que pueden alinearse de la misma forma; ya Muchos clientes sienten incómodos al ver el ticket con una fuente tan cuadrada como curier new.
Esta es la lista de fuentes que pueden ser de utilidad.
En otros posts hemos mostrado cómo utilizarl las fuentes d eticket . Aún así, muy pronto publicaremos una propuesta para utilizar las fuentes y probar los resultados.
En este ejemplo veremos cómo alinear el texto de un ticket con las funciones
Sub Main()
'La letra posterior a PAD es el lado que se rellenará de espacios
a = padL ("Frase de prueba",40) 'Relleno IZQUIERDO. Alinea a la derecha
b = PadC ("Frase de prueba",40) 'Ambos lados. Alinear al centro
c = PadR ("Frase de prueba",40) 'Relleno DERECHO. Alineación a la izquierda
mymessage "PadL: '" & a & "'" & vbcrlf & _
"PadC: '" & b & "'" & vbcrlf &_
"PadR: '" & c & "'"
End Sub
'PADL() Alineación a la DERECHA inserta los caracteres de relleno a la Izquierda
Function PadL(cadena,nLongitud)
dim clen
dim temp
dim char
char = " " 'espacio en blanco
on error resume next
'Tomamos la cadena enviada en el parámetro
'eliminando los chares vacios izq-dch
temp = trim(cadena)
clen = len(temp)
for n=1 to nLongitud
char = char & " "
Next
'Analizamos si la nLongitud justificada es menos
'que la propia cadena enviada en parámetro.
if clen < nLongitud then
temp = mid(char,1,nLongitud - clen) & temp 'Alineación a la Derecha
end if
PadL = temp
end function
'PADR() Alineación a la IZQUIERDA inserta los caracteres de relleno a la derecha
Function PadR(cadena,nLongitud)
dim clen
dim temp
char = " " 'espacio en blanco
on error resume next
'Tomamos la cadena enviada en el parámetro
'eliminando los chares vacios izq-dch
temp = trim(cadena)
clen = len(temp)
for n=1 to nLongitud
char = char & " "
Next
'Analizamos si la nLongitud justificada es menos
'que la propia cadena enviada en parámetro.
if clen < nLongitud then
temp = temp & mid(char,1,nLongitud - clen) 'Alineación a la Izquierda
end if
PadR = temp
end function
'PADC() Alineación al CENTRO inserta los caracteres de relleno a ambos lados
Function PadC(cadena,nLongitud)
dim clen
dim temp
char = " " 'espacio en blanco
'on error resume next
'Tomamos la cadena enviada en el parámetro
'eliminando los chares vacios izq-dch
temp = trim(cadena)
clen = len(temp)
for n = 1 to nLongitud
char = char & " "
Next
'Espacios al lado Izquierdo
nEspaciosA = formato((nLongitud - clen)/2 , "#.0")
DondeEstaElPunto = clAt( ".", nEspaciosA ) - 1
'Espacios al lado derecho
nEspaciosA = mid(nEspaciosA,1,DondeEstaElPunto)
nEspaciosB = nLongitud -clen - nEspaciosA
'Analizamos si la nLongitud justificada es menos
'que la propia cadena enviada en parámetro.
if clen < nLongitud then
temp = mid(char,1,nEspaciosA) & _
temp & _
mid(char,1,nEspaciosB) 'Alineación a la Izquierda
end if
PadC = temp
end function
Espero sea de utilidad estas funciones que dejo a su disposición en espera de que correspondan con un pomo para seguir inspirados.
Saludos
José Félix
En este ejemplo vamos a colocar la descripcion de un producto en varias lineas.
Para aplicarlo, modificaremos el formato TICKET, el cual esta en Configuracion–Personalizacion–formatos del sistema–Ticket
'------------------------------
'asi quedara el resultado
CANT. DESCRIPCION IMPORTE
1.00 TORNILLO CUERDA 15.00
X, CABEZA PLANA
TIPO CRUZ 3/4 PULG
'-------------------------------
'--------------------------------------------------
'Al inicio del código, identificaremos esta linea de consulta
Set rstPartidas = Rst("SELECT partvta.prcantidad, partvta.iespecial, partvta.id_salida, partvta.kit, partvta.articulo, prods.precio1,prods.descrip, partvta.precio, partvta.cantidad, partvta.descuento, partvta.impuesto, partvta.preciobase, partvta.prdescrip, prods.serie FROM partvta INNER JOIN prods ON prods.articulo = partvta.articulo WHERE venta =" & rstEncabezado.fields("Venta"), Ambiente.Connection )
'Agregaremos el campo partvta.observ y quedaría así
Set rstPartidas = Rst("SELECT partvta.prcantidad, partvta.iespecial, partvta.id_salida, partvta.kit, partvta.articulo, prods.precio1,prods.descrip, partvta.precio, partvta.cantidad, partvta.descuento, partvta.impuesto, partvta.preciobase, partvta.prdescrip, prods.serie,partvta.observ FROM partvta INNER JOIN prods ON prods.articulo = partvta.articulo WHERE venta =" & rstEncabezado.fields("Venta"), Ambiente.Connection )
'--------------------------------------------------
'identificaremos esta linea, aproximadamente es la numero 142
'strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & cDescrip & cLineaNueva & " " & cImporte
'agregamos esta linea para que la descripcion sea corta y se complemente con los saltos de linea
strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & PadL( Mid( rstPartidas("observ"),1,16 ),16) & cImporte & cLineaNueva
'Si se necesita multiples lineas para la descripcion, colocar este bloque de codigo
if Len (rstPartidas("observ")) > 16 Then
strSalida = strSalida & " " & Mid( rstPartidas("observ"),17,16) & cLineaNueva
end if
if Len (rstPartidas("observ")) > 32 Then
strSalida = strSalida & " " & Mid( rstPartidas("observ"),33,16) & cLineaNueva
end if
'esta linea agrega la descripcion y los importes al ticket
cSalida = cSalida & strSalida & cLineaNueva