Publicado el 4 comentarios

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

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

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

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 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 25 comentarios

Configurar MyBusiness POS en RED y Código Duro 58 [Solucionado]

También visite:  Como corregir codigo duro 58

He notado que muchos de los Distribuidores y clientes tienen problemas para hacer la conexion de MyBusiness POS 2011 en Red.

Descarga la cadena de conexión para MyBusiness POS 20

En ocasiones hay que hacer algo más allá de simplemente llenar los textBox que nos presenta el Sistema. El problema en la Conexión se presentó igual en la Versión 2010.
Al parecer, cuando damos de alta una conexión de forma errónea se nos complica un poco hacer la MODIFICACIÓN en los parámetros, esto es porque la ventana contiene errores para hacer el ajuste antes mencionado. En este caso, lo recomendable es BORRAR la conexión errónea y dar de ALTA una nueva Conexión con los datos correctos.
Otra alternativa es colocar de forma manual el nombre de la Conexion en el espacio en blanco que se muestra al final de todos los TextBox. eso es lo que se presenta en el siguiente video. Espero que sea útil…. y no se olviden de Comentar.
Aunque, si hubiera una manera de hacer un Donativo, újule sería bien recibido jeje; digo, si les es útil. Al final del día quienes más visitan este blog son DISTRIBUIDORES que van a aplicar esta Solución con sus CLIENTES.
Saludos.

https://youtu.be/LfAAzzR1Kac
Además, he agregado el siguiente video para los usuarios que tienen problemas para abrir por primera vez el sistema MyBusinessPOS: El ya famoso Error Código Duro 58.

Como información adicional, cito la siguiente información obtenida del boletín No. 41 de MyBusinessPOS.com, la cual puede ser de utilidad.

Instalar SQL para trabajar en RED

Servidor

Una vez que se introduce en CD de instalación y nos muestra el “SplashCD” damos un clic en la opción Instalar SQL para trabajar en RED la cual nos mostrará una ventana donde debemos definir el “password para el servidor de Microsoft SQL Server” capturamos el password y lo confirmamos, damos un clic en el botón “Aceptar” y continuamos con la instalación.

Una ves instalado vamos a revisar el puerto que asigno al instalar el SQL, damos clic en el botón Inicio / Todos los programas / Microsoft SQL Server 2005 / Configuration Tools / SQL Server Configuration Manager Nos mostrará la siguiente ventana en la cual damos clic en la opción de SQL Server 2005 Network Configuration / Protocolo for SQL EXPRESS / TCP/IP y damos un clic en Propiedades del TCP/IP – IP Adreses IPAII – TCP Dynamic Port. Una vez que tenemos el número de puerto hay que acceder al firewall de Windows para liberar el puerto que nos servirá para conectarnos en red

Liberar puerto en el Firewall de Windows

Damos un clic en el botón Inicio / Panel de control / Firewall de Windows / Excepciones y damos clic en Agregar puerto… Asignamos un nombre y el número de puerto que género la instalación del SQL Server, clic en TCP, clic en Aceptar.

Hasta este punto ya tenemos el password para el servidor de Microsoft SQL Server, el número de puerto del SQL y liberado el puerto en el firewall de Windows.

Cliente

En el equipo cliente damos clic en la opción “Instalar MyBusiness” al concluir con la instalación nos mostrar los “Datos generales de la empresa” en la cual colocamos el nombre de nuestra empresa y damos clic en el botón “Avanzadas” y modificaremos los siguientes datos.

1. Desactivamos la casilla de “Utilizar base de datos local”

2. Revisamos que el nombre de la base de se el mismo de no ser así cambiamos la ruta o el nombre de la misma

3. Verificamos el nombre del equipo servidor o la IP a la cual nos vamos a conectar (125.265.1.125\SQLEXPRESS) ejemplo.

4. Cambiamos el puerto que nos asigna por el que nos genero el SQL y del cual liberamos el puerto

5. Y finalmente cambiamos el password por que creamos al momento de la instalación.

Damos clic en el botón “Aceptar” y ¡listo…!!! Nos hemos conectado en Red.

Publicado el 29 comentarios

Configurar impresora ZEBRA 2844 a través de USB (Solucionado)

zebra2844_mybusinesspos2

Las impresoras de código de barras ZEBRA 2844 son muy eficientes y muestran excelentes resultados. Sin embargo, en MyBusiness POS, en ocasiones genera ciertos conflictos, sobre todo si queremos conectarla vía USB. el siguiente bloque de código está configurado para etiquetas que tienen 1” de alto X 1.25” de ancho aprox.

Para configurar la impresora, solo basta realizar los siguientes pasos:
https://youtu.be/TuhCVlZrM-0
1) instalar el driver de la impresora. esto es debido a que, cuando conectamos cualquier dispositivo vía USB, el Sistema Operativo instala un  controlador para poder hacerlo funcionar correctamente.
2) Definir la impresora ZEBRA 2844 como predeterminada (Inicio->Impresoras y faxes-> Clic derecho sobre la impresora ZEBRA2844 –>Impresora predeterminada). También es necesario configurar el tamaño del papel. para realizar esto, después de configurar la impresora predeterminada, demos clic derecho sobre la impresora ZEBRA 2844 y seleccionamos la opción Propiedades. Ahora damos clic en el botón “preferencias de impresión” y vamos a especificar el tamaño del papel 7 cm de largo X 2.54 cm de alto.
[products ids=’18217,19645′]
3) Ahora abrimos MyBusinessPOS 2006 y vamos a crear el formato para poder imprimir las etiquetas. En el Business Manager (la columna de enmedio) buscamos la siguiente ruta: Configuración-> Personalización-> Procedimientos o Rutinas de Usuario –> Aquí vamos a crear un nuevo procedimiento, en la parte superior se encuentra la opción “Nuevo”. Los datos que debemos escribir en el formulario son:

4) En el área de desarrollo, solo escribimos las siguientes líneas:

Public Sub Main()
nFila = 1
Set rstProds = CreaRecordSet( 'SELECT * FROM prods WHERE etiquetas > 0 ORDER BY articulo', Ambiente.Connection )
nY =0
nMargensuperior = 100
nMargenIzquierda = 25
While Not rstProds.EOF
cArticulo = Trim( rstProds("articulo") )
cDescrip = Trim( Mid(rstProds("descrip"),1,25) ) & " " & Trim( rstProds("modelo") ) & " " & Trim( rstProds("talla") )’ & " " & Formato( rstProds("precio1"), "$##,##0.00" )
cEmpresa = Ambiente.Empresa
For i = 1 To rstProds("Etiquetas")
PosicionX = nMargenIzquierda
PosicionY = ((nY * nFila) – nY) + nMargensuperior
IniciaDocumento
Codigo39 PosicionX, PosicionY, 10, 400, cArticulo, True,,, cDescrip
FinDocumento
if i = rstProds("Etiquetas") Then
Exit For
end if
Next
rstProds.MoveNext
Wend
End Sub

 

Otra de las recomendaciones es, cuando mandamos imprimir y de la imporesora Zebra sale el papel en blanco, es apoyarnos con una impresora virtual con PDF Creator y poco a poco vamos identificando dònde se encuentra el código impreso para ajustar la caída de forma correcta. hay que ser un poquito pacientes ya que encontrar la coordenada de impresión ideal puede tomar más de media hora a prueba y error.

Nota: Si su lector de códigos de barras no detecta la impresión, posiblemente le hace falta colocar un asterisco (*) al inicio y otro asterisco (*) al final del código de barras .