Publicado el Dejar un comentario

Probar con Telnet si está abierto el puerto 1400

Para MyBusinessPOS, la base de datos acepta el almacenamiento y consultas a través del puerto 1400. Este puerto debemos configurarlo en Microsoft SQL Server y en el firewall del servidor de la base de datos.

Hay varias formas de comprobar que el servidor tiene abierto el puerto 1400 para tener acceso desde el la estación de trabajo. Una de las opciones es que desde el equipo del cajero, haremos la prueba a través del comando Telnet (Inicio de windows->Ejecuta->CMD->telnet). Sin embargo, por default Telnet no está habilitado en Windows 7.

¿Como se activan los servicios Telnet en Windows 7?

  1. Ingresar al Panel de Control -> Programas y Características
  2. Ingresar a la opción Activar o Desactivar las Características de Windows (esta opción se encuentra en el Bloque de Programas y Características) .
  3. En el cuadro de dialogo ubica las caracteristicas que quieres activar, en la lista puedes encontrar Cliente Telnet y Servidor Telnet, hay que marcar las casillas de las que quieras activar y dar clic en Aceptar.
  4. Las características se “activan” y una vez concluido el proceso ya están disponibles para su uso.
  5. Para probar que el puerto 1400 está disponible, desde el equipo de la Caja abrimos nuevamente el CMD (Inicio de windows->Ejecuta->CMD) y ejecutamos
    Telnet ip_servidor 1400
    Donde:

    • ip_servidor es la dirección IP de tu equipo donde se encuentra la base de datos.
    • 1400 es el puerto es el número de puesto que deseamos probar si está abierto.
      Aparecerá una pantalla en negro, eso quiere decir que el puerto 1400 está abierto y podemos proceder con conexión de MyBusiness POS desde la estación de trabajo.
Publicado el Dejar un comentario

Exportar a texto .txt

Este es un ejemlo de cómo exportar a un archivo de texto.

Sub Main()
Dim rstClientes
Dim s

Set rstClientes = CreaRecordSet( _
"SELECT * FROM clients", Ambiente.Connection )

s = ""

If ExisteArchivo( "c:\clientes.txt" ) = True Then
If Question( "Desea eliminar el archivo", 2 ) = True Then
EliminaArchivo "c:\clientes.txt"
End If
End If

While Not rstClientes.EOF
s = Chr(34) & rstClientes("cliente") & Chr(34) & _
Chr(9) & Chr(34) & rstClientes("nombre") & Chr(34) & _
Chr(9) & Chr(34) & rstClientes("telefono") & Chr(34) & vbCrLf
OutLine "c:\clientes.txt", s
rstClientes.MoveNext
Wend

If Question( "Desea abrir el archivo", 1 ) = True Then
ShellRun Parent.hWnd, "Open", "c:\clientes.txt"
End If

End Sub

Este script puede ser de utilidad si quisiéramos ver un texto con los clientes o cualquier otro layout que se requiera para otros sistemas.

He utilizado para servicoos como facturación cfdi y para tiempo aire.
La función ExisteArchivo es genial porque lo único que escribimos como parámetro es la ruta de nuestro archivo de texto.

Lo importante es probar todas las posibilidades que existen para tener la información disponible para hacer lo que las reglas del negocio requiere.

Publicado el Dejar un comentario

Importar desde texto .txt

Este ejemplo muestra como importar un archivo txt


Sub Main()
Dim s, cliente, telefono, dondeEstaEltabulador
Dim Query, rstCliente

Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection

CloseFile 1

OpenFile "c:\clientes.txt", 1

While Not FileEOF( 1 )

s = ReadLine( 1 )

dondeEstaEltabulador = clAt( Chr(9), s )
cliente = Mid( s, 1, dondeEstaElTabulador - 1 )
cliente = Replace( cliente, Chr(34), "" )

s = Mid( s, dondeEstaElTabulador + 1 )

dondeEstaEltabulador = clAt( Chr(9), s )
nombre = Mid( s, 1, dondeEstaElTabulador - 1 )
nombre = Replace( nombre, Chr(34), "" )

telefono = Mid( s, dondeEstaElTabulador + 1 )
telefono = Replace( telefono, Chr(34), "" )

Set rstCliente = Rst( _
"SELECT cliente FROM clients WHERE cliente = '" & cliente & "'", _
Ambiente.Connection )

Query.Reset

If rstCliente.EOF Then
Query.strState = "INSERT"
Else
Query.strState = "UPDATE"
Query.Condition = "cliente = '" & cliente & "'"
End If

' Tabla, campo, valor
Query.AddField "clients", "cliente", cliente
Query.AddField "clients", "nombre", nombre
Query.AddField "clients", "telefono", telefono
Query.CreateQuery
Query.Execute

Wend

CloseFile 1

End Sub

Esta función podría ser una opción para interconectar mybusiness pos con otras herramientas externas de una forma sencilla. Utilizo la importación para descifrar la respuesta de tiempo aire y funciona bastante bien.

Publicado el Dejar un comentario

Corte Z no coincide EFE con Total Ventas

caja-de-seguridad-para-efectivo-sentry-safe-cajon-de-dinero-D_NQ_NP_380321-MLM20744306858_052016-F

En ocasiones el corte muestra ingreso de efectivo mayor al que ingresó por concepto total de ventas y genera confusión al momento de cuadrar la caja.

Para solucionar este problema, revisamos la siguiente ruta en mybusiness pos: Configuración– Conceptos de Egresos.

Revisamos que tenga el concepto de cambio; en caso de que no exista, lo agregamos con estos datos:

Clave: CAM

Descripción: CAMBIO

Control de fondo revolvente: Desactivado

Saludos

Publicado el Dejar un comentario

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

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).

Es posible usar el KeyCode = Valor

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 (/)

Código para  Code39 en código de barras

Code39 Code128 Función Teclado  ASCII
A  A  A
B  B  B
C  C  C
D  D  D
E  E  E
F  F  F
G  G  G
H  H  H
I  I  I
J  J  J
K  K  K
L  L  L
M  M  M
N  N  N
O  O  O
P  P  P
Q  Q  Q
R  R  R
S  S  S
T  T  T
U  U  U
V  V  V
W  W  W
X  X  X
Y  Y  Y
Z  Z  Z
+A +A a
+B +B b
+C +C c
+D +D d
+E +E e
+F +F f
+G g g
+H h h
+I i i
+J j j
+K k k
+L l l
+M m m
+N n n
+O o o
+P p p
+Q q q
+R r r
+S s s
+T t t
+U u u
+V v v
+W w w
+X x x
+Y y y
+Z z z
0 0 0
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
9 9 9
/A ! !
/B
/C # #
/D $ $
/E % %
/F & &
/G
/H ( (
/I ) )
/J * *
/K + +
/L , ,
/M
/N . .
/O / /
/Z : :
%A ESC ESC (Escape)
%B SEPARADOR CAMPO FS (File Separator)
%C SEPARADOR GRUPO GS (Group Separator)
%D SEPARADOR REGISTRO RS (Record Separator)
%E SEPARADOR UNIDAD US (Unit Separator)
%F ; ;
%G < <
%H = =
%I > >
%J ? ?
%K [ [
%L \ \
%M ] ]
%N ^ ^
%O _ _
%P { {
%Q | |
%R } }
%S ~ ~
%T SUPRIMIR DEL
%U NULO NU (Null)
%V @ @
%W ` `
SP ESPACIO SP
TILDE (= or ~ in the fonts)
$A a INICIO DOCUMENTO SH (Start of Heading)
$B b INICIO DEL TEXTO SX (Start of Text)
$C c FINAL DEL TEXTO EX (End of Text)
$D d FINAL DEL DOCUMENTO ET (End of Transmission)
$E e EQ (Enquiry)
$F f AK (Acknowledge)
$G g BL (Bell-Audible of Attention Signal)
$H h BORRAR UN ESPACIO BS (Backspace)
$I i TABLUADOR HORIZONTAL HT (Horizontal Tabulation)
$J j SIGUIENTE LÍNEA LF (Line Feed)
$K k TABULADOR VERTICAL VT (Vertical Tabulation)
$L l FF (Form Feed)
$M m ENTER CR (Carriage Return)
$N n SHIFT SIN PRESIONAR SO (Shift Out)
$O o SHIFT PRESIONADO SI (Shift In)
$P p SHIFT DL (Data Link Escape)
$Q q F1 D1 (Device Control 1-XON)
$R r F2 D2 (Device Control 2)
$S s F3 D3 (Device Control 3-XOFF)
$T t F4 D4 (Device Control 4)
$U u F5 NK (Negative Acknowledge)
$V v F6 SY (Synchronous Idle)
$W w F7 EB (End of Transmission Block)
$X x F8 CN (Cancel)
$Y y F9 EM (End of Medium)
$Z z F10 SB (Substitute)
%B | F11 FS
%C } F12 GS
%D
%E
%F
%G (space)
%H page up
%I page down
%J end
%K home
%L left arrow
%M up arrow
%N right arrow
%O down arrow
%P insert
%Q delete