https://www.facebook.com/pages/Help-Mybusiness-Pos/872049289561614
Autor: jose felix
Alta Rápida de Artículos
Tenemos un desarrollo para que puedas dar de alta los artículos de forma parecida a una hoja de Excel
Alta Rápida de Artículos
Alta Rápida - Inventario v20
Alta rápida - Inventario 2012
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
Alinear Texto con PadL, PadR y PadC
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
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
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