Publicado el Dejar un comentario

Quitar permiso de modificar precio

En ocasiones necesitamos bloquear permiso a usuarios limitados acerca del cambio de precios en el punto de venta.
Sin embargo, algunas versiones de mybusiness POS omite esta restricción o está incompleta. Como alternativa, quiero compartir con ustedes este bloque de código que oculta la columna de precio unitario a los usuarios que no tienen permiso de modificar el precio de venta.

Para comenzar, modificaremos el procedimiento PUNTOV001, el cual se encuentra en ConfiguraciÓn–Personalización–Procedimientos y rutinas de usuario–PUNTOV001

Nos vamos hasta el final del código e identificamos esta línea

End Sub 'Esta es la ultima línea

Antes de esta, colocaremos el bloque de código y quedaría así:

'validamos que sea un usuario con permisos para cambiar precio
Set rstUsuario = Rst( _
"SELECT * FROM usuventas WHERE usuario = '" & Ambiente.Uid & "'", Ambiente.Connection )

If Not rstUsuario.EOF Then
If rstUsuario(“Precio”) = 0 Then
fg2.ColWidth(15) = 0
‘Exit Sub
End If
End If
‘Finaliza la validación de usuario con privilegios

End Sub ‘Esta es la ultima línea
‘ .

Guardamos los cambios.

Ahora vamos a configurar el usuario limitado en Configuracion–Usuarios
Daremos clic derecho en el usuario y seleccionamos Derechos de Ventas. Deshabilitaremos la opción Cambiar Precio de Venta

Publicado el 3 comentarios

Cómo alinear números en ticket

Una fuente apropiada para alinear números en el ticket es la Courier New

Para alinear a la derecha un texto o un número existe la función PadL con esta sintaxis:
PadL (número, cantidad_espacios, relleno)

cDescrip = PadL( Mid( rstPartidas(“Descrip”), 1, 15 ), 15 )

Publicado el Dejar un comentario

Cómo quitar espacios y líneas en ticket

Puede descargar de helpmybusinesspos.info el formato “ticket reducido”  y por lo que identifico solo sería necesario quitar a algunas partes el texto que hace los saltos de línea :

& cLineaNueva

Para colocar la línea punteada,  identifique la línea sonde dice


cSalida = cSalida & "CANT.  DESCRIP.  P.U. TOTAL" & cLineaNueva

Y le colocamos este código


cSalida = cSalida & "---------------------------" & cLineaNueva
cSalida = cSalida & "CANT.  DESCRIP.  P.U. TOTAL" & cLineaNueva 
cSalida = cSalida & "---------------------------" & cLineaNueva

Publicado el 1 comentario

Personalizar comandos en punto de venta

En es sistema buscamos el procedimiento PUNTOV031 (business manager–configuracion–personalizacion–procedimientos y rutinas de usuario)
Dentor de este encontramos la función ValidaComando(). Ahí podemos ver cómo se invoca a las dierentes ventanas, como el Z010, Z009, Z026 y además podemos agregar las que necesitemos personalizar.


Sub ValidaComando()

If clAt( "/", Articulo ) > 0 And clAt( "//", Articulo ) = 0 Then
Call cantidaporPrecio()
Exit Sub
End If

If Trim(UCase(Articulo)) = "COMPRAS" Then
Set Compras = CreateObject( "MyBCompras.Compras" )
Set Compras.Ambiente = Ambiente
Compras.NuevaCompra True
End If

If Len( Trim( Articulo ) ) <> 4 Then
Exit Sub
End If

If clAt( "Z", UCase(Articulo) ) <> 1 Then
Exit Sub
End If

Select Case UCase(Articulo)
Case "Z001"
Script.RunForm "ALTACLIENTE", Me, Ambiente,, True
Case "Z002"
Me.OperacionBloqueada = False
txtFields(3) = "Operación Reactivada"
Case "Z003"
Me.FinalizaOperacion
Case "Z004"
Script.RunForm "ALTARAPIDA", Me, Ambiente,, True
Case "Z005"

If Question(Mensaje(642, Ambiente)) Then
Me.BorraVenta = True
Me.FinalizaOperacion
End If

Case "Z006"

Me.RecuperaVentaDeCliente

Case "Z007"

If txtFields(0).Enabled Then
txtFields(0).SetFocus
End If

Case "Z008"

AplicaDescuento

Case "Z009"

Script.RunProcess "CORTEX", Me, Ambiente

Case "Z010"

Script.RunProcess "CORTEZ", Me, Ambiente

Case "Z011"

Script.RunForm "PAGOEFECTIVO", Me, Ambiente,, True

Case "Z012"

Script.RunForm "COBROENEFECTIVO", Me, Ambiente,, True

Case "Z013"

Set rstUsuventas = CreaRecordSet( "SELECT * FROM usuventas WHERE usuario = '" & Ambiente.Uid & "'", Ambiente.Connection )

If rstUsuventas.EOF Then
Script.RunForm "DEVOLUCIONES", Me, Ambiente, True
'Exit Sub
End If

If Val2( rstUsuventas("devpunto") ) <> 0 Then
Script.RunForm "DEVOLUCIONES", Me, Ambiente, True
'Exit Sub
Else
MyMessage "No tiene derecho a hacer devoluciones, solicite el permiso con su supervisor"
'Exit Sub
End If

Case "Z014"

Script.RunForm "TICKETAFACTURA", Me, Ambiente,, True

'Case "Z016"
'
' Me.ActivaCobranza

Case "Z015"

Script.RunProcess "PUNTOV063", Me, Me.Ambiente

Case "Z016"

Script.RunForm "RETICKET", Me, Ambiente,, True

'Case "Z019"
'
' MyMessage "CONTROL + F12 Editar datos cliente" & vbCrLf & "CONTROL + F7 Editar guión" & vbCrLf & "SHIFT + F3 Colocar cursor en campo repartidor" & vbCrLf & "SHIFT + F4 Alta de repartidor"

Case "Z017"

Script.RunForm "FCAJA", Me, Ambiente,, True

Case "Z018"

Script.RunForm "CAMBIOUSUARIO", Me, Ambiente,, True

'Case "Z022"
'
' Script.RunProcess "VENTASCOLECTOR", Me, Me.Ambiente

Case "Z019"

Calculadora Ambiente

Case "Z020"

Script.RunProcess "ABRECAJON", Me, Me.Ambiente

Case "Z021"

Script.RunForm "AUXCLIENTS", Parent, Ambiente,, True

Case "Z022"

Script.RunProcess "ELIMINAVENTA", Me, Me.Ambiente

Case "Z023"

Script.RunForm "VENTASOBSERV", Me, Ambiente,, True

Case "Z024"

Script.RunForm "VENTASDESC", Me, Ambiente,, True

Case "Z025"

Script.RunForm "CAMBIOVALEEFECTIVO", Me, Me.Ambiente,, True

Case "Z026"

Script.Runform "FACTURADECIERRE", Me, Ambiente,, False

Case "Z027"

Script.RunHuellaForm "REGISTROACCESO", Me, Ambiente,, True

'Case "Z028"

'Script.Runform "LISTADEPEDIDOS", Me, Ambiente,, True

End Select

CancelaProceso = True
txtFields(4) = ""

End Sub