Publicado el 13 comentarios

Configuración de Usuarios en My Business POS

La seguridad y el control de los usuarios son importantes para el buen manejo de cualquier empresa o negocio. En MyBusiness POS la configuración de usuarios consta de cinco niveles que le van a permitir configurar específicamente el perfil de cada uno de sus usuarios:

1. ALTA DE UN USUARIO.

Es necesario que acceda a MyBusiness POS con una clave de Supervisor, por ejemplo, “SUP SUP” (separado por un espacio). Ahora diríjase a ‘Business Manager’, carpeta ‘Configuración’, opción ‘Usuarios’.

De un clic en [Nuevo] y capturemos los siguientes datos:

  • Usuario: Es el nombre del usuario con el que va a accesar.
  • Nombre: Es el nombre completo del usuario.
  • Password: Hace referencia a la clave o palabra secreta de acceso.


Además es posible tomar las huellas del usuario para que el acceso al sistema pueda ser mediante la huella digital.

Este el procedimiento:

  1. Una vez conectado el lector de huella, MyBusiness POS lo reconocerá de inmediato.
  2. En la misma pantalla tomaremos lectura uno a uno de los dedos del usuario. Pueden ser solamente dos o los cinco dedos de una u ambas manos.

Una vez asignados los datos, tanto de las huellas como los de acceso por tecleo de usuario y clave, detallaremos las configuraciones de los usuarios.

En el proceso anterior dejamos sin activar la casilla “Es Supervisor”

¿Qué utilidad tiene que la active la casilla de Supervisor?

Esta casilla permite ver:

  • En el Business Manager: La carpeta de Configuración, la cual regula los catálogos de configuración de las estaciones de trabajo, los conceptos de cobranza, los conceptos de inventario, catálogos de monedas, etc., lo que detallaremos en un boletín posterior.
  • En la Barra de Iconos: El segmento de Configuración y de Programación que tienen iconos los cuales configuran y personalizan a MyBusiness POS.
  • En el Punto de Venta: Teclas de ayuda y funciones especiales para la venta, tales como los descuentos.
  • Reportes: Asigna todos los reportes al usuario “Supervisor”.

Ya que hemos comprendido la utilidad que tiene el activar o desactivar esta casilla proceda con la acción que considere propia del usuario que acaba de dar de alta.

2. CONFIGURACIÓN DE LOS DERECHOS EN EL BUSINESS MANAGER.

Vamos a ingresar a MyBusiness POS con una clave de Supervisor, por ejemplo, “SUP SUP” (separado por un espacio). Ahora diríjase a Business Manager, carpeta Configuración, opción Usuarios.

Seleccionamos al usuario que vamos a configurar, damos un clic derecho sobre él y escogemos la opción Derechos del Business Manager

Esta acción mostrará una ventana con una imagen similar al Business Manager que permitirá seleccionar una a una las carpetas a las que le daremos derecho de uso al usuario en cuestión; A su vez estas carpetas contienen menús que detallan acciones tales como “Nuevo”, “Modificar”, “Eliminar”, mismas que también son configurables.

Para definirle derechos a los usuarios posiciónese sobre el icono de la “llave” que desea restringir, dé un clic derecho y elija entre “Activado” e “Inactivo”, según le convenga.

Con lo anterior evitaremos que el usuario vea y use “carpetas” en el ‘Business Manager’ a las que no tiene derecho.

Es necesario entrar a My Business POS con el nombre del usuario y la contraseña asignada para verificar los cambios realizados.

Fuente:

Información obtenida del boletín No. 46 y 49 de https://mybusinesspos.com
Publicado el 18 comentarios

Importando productos desde excel


'código de la forma PRODSEXCEL (utilizado en el Ambiente de Desarrollo)
Sub Form_load

Me.Caption = “Importando desde Excel(tm)”
Archivo.File = Ambiente.Path & “\articulos.xls”

End Sub

Sub Button_Click()

Select Case ControlEvento.Tag
Case “Aceptar”

AplicaInventario
DescargaForma

Case “Cancelar”

DescargaForma

Case “cmdButton2”

ShellRun Parent.hWnd, “Open”, Archivo.File

End Select

End Sub

Sub AplicaInventario

Set excelConnection = CreateObject(“ADODB.Connection”)
excelConnection.ConnectionString = “driver={Microsoft Excel Driver (*.xls)};DBQ=” & Controles(“Archivo”).File
excelConnection.Open

ImportaInventario excelConnection

End Sub

Sub ImportaInventario( excelConnection )
Dim rstProductos
Dim bolAfectaInventario
Dim rstArticulo
Dim rstClaveAdd
Dim Articulos
Dim Ajuste
Dim rstImpuesto

Ambiente.Connection.Execute “UPDATE prods SET etiquetas = 0”

bolAfectaInventario = True

‘——————————————————————————————————————–
‘2011_11_22 Jose Felix jofelchez@gmail.com
‘Agregamos las Lineas a la Importación

Set rstExcel = CreaRecordSet( “SELECT linea FROM [ARTICULOS$] group by linea”, (excelConnection ) )
Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection
While Not rstExcel.EOF

Set rstLinea = CreaRecordSet( “SELECT * FROM lineas WHERE Linea = ‘” & rstExcel(“Linea”) & “‘”, Ambiente.Connection )

Query.Reset

If rstLinea.EOF Then
Query.strState = “INSERT”
Else
Query.strState = “UPDATE”
Query.Condition = “linea = ‘” & rstExcel(“linea”) & “‘”
End If

Query.AddField “lineas”,”linea”, rstExcel(“Linea”)
Query.AddField “lineas”,”descrip”,rstExcel(“Linea”)
Query.AddField “lineas”,”Usuario”, Ambiente.Uid
Query.AddField “lineas”,”usuFecha”, Date
Query.AddField “lineas”,”usuHora”,Formato( Time, “hh:mm:ss” )
Query.AddField “lineas”,”Numero”, 0

Query.CreateQuery
Query.Execute

Query.Reset

rstExcel.MoveNext
Wend

‘——————————————————————————————————————–

Set rstProductos = CreaRecordSet( “SELECT * FROM [ARTICULOS$]”, (excelConnection ) )
Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection

Set Articulos = CreateObject( “MyBArticulos.Articulos” )
Set Articulos.Ambiente = Ambiente

nEntrada = 0
nSalida = 0

While Not rstProductos.EOF

If Not clEmpty( “” & (rstProductos(“Código del producto”)) ) Then
If Not clEmpty( “” & (rstProductos(“Descripción”)) ) Then

Articulos.recalculoDeInventario rstProductos(“Código del producto”), Ambiente, False
Set rstArticulo = CreaRecordSet( “SELECT articulo, existencia FROM prods WHERE articulo = ‘” & rstProductos(“Código del producto”) & “‘”, Ambiente.Connection )

Query.Reset

If rstArticulo.EOF Then
Query.strState = “INSERT”
Else
Query.strState = “UPDATE”
Query.Condition = “articulo = ‘” & rstProductos(“Código del producto”) & “‘”
End If

Query.AddField “prods”,”articulo”, rstProductos(“Código del producto”)
Query.AddField “prods”,”descrip”,rstProductos(“Descripción”)
Query.AddField “prods”,”linea”, rstProductos(“Linea”)
Query.AddField “prods”,”marca”, “SYS”
Query.AddField “prods”,”fabricante”, “SYS”
Query.AddField “prods”,”precio1″, FDec( rstProductos(“Precio de venta”) )
Query.AddField “prods”,”costo_u”, FDec( rstProductos(“Costo ultimo”) )
Query.AddField “prods”,”etiquetas”, Val2( rstProductos(“Existencia”) )
Query.AddField “prods”,”Unidad”, rstProductos(“Unidad”)
Query.AddField “prods”,”precio2″, FDec( rstProductos(“Precio2”) )
Query.AddField “prods”,”precio3″, FDec( rstProductos(“Precio3”) )
Query.AddField “prods”,”precio4″, FDec( rstProductos(“Precio4”) )
Query.AddField “prods”,”precio5″, FDec( rstProductos(“Precio5”) )

If Val2(rstProductos(“Impuesto”)) > 0 Then
Set rstImpuesto = CreaRecordSet( “SELECT * FROM impuestos WHERE valor = ” & _
FDec( rstProductos(“Impuesto”) ), Ambiente.Connection )
Else
If ClAt(“0”, Trim(rstProductos(“Impuesto”))) > 0 AND Len(Trim(rstProductos(“Impuesto”))) = 1 Then
Set rstImpuesto = CreaRecordSet( “SELECT * FROM impuestos WHERE valor = ” & _
FDec( rstProductos(“Impuesto”) ), Ambiente.Connection )
Else
Set rstImpuesto = CreaRecordSet( “SELECT * FROM impuestos WHERE impuesto = ‘” & _
rstProductos(“Impuesto”) & “‘”, Ambiente.Connection )
End If
End If

If rstImpuesto.EOF Then
cImpuesto = “SYS”
Else
cImpuesto = rstImpuesto( “impuesto” )
End If

Query.AddField “prods”,”impuesto”, cImpuesto
Query.AddField “prods”,”paraventa”, 1
Query.AddField “prods”,”invent”, 1
Query.CreateQuery
Query.Execute

Query.Reset

If Not IsNull( rstProductos(“Existencia”) ) Then

Ajuste = FDec( rstProductos(“Existencia”) )’ – Val2( rstArticulo(“Existencia”) )
AfectandoInventario rstProductos(“Código del producto”), Ajuste
Articulos.recalculoDeInventario rstProductos(“Código del producto”), Ambiente, False

If Ajuste <> 0 Then
If Ajuste > 0 Then
nEntrada = CreaEntrada( nEntrada, rstProductos(“Código del producto”), Ajuste, FDec( rstProductos(“Costo ultimo”) ), rstProductos(“Descripción”) )
Else
nSalida = CreaSalida( nSalida, rstProductos(“Código del producto”), Ajuste, FDec( rstProductos(“Precio de venta”) ), rstProductos(“Descripción”) )
End If
Else
Query.Reset
Query.SQL = “UPDATE prods SET costo_u = ” & FDec( rstProductos(“Costo ultimo”) ) & _
” WHERE articulo = ‘” & rstProductos(“Código del producto”) & “‘”
Query.Execute
End If

End If

If Not clEmpty( “” & rstProductos(“Código de barras”) ) Then

Set rstClaveAdd = CreaRecordSet( “SELECT clave FROM clavesadd WHERE clave = ‘” & rstProductos(“Código de barras”) & “‘”, Ambiente.Connection )

Query.Reset

If rstClaveAdd.EOF Then
Query.strState = “INSERT”
Else
Query.strState = “UPDATE”
Query.Condition = “clave = ‘” & rstProductos(“Código de barras”) & “‘”
End If

Query.AddField “clavesadd”,”Clave”, rstProductos(“Código de barras”)
Query.AddField “clavesadd”,”Dato1″, “”
Query.AddField “clavesadd”,”Usuario”, Ambiente.Uid
Query.AddField “clavesadd”,”usuFecha”, Date
Query.AddField “clavesadd”,”usuHora”, Formato( Time, “hh:mm:ss” )
Query.AddField “clavesadd”,”Dato2″, “”
Query.AddField “clavesadd”,”Articulo”, rstProductos(“Código del producto”)
Query.AddField “clavesadd”,”Cantidad”, 1
Query.AddField “clavesadd”,”Unidad”, “”

If bolAfectaInventario = True Then
Query.AddField “clavesadd”,”Existencia”, 0
End If

Query.AddField “clavesadd”,”Libre”, 0
Query.AddField “clavesadd”,”Exportado”, 0
Query.AddField “clavesadd”,”Precio”, 0
Query.AddField “clavesadd”,”imagen”, “”
Query.AddField “clavesadd”,”etiquetas”, 0
Query.CreateQuery
Query.Execute

End If

End If
End If

Detalle.Caption = “” & rstProductos(“Descripción”)

rstProductos.MoveNext
Wend

MyMessage “Catálogo importado”

If Question( “Desea imprimir etiquetas de codigo de barras”, 1 ) = True Then

Script.RunProcess “ZEBRA2844”, Me, Ambiente

End If

End Sub

Sub AfectandoInventario( strArticulo, Existencia )
Dim rstProd
Dim n
Dim Query
Dim rstInvInicial

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

Set rstProd = CreaRecordSet( “SELECT articulo, existencia, costo_u FROM prods WHERE articulo = ‘” & strArticulo & “‘”, Ambiente.Connection )
n = n + 1

If Existencia = 0 Then
Exit Sub
End If

Set MovInv = CreateObject( “MyBInventario.Inventario” )
Set MovInv.Ambiente = Ambiente

MovInv.FechaMov = Date
MovInv.uId = Me.Ambiente.uId
MovInv.EntradaSalida = “S”
MovInv.cMetodo = Me.Ambiente.costeo
MovInv.EstacionSalida = Trim(Ambiente.Estacion)

While Not rstProd.EOF

n = n + 1

Query.Reset
Query.strState = “INSERT”
Query.AddField “movsinv”,”MOVIMIENTO”, 1

If Existencia > 0 Then
MovInv.EntradaSalida = “E”
MovInv.nMovimiento = 1
MovInv.TipoMovim = “EX+”
MovInv.NoMovim = 1
MovInv.TipoOperacion = “EX+”
MovInv.nCantidad = Existencia
MovInv.AfectaCosto = True
Else
MovInv.EntradaSalida = “S”
MovInv.nMovimiento = 1
MovInv.TipoMovim = “EX-”
MovInv.NoMovim = 1
MovInv.TipoOperacion = “EX-”
MovInv.nCantidad = Existencia * -1
End If

MovInv.nPrecio = rstProd(“costo_u”)
MovInv.nAlmacen = 1
MovInv.cArticulo = strArticulo
MovInv.AfectaInventario

Set rstInvInicial = CreaRecordSet( “SELECT * FROM invinicial WHERE articulo = ‘” & rstProd(“articulo”) & “‘”, _
Ambiente.Connection )

If rstInvInicial.EOF Then
Query.Reset
Query.strState = “INSERT”
Query.AddField “invinicial”,”fecha”, DateSerial( 2000, 01, 01 )
Query.AddField “invinicial”,”articulo”, rstProd(“articulo”)
Query.AddField “invinicial”,”existencia”, Existencia
Query.AddField “invinicial”,”costo”, rstProd(“costo_u”)
Query.CreateQuery
Query.Execute
End If

rstProd.MoveNext

Wend

End Sub

Function FDec( Number )

FDec = Replace( “” & Number, “,”, “.” )

End Function

Function CreaEntrada( Entrada, Articulo, Cantidad, Costo, Descripcion )
Dim Query
Dim rstArticulo

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

If Entrada = 0 Then
Query.Reset
Query.strState = “INSERT”

Entrada = TraeSiguiente( “MovEnt”, Ambiente.Connection )
Query.AddField “entradas”, “entrada”, Entrada
Query.AddField “entradas”, “ocupado”, 1
Query.AddField “entradas”, “f_emision”, Date
Query.AddField “entradas”, “tipo_doc”, “EX+”
Query.AddField “entradas”, “importe”, 0
Query.AddField “entradas”, “costo”, 0
Query.AddField “entradas”, “almacen”, 1
Query.AddField “entradas”, “estado”, “CO”
Query.AddField “entradas”, “observ”, vbNullString
Query.AddField “entradas”, “tipo_cam”, 1
Query.AddField “entradas”, “moneda”, Ambiente.Moneda
Query.AddField “entradas”, “datos”, vbNullString
Query.AddField “entradas”, “usuario”, Ambiente.uId
Query.AddField “entradas”, “usufecha”, Date
On Error Resume Next
Query.AddField “entradas”, “usuhora”, Libreria.Formato(Time, “hh:mm:ss”)
On Error GoTo 0
Query.CreateQuery
Query.Execute
End If

Query.Reset
Query.strState = “INSERT”
Query.AddField “entpart”,”ENTRADA”, Entrada
Query.AddField “entpart”,”TIPO_DOC”, “EX+”
Query.AddField “entpart”,”NO_REFEREN”, Entrada
Query.AddField “entpart”,”ARTICULO”, Articulo
Query.AddField “entpart”,”CANTIDAD”, Cantidad
Query.AddField “entpart”,”PRECIO”, Costo
Query.AddField “entpart”,”OBSERV”, Descripcion
Query.AddField “entpart”,”PARTIDA”, 0
Query.AddField “entpart”,”ID_ENTRADA”, TraeSiguiente( “entpart”, Ambiente.Connection )
Query.AddField “entpart”,”Usuario”, Ambiente.Uid
Query.AddField “entpart”,”UsuFecha”, Date
Query.AddField “entpart”,”UsuHora”, Libreria.Formato( Time, “hh:mm:ss” )
Query.AddField “entpart”,”PRCANTIDAD”, 0
Query.AddField “entpart”,”PRDESCRIP”, “”
Query.AddField “entpart”,”CLAVEADD”, “”
Query.CreateQuery
Query.Execute

CreaEntrada = Entrada

End Function

Function CreaSalida( Salida, Articulo, Cantidad, Precio, Descripcion )
Dim Query
Dim rstArticulo

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

If Salida = 0 Then
Query.Reset
Query.strState = “INSERT”

Salida = TraeSiguiente( “MovSal”, Ambiente.Connection )

Query.AddField “salidas”,”Salida”, Salida
Query.AddField “salidas”,”ocupado”, 1
Query.AddField “salidas”,”tipo_doc”, “EX-”
Query.AddField “salidas”,”F_EMISION”, Date
Query.AddField “salidas”,”IMPORTE”, 0
Query.AddField “salidas”,”COSTO”, 0
Query.AddField “salidas”,”ALMACEN”, 1
Query.AddField “salidas”,”ESTADO”, “CO”
Query.AddField “salidas”,”OBSERV”, “Salida automática por excel”
Query.AddField “salidas”,”DATOS”, “”
Query.AddField “salidas”,”USUARIO”, Ambiente.Uid
Query.AddField “salidas”,”USUFECHA”, Date
Query.AddField “salidas”,”USUHORA”, Libreria.Formato( Time, “hh:mm:ss” )
Query.AddField “salidas”,”traspaso”, 0
Query.AddField “salidas”,”almt”, 0
Query.AddField “salidas”,”estraspaso”, 0
Query.AddField “salidas”,”sucursal”, “”
Query.AddField “salidas”,”esparasucursal”, 0
Query.AddField “salidas”,”entsuc”, 0
Query.AddField “salidas”,”folio”, TraeSiguiente(Trim(Ambiente.Estacion) & “salida”, Ambiente.Connection)
Query.AddField “salidas”,”estacion”, Ambiente.Estacion
Query.CreateQuery
Query.Execute
End If

Query.Reset
Query.strState = “INSERT”
Query.AddField “salpart”,”SALIDA”, Salida
Query.AddField “salpart”,”TIPO_DOC”, “EX-”
Query.AddField “salpart”,”NO_REFEREN”, Salida
Query.AddField “salpart”,”ARTICULO”, Articulo
Query.AddField “salpart”,”CANTIDAD”, Cantidad * -1
Query.AddField “salpart”,”PRECIO”, Precio
Query.AddField “salpart”,”OBSERV”, Descripcion
Query.AddField “salpart”,”PARTIDA”, 0
Query.AddField “salpart”,”ID_SALIDA”, TraeSiguiente( “salpart”, Ambiente.Connection )
Query.AddField “salpart”,”Usuario”, Ambiente.Uid
Query.AddField “salpart”,”UsuFecha”, Date
Query.AddField “salpart”,”UsuHora”, Libreria.Formato( Time, “hh:mm:ss” )
Query.AddField “salpart”,”PRCANTIDAD”, 0
Query.AddField “salpart”,”PRDESCRIP”, “”
Query.AddField “salpart”,”CLAVEADD”, “”
Query.AddField “salpart”,”costo”, 0
Query.CreateQuery
Query.Execute

CreaSalida = Salida

End Function

 

Publicado el Dejar un comentario

¿Cómo importar un Procedimiento a MyBusiness POS?

Enfocado a: Distribuidores y Usuarios.

1. Entrar a MyBusiness POS y damos un clic en la carpeta configuracion del business manager.

2. Dentro de esta ventana buscar la carpeta personalización, y posteriormente el icono “formatos del sistema”

3. Se abrirá la herramienta Business Manager con la lista de todos los formatos

4. Clic derecho sobre cualquiera de los formatos y aparecerá una lista de opciones de la cual debe elegir la opción: Importar paquete de procedimientos.

5. Buscar el directorio donde esta guardado el archivo y selecciónalo.

6. Aparecerá una mensaje que te dice:
”Paquete importado”. Oprime un clic en Aceptar.

7. Cerramos la ventana. Para mayor seguridad, se recomienda dar mantenimiento a la base de datos y cerrar el programa.

Publicado el 1 comentario

Cancelación de Facturas

Forma_CANCELA_VENTA

6.51 KB 2 descargas

El artículo que a continuación les presentamos aclara las posibilidades para cancelar facturas, evitando así confusiones futuras en el procedimiento.

1. La factura se generó desde el Asistente de Ventas y se envió a cobranza.

Este movimiento genera un registro de ventas, con una salida al inventario y adicionalmente genera un cargo al módulo de cobranza. Usted puede también aplicar un abono en cobranza cuando su cliente le pague la factura.

La cancelación de la factura devolverá al almacén las existencias y saldará el cargo hecho a cobranza pero los abonos que usted haya aplicado a esta factura quedaran pendientes de saldar.

Cuando cancelamos una factura no necesariamente devolvemos al dinero al cliente, en algunos casos lo aplicamos a algún otro documento o bien generamos la factura correcta y le aplicamos este pago, por tal motivo la cancelación de la venta en automático no nos cancela los abonos. Para cancelarlos debe ir a cobranza.

En su flujo de caja y en su corte se verán reflejados los abonos que genere en efectivo.

2. La factura se generó a partir de uno o varios tickets.

a) Desde el módulo de Punto de Venta.

Este movimiento genera un registro de ventas con una salida al inventario y adicionalmente genera un cargo al módulo de cobranza si la venta se hizo a crédito. Usted puede también aplicar un abono en cobranza cuando su cliente le pague la factura.

Cuando usted cancela la factura, considere que sólo se cancelará el documento ‘Factura’. El ticket seguirá en cobranza con sus abonos respectivos. Si usted requiere cancelarlos, también deberá cancelar el ticket e ir a cobranza y cancelar los abonos realizados a esta venta.

En su flujo de caja y en su corte se verán reflejados los abonos que genere en efectivo.

b) Desde el Business Manager.

Si usted ya tiene un ticket que envió a cobranza y realiza la conversión a factura desde el Business Manager, tendrá el mismo efecto que la que se convierte desde el punto de venta considerando que al cancelar este ticket no se verá reflejado en el flujo de caja.

Fuente:

Información obtenida del boletín No. 92 de http://MyBusinessPOS.com

Publicado el 3 comentarios

Cómo solucionar el Error de decimales y Reportes en Blanco?

wpid-12921860_959637817437617_1017869236_o.png.jpg

A varios usuarios les ha sucedido que no pueden visualizar los reportes de manera correcta; solo se alcanza a visualizar un poco que se está cargando el reporte, pero al momento de mostrarlo se queda casi en blanco toda la ventana.

La solución que les comparto en esta ocasión tal vez suena muy simple,  sin embargo, estoy seguro que a más de uno le va a ser útil.

Debe configurar su equipo al idioma Español (México).

Esto se logra siguiendo la ruta INICIO — PANEL DE CONTROL — CONFIGURACION REGIONAL Y DE IDIOMA.

Ahí Seleccionamos el idioma Español de México  y también se recomienda la ubicación México.

Esto además soluciona el problema de que los aprecios de los artículos se ven en miles o millones de pesos (cuando en realidad su valor es unos pesos y algunos centavos).

Este tip también soluciona el problema de los decimales con coma (1,500) y muestra los decimales con el punto decimal(1.5) como lo conocemos en México.

Espero haber aportado algo para todos los visitantes del blog. cualquier duda contactarme a jofelchez@gmail.com