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

Congreso MyBusiness POS 2015

Solución a estos dos errores:

  • moodle error filterobject has a deprecated constructor
  • Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; filterobject has a deprecated constructor in root/public_html/cursos/lib/filterlib.php on line 438
  • Fatal error: Cannot redeclare session_gc() in root/public_html/cursos/lib/deprecatedlib.php on line 119

Causa:

Moodle 2.6 sólo es compatible con php 5.4.4

Solución:

En la carpeta raíz de tu sitio, buscar el archivo:

.htaccess 

agregar la línea 

AddHandler application/x-httpd-php54 .php

Fuente

https://stackoverflow.com/questions/12561203/how-to-change-php-version-in-htaccess-in-server

Publicado el 6 comentarios

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

'------------------------------
'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

Publicado el Dejar un comentario

Cambiar logo en Punto de Venta

Cambiar_logo_MybusinessPOSPodemos 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

oro1

Publicado el 4 comentarios

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

Manejo_series_mybusinessPOS