Cambiar de Courier New por otra fuente más atractiva

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.

  • BatangChe
  • Courier New
  • DotumChe
  • FangSong
  • Lucida Sans Typewriter
  • Lucida Console
  • Consolas
  • MS Gothic
  • MS Mincho
  • Narkisim
  • NSimSun
  • SimHei
  • SimSun-ExtB

En otros posts hemos mostrado cómo utilizarlos . Aún así, muy pronto publicaremos una propuesta para utilizar las fuentes y probar los resultados.

Descarga Gratis con clave a212ed solo esta tarde

Por tiempo limitadoo a unas horas, esta tarde ponemos a tu disposición la ventana  para que puedas agregar y editar los productos desde una malla.

Código de descarga
a212ed

AltaArticulo_Malla

Alta de Artículos en forma de malla

Tenemos un desarrollo para que puedas dar de alta los artículos de forma parecida a una hoja de excel

AltaArticulo_Malla

Cargar catálogo de productos para abarrotes


Contamos con un catálogo de 1400 productos para abarrotes con sus códigos de barras. Invita un pomo y enviaré el archivo en excel y en sql.

Alinear y Centrar el texto del ticket con PadC, PadL y PadR


En este ejemplo veremos cómo alinear el texto de un ticket con las funciones

  • PadL(cadenaTexto,Longitud). Rellena de espacios a la izquierda; Alineación a la Derecha
  • PadR(cadenaTexto,Longitud). Rellena de espacios a la derecha; Alineación a la Izquierda
  • PadC(cadenaTexto,Longitud). Rellena de espacios al centro; Alineación Centrado

Para lograrlo, crearemos tres funciones, aunque PadL ya viene por default, aquí la colocaremos.

 Visual Basic |  copy code |? 
01
02
Sub Main()                   
03
	'La letra posterior a PAD es el lado que se rellenará de espacios
04
	a = padL ("Frase de prueba",40)  'Relleno IZQUIERDO. Alinea a la derecha   
05
	b = PadC ("Frase de prueba",40)  'Ambos lados. Alinear al centro
06
	c = PadR ("Frase de prueba",40)  'Relleno DERECHO. Alineación  a la izquierda
07
 
08
    mymessage "PadL: '" & a & "'" & vbcrlf & _    	
09
			  "PadC: '" & b & "'" & vbcrlf &_
10
			  "PadR: '" & c & "'"
11
 
12
End Sub
13
 
14
'PADL() Alineación a la DERECHA inserta los caracteres de relleno a la Izquierda
15
Function PadL(cadena,nLongitud)
16
    dim clen 
17
    dim temp  
18
	dim char
19
 	char = " " 'espacio en blanco
20
    on error resume next 
21
    'Tomamos la cadena enviada en el parámetro
22
    'eliminando los chares vacios izq-dch
23
    temp = trim(cadena)
24
    clen = len(temp) 
25
	for n=1 to nLongitud
26
		char = char & " "
27
	Next            
28
 
29
    'Analizamos si la nLongitud justificada es menos
30
    'que la propia cadena enviada en parámetro.
31
    if clen < nLongitud then            
32
			temp = mid(char,1,nLongitud - clen) & temp  'Alineación a la Derecha
33
    end if 
34
    PadL = temp
35
end function
36
 
37
 
38
'PADR() Alineación a la IZQUIERDA inserta los caracteres de relleno a la derecha
39
Function PadR(cadena,nLongitud)
40
    dim clen 
41
    dim temp       
42
	char = " " 'espacio en blanco
43
    on error resume next 
44
    'Tomamos la cadena enviada en el parámetro
45
    'eliminando los chares vacios izq-dch
46
    temp = trim(cadena)
47
    clen = len(temp) 
48
	for n=1 to nLongitud
49
			char = char & " "
50
	Next            
51
 
52
    'Analizamos si la nLongitud justificada es menos
53
    'que la propia cadena enviada en parámetro.
54
    if clen < nLongitud then         
55
			temp =  temp & mid(char,1,nLongitud - clen)  'Alineación a la Izquierda
56
    end if 
57
    PadR = temp
58
end function
59
 
60
 
61
'PADC() Alineación al CENTRO inserta los caracteres de relleno a ambos lados
62
Function PadC(cadena,nLongitud)
63
    dim clen 
64
    dim temp       
65
	char = " " 'espacio en blanco
66
    'on error resume next 
67
    'Tomamos la cadena enviada en el parámetro
68
    'eliminando los chares vacios izq-dch
69
    temp = trim(cadena)
70
    clen = len(temp) 
71
	for n = 1 to nLongitud
72
 		char = char & " " 
73
	Next                               
74
	'Espacios al lado Izquierdo
75
	nEspaciosA = formato((nLongitud - clen)/2 , "#.0") 
76
	DondeEstaElPunto = clAt( ".", nEspaciosA ) - 1
77
	'Espacios al lado derecho
78
	nEspaciosA = mid(nEspaciosA,1,DondeEstaElPunto)
79
	nEspaciosB = nLongitud -clen - nEspaciosA    
80
    'Analizamos si la nLongitud justificada es menos
81
    'que la propia cadena enviada en parámetro.
82
    if clen < nLongitud then         
83
			temp =  mid(char,1,nEspaciosA) & _
84
					temp & _
85
					mid(char,1,nEspaciosB)  'Alineación a la Izquierda
86
    end if 
87
    PadC = temp
88
end function
89

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

Congreso MyBusiness POS 2015

Esta información está dirigida a Distribuidores

¡¡¡Ya está todo listo para la realización de nuestro próximo Congreso Anual de Punto de Venta MyBusiness POS 2015!!! La sede será nuevamente el Hotel Emporio Acapulco, del 28 al 31 de mayo.

¿Qué vamos a tener de nuevo?

Tendremos una conferencia magistral con un multimillonario mexicano que nos dará tips de cómo alcanzar nuestra libertad financiera. Este millonario ha transformado la vida de cientos de mexicanos y lo llevaremos para que nos diga cómo. ¡IMPERDIBLE!

MyBusiness POS dará talleres de: 1) Implementación de los nuevos servicios en la nube, 2) Implementación de venta de recargas de tiempo aire y pago de servicios (luz, agua, teléfono, Etc.) y 3) Implementación de POS Tools, nuestro software para Android.

Presentaremos los planes y novedades para 2015-2016.

Nuestras marcas partner y mayoristas de hardware POS llevarán sus nuevos dispositivos con los cuales ustedes podrán hacer negocio.

Cuotas.

Éstas con las cuotas por persona para que nuestros distribuidores se puedan inscribir YA (recuerden que el cupo es limitado):

Del 03-Mar al 31-Mar: $2,500 + IVA = $2,900

Del 01-Abr al 30-Abr: $3,000 + IVA = $3,480

Del 01-May al 15-May: $3,500 + IVA = $4,060

¿Qué incluye?

Una cama en habitación doble compartida por cuatro días y tres noches en el Hotel Emporio Acapulco.

Conferencias de fabricantes y mayoristas.

Una licencia de MyBusiness POS 2012 para reventa y licenciamiento de los nuevos servicios en la nube, para los que asistan a todas las conferencias y mesas demostrativas.

3 desayunos para una persona.

3 comidas para una persona.

3 cenas para una persona.

Llegada el jueves 28-May con comida incluida y salida el domingo 31-May con desayuno incluido.

No incluye transportación terrestre.

El número máximo de asistentes por empresa es de dos. En el caso de que asistan cónyuges tienen que comprobar que laboran en la misma empresa.

EL CUPO ES LIMITADO y está diseñado para distribuidores realmente interesados en generar negocio y asistir a todas las conferencias y talleres.

Para inscribirte deposita o transfiere a esta cuenta: Banorte MN, Sucursal: 2409, No. de Cuenta: 0559182220, CLABE Interbancaria: 072420005591822203, a nombre de: MyBusiness POS Desarrollos, S. A. de C. V., RFC: MPD0611012U4

Y envía tu comprobante a E ventos@MyBusinessPOS.com indicando:

Nombre completo del asistente.

Datos fiscales.

E-mail al que deseas recibir tu factura electrónica.

Mayorista al que le compras y tu clave de distribuidor.

Si no envías estos datos junto con tu comprobante tu lugar no está asegurado.

Colocar descripcion con varias lineas en ticket

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

 Visual Basic |  copy code |? 
01
02
'------------------------------
03
'asi quedara el resultado
04
CANT. DESCRIPCION       IMPORTE
05
1.00  TORNILLO CUERDA   15.00 
06
       X, CABEZA PLANA
07
      TIPO CRUZ 3/4 PULG
08
'-------------------------------
09
 
10
'--------------------------------------------------
11
'Al inicio del código, identificaremos esta linea de consulta
12
    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 )    
13
 
14
'Agregaremos el campo partvta.observ y quedaría así
15
    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 ) 
16
'--------------------------------------------------  
17
 
18
'identificaremos esta linea, aproximadamente es la numero 142
19
          'strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & cDescrip & cLineaNueva   & " " &  cImporte  
20
'agregamos esta linea para que la descripcion sea corta y se complemente con los saltos de linea
21
          strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & PadL( Mid( rstPartidas("observ"),1,16 ),16)  &  cImporte & cLineaNueva  
22
 
23
'Si se necesita multiples lineas para la descripcion, colocar este bloque de codigo 
24
          if Len (rstPartidas("observ")) > 16 Then
25
          		strSalida =  strSalida  & "        " & Mid( rstPartidas("observ"),17,16)   & cLineaNueva  
26
          end if
27
          if Len (rstPartidas("observ")) > 32 Then
28
          		strSalida =  strSalida  & "        " & Mid( rstPartidas("observ"),33,16)   & cLineaNueva  
29
          end if
30
'esta linea agrega la descripcion y los importes al ticket
31
          cSalida = cSalida & strSalida & cLineaNueva
32
 
33