Publicado el Dejar un comentario

Cómo importar una ventana o formulario (.bfr) a MyBusiness POS

Los archivos .BFR se actualizan de la siguiente manera:

1. Entramos a MyBusiness POS con una clave de “Supervisor”

2. Nos dirigimos a la barra de tareas_ Programación _Ambiente de desarrollo y damos un clic en ese icono

3. Vamos al menú Archivo, seleccionamos Abrir

4. Seleccionamos el archivo con extensión BFR y aceptamos la actualización

5. Con este proceso ya tenemos actualizado el formulario, solo damos un clic en el icono “guardar” y lo ejecutamos en MyBusiness POS en la operación normal del sistema. Para algunos formatos podemos ejecutar la prueba desde el mismo editor, solo damos clic en el ultimo icono que tiene forma de triángulo (Run)

Publicado el 1 comentario

Ejemplo de DBMultiCombo.MultiCombo

Cuando  echamos un vistazo al código de algunas formas, vemos que aparece en varios casos esto “DBMultiCombo.MultiCombo” .  Se trata de una clase que hace una consulta a la tabla llamada “QUERY”. Ahí podemos encontrar muchas consultas predefinidas; y si no existe, la podemos crear a nuestra medida o simplemente ampliar la búsqueda a otros campos que por default no considera el sistema.

DBMultiCombo

2.36 KB 391 descargas

A continuación se muestra la lista de consultas que trae el sistema, tal vez alguna te interesa:

  • Fabricantes
  • Modelos
  • CostosAdicionales
  • Comisionistas
  • Colonia
  • Repartidores
  • Tutor
  • Familias
  • Ofertas
  • Tallas
  • Colores
  • Reportes
  • Etapas
  • Lotes
  • Clasificación de inventario
  • Estados
  • Contactos por cliente
  • Clientes por descripcion
  • Articulos por descripción
  • Remisiones para devolución
  • Estaciones
  • Ubicación en almacen
  • Marcas por clave
  • Zonas de clientes
  • Ventas sin cancelar
  • Ventas pendientes
  • Ventas
  • Vendedores
  • Usuarios
  • Tipos de teléfono
  • Tipos de proveedores
  • Tipos de Polizas
  • Tipos de póliza
  • Tipos de pendientes
  • Tipos de clientes
  • Sucursales
  • Series disponibles
  • Remisiones
  • Proveedores por clave
  • Proveedores
  • Procedimientos y rutinas de usuario
  • Pendientes
  • Partidas de venta
  • Partidas de compra
  • Monedas
  • Marcas de Artículos
  • Líneas de Artículos
  • Inventarios físicos
  • Inventarios
  • Impuestos por porcentaje
  • Impuestos
  • Grupos de cuentas
  • Formatos
  • Facturas
  • Devoluciones
  • Contactos
  • Conceptos de salidas de inventario
  • Conceptos de ingreso
  • Conceptos de gastos
  • Conceptos de entrada al inventario
  • Conceptos de egresos
  • Conceptos de cuentas por pagar
  • Conceptos de cobranza
  • Conceptos de Cargos
  • Conceptos de abonos a proveedores
  • Conceptos de Abonos
  • Compras confirmadas
  • Código de formatos
  • Cobradores
  • Clientes por clave
  • Clientes
  • Claves adicionales de articulos
  • Centros de costo
  • Artículos por clave
  • Articulos para venta
  • Articulos
  • Almacenes
  • Direcciones de embarque
  • Subfamilia1
  • Subfamilia2
  • Subfamilia3
  • ClientesNC
  • Tickets
  • SeriesTickets
  • UsuariosGB

Si tienes alguna duda al respecto, puedes escribir tu comentario y podemos aclararla

Publicado el 1 comentario

Cómo importar un formato (.paq) a MyBusiness POS

paq1. Primero entramos a MyBusinessPOS y damos un clic en la carpeta configuración del Business manager, buscamos la carpeta personalización, y posteriormente el icono “formatos del sistema”.

2. Se abrirá la herramienta Business Manager con la lista de todos los formatos, reportes y o procedimientos, según la carpeta que elijamos. Si da clic en ‘procedimientos’ (por ejemplo) podrá importar reportes o formatos ya que todas las carpetas reciben archivos .paq y tanto formatos como reportes y procedimientos tienen la misma extensión.

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

4. Busca el directorio donde esta guardado el archivo y selecciónalo.

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

Publicado el 25 comentarios

Reimprimir Corte Z MyBusiness POS

Muchos usuarios han tenido la necesidad de reimprimir su corte Z.

Esta herramienta premite reimprimir todos los cortes Z que se han emitido en el sistema MyBusiness POS. Puedes filtrar por fecha y por estación.

 

 

Así que en este post se publica una herramienta que es de utilidad para cubrir dicha necesidad.

Características del parche:

+ Permite la búsqueda de Cortes por rango de Fechas

+ Permite la búsqueda de Cortes por Estación de Trabajo

+ Permite la búsqueda de Cortes por Monto de Caja

Solicita el parche a jofelchez@gmail.com

wpid-img-20160416-wa0003.jpg

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