Este fin de semana estaré fuera de la ciudad

Centrar y Alinear 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
'identificaremos esta linea, aproximadamente es la numero 142
11
          'strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & cDescrip & cLineaNueva   & " " &  cImporte  
12
'agregamos esta linea para que la descripcion sea corta y se complemente con los saltos de linea
13
          strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & PadL( Mid( rstPartidas("observ"),1,16 ),16)  &  cImporte & cLineaNueva  
14
 
15
'Si se necesita multiples lineas para la descripcion, colocar este bloque de codigo 
16
          if Len (rstPartidas("observ")) > 16 Then
17
          		strSalida =  strSalida  & "        " & Mid( rstPartidas("observ"),17,16)   & cLineaNueva  
18
          end if
19
          if Len (rstPartidas("observ")) > 32 Then
20
          		strSalida =  strSalida  & "        " & Mid( rstPartidas("observ"),33,16)   & cLineaNueva  
21
          end if
22
'esta linea agrega la descripcion y los importes al ticket
23
          cSalida = cSalida & strSalida & cLineaNueva
24
 
25

XMLVENTA -2147352567: in Line 1227 error de sistema: -2147352567 method ‘~’ of object ‘~’ failed

Aparece este error en Mybusiness POS, en la versión más reciente de 2015:

XMLVENTA 07:33:48 -2147352567: in Line 1227 error de sistema: -2147352567 method ‘~’ of object ‘~’ failed

Esto se debe a un par de cambios que aplicó mybusiness pos para guardar en la nube, pero veo que esta incompleto.

Para solucionarlo de forma económica, vamos a hacer un truco: renombramos la función en salvaVentaEnAzure2 y crearemos una función salvaVentaEnAzure en blanco. Quedaría así:

 Visual Basic |  copy code |? 
01
02
Sub salvaVentaEnAzure()
03
 
04
End sub
05
 
06
Sub salvaventaenazure2()
07
.codigo actual
08
....codigoactual
09
....codigo
10
.
11
End sub
12
 
13

XLMVENTA salvaVentaEnAzure

Saludos

Jose felix

Cambiar logo en Punto de Venta

Podemos crear (con Office Picture Manager) la imagen con las siguientes características

  • Nombre: logo.jpg
  • Dimensiones
    • Ancho: 113px
    • Alto: 163px
  • Extensión .jpg

Este archivo reemplaza al caballito que se encuentra en la ruta C:\Archivos de Programa\MyBusiness POS 2012\Web\logo.jpg

Una vez reemplazado el archivo, en el punto de venta refrescamos la imagen con un clic derecho–Actualizar

Manejar de Series en productos

El número de serie es un número alfanumérico único asignado para identificación. Puede constar de un número entero sólo, o contener letras. Se utiliza comúnmente para identificar un objeto en particular dentro de una gran cantidad de éstos.

Para configurar la ventana de series, haremos lo siguiente:

  • En la información adicional del producto con serie, es necesario  habilitar la opción “Control de series”. Esto permite llevar el control de series, y números de pedimento.
  • Para complementar, es necesario abrir la configuración de Estacion01 (Configuración–estaciones de trabajo–estación01), Habilitar la opción “Solicitar pantalla de series”. Guardar y proceder a ingresar una compra para ver los resultados.

Esta funcionalidad puede aplicar para giros como venta de celulares, venta de partes, electrónicos, equipo de cómputo, pólizas de seguro y muchos giros más.

Para cualquier referencia, el fabricante casi siempre pide el numero de serie y comprobante de venta del producto para la garantia en caso de que el producto este fallando, o tambien donde fue vendido, a que tienda retailer fue vendido, fechas; inclusive en el mismo Numero de Serie, en algunos productos encuentras fechas, mes, año y hasta version.

Teclas de Función (F1 hasta F12) y Constantes

En MyBusiness POS se pueden especificar algunas teclas de función para necesidades específicas. Por default, las teclas que están ocupadas son

  • F1. Ayuda desde MyBusiness POS.
  • F2. Menú de Opciones que muestra los comandos a ejecutar.
  • F5. Terminar una venta y abrir la ventana de Cobro rápido.
  • F7. Dejar la venta como pendiente. Esto puede ser de utilidad cuando un cliente aun no decide terminar las compras y con ello es posible atender a un segundo cliente en ese lapso de indecisión por parte del primero.
  • F8. Recuperar una venta de un cliente en específico.
  • F9. Coloca el foco en el textbox de Cliente.
  • F11. realiza corte X
  • F12. Realiza corte Z

Después de esta lista, es posible identificar las teclas de función que se encuentran disponibles:

  • F3. Libre
  • F4. Libre
  • F6. Libre
  • F10. Libre

El procedimiento que permite aplicar la personalización se llama PUNTOV080  (Configuración–Personalización–Procedimientos y rutinas de usuario–PuntoV080).


 Visual Basic |  copy code |? 
01
02
Sub Main()  
03
'Estas líneas permiten utilizar las teclas de función 
04
'disponibles en mybusinesspos
05
    'Tecla F1, Envia un mensaje
06
    If Ambiente.Tag = 112 Then        
07
		mymessage "Presionaste F1"
08
    End If   
09
    'Tecla F2, Envia un mensaje
10
    If Ambiente.Tag = 113 Then        
11
		mymessage "Presionaste F2"
12
    End If   
13
    'Tecla F3, Envia un mensaje
14
    If Ambiente.Tag = 114 Then        
15
		mymessage "Presionaste F3"
16
    End If 
17
    'Tecla F4, Abrir la ventana de Recomendados, por ejemplo.
18
    If Ambiente.Tag = 115 Then        
19
       Script.RunForm "RECOMENDADOS", Me, Ambiente, , True
20
    End If   
21
 
22
End sub
23

Teclas de Función (F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)

Constante Valor Descripción
vbKeyF1 112 Tecla F1
vbKeyF2 113 Tecla F2
vbKeyF3 114 Tecla F3
vbKeyF4 115 Tecla F4
vbKeyF5 116 Tecla F5
vbKeyF6 117 Tecla F6
vbKeyF7 118 Tecla F7
vbKeyF8 119 Tecla F8
vbKeyF9 120 Tecla F9
vbKeyF10 121 Tecla F10
vbKeyF11 122 Tecla F11
vbKeyF12 123 Tecla F12
vbKeyF13 124 Tecla F13
vbKeyF14 125 Tecla F14
vbKeyF15 126 Tecla F15
vbKeyF16 127 Tecla F16

Constantes de códigos de tecla

Constante Valor Descripción
vbKeyLButton 1 Botón primario del mouse
vbKeyRButton 2 Botón secundario del mouse
vbKeyCancel 3 Tecla CANCEL
vbKeyMButton 4 Botón central del mouse
vbKeyBack 8 Tecla RETROCESO
vbKeyTab 9 Tecla TAB
vbKeyClear 12 Tecla SUPR
vbKeyReturn 13 Tecla ENTRAR
vbKeyShift 16 Tecla MAYÚS
vbKeyControl 17 Tecla CTRL
vbKeyMenu 18 Tecla MENÚ
vbKeyPause 19 Tecla PAUSA
vbKeyCapital 20 Tecla BLOQ MAYÚS
vbKeyEscape 27 Tecla ESC
vbKeySpace 32 Tecla BARRA ESPACIADORA
vbKeyPageUp 33 Tecla RE PÁG
vbKeyPageDown 34 Tecla AV PÁG
vbKeyEnd 35 Tecla FIN
vbKeyHome 36 Tecla INICIO
vbKeyLeft 37 Tecla FLECHA IZQUIERDA
vbKeyUp 38 Tecla FLECHA ARRIBA
vbKeyRight 39 Tecla FLECHA DERECHA
vbKeyDown 40 Tecla FLECHA ABAJO
vbKeySelect 41 Tecla SELECT
vbKeyPrint 42 Tecla IMPRIMIR PANTALLA
vbKeyExecute 43 Tecla EXECUTE
vbKeySnapshot 44 Tecla SNAPSHOT
vbKeyInsert 45 Tecla INS
vbKeyDelete 46 Tecla SUPR
vbKeyHelp 47 Tecla AYUDA
vbKeyNumlock 144 Tecla BLOQ NUM

Desde KeyA hasta KeyZ son iguales a sus equivalentes ASCII: ‘A’ hasta ‘Z’

Constante Valor Descripción
vbKeyA 65 Tecla A
vbKeyB 66 Tecla B
vbKeyC 67 Tecla C
vbKeyD 68 Tecla D
vbKeyE 69 Tecla E
vbKeyF 70 Tecla F
vbKeyG 71 Tecla G
vbKeyH 72 Tecla H
vbKeyI 73 Tecla I
vbKeyJ 74 Tecla J
vbKeyK 75 Tecla K
vbKeyL 76 Tecla L
vbKeyM 77 Tecla M
vbKeyN 78 Tecla N
vbKeyO 79 Tecla O
vbKeyP 80 Tecla P
vbKeyQ 81 Tecla Q
vbKeyR 82 Tecla R
vbKeyS 83 Tecla S
vbKeyT 84 Tecla T
vbKeyU 85 Tecla U
vbKeyV 86 Tecla V
vbKeyW 87 Tecla W
vbKeyX 88 Tecla X
vbKeyY 89 Tecla Y
vbKeyZ 90 Tecla Z

Desde Key0 hasta Key9 son iguales a sus equivalentes ASCII: ‘0’ hasta ‘9’

Constante Valor Descripción
vbKey0 48 Tecla 0
vbKey1 49 Tecla 1
vbKey2 50 Tecla 2
vbKey3 51 Tecla 3
vbKey4 52 Tecla 4
vbKey5 53 Tecla 5
vbKey6 54 Tecla 6
vbKey7 55 Tecla 7
vbKey8 56 Tecla 8
vbKey9 57 Tecla 9

Teclas del teclado numérico

Constante Valor Descripción
vbKeyNumpad0 96 Tecla 0
vbKeyNumpad1 97 Tecla 1
vbKeyNumpad2 98 Tecla 2
vbKeyNumpad3 99 Tecla 3
vbKeyNumpad4 100 Tecla 4
vbKeyNumpad5 101 Tecla 5
vbKeyNumpad6 102 Tecla 6
vbKeyNumpad7 103 Tecla 7
vbKeyNumpad8 104 Tecla 8
vbKeyNumpad9 105 Tecla 9
vbKeyMultiply 106 Tecla SIGNO DE MULTIPLICACIÓN (*)
vbKeyAdd 107 Tecla SIGNO MÁS (+)
vbKeySeparator 108 Tecla INTRO (teclado numérico)
vbKeySubtract 109 Tecla SIGNO MENOS (-)
vbKeyDecimal 110 Tecla PUNTO DECIMAL (.)
vbKeyDivide 111 Tecla SIGNO DE DIVISIÓN (/)