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 Dejar un comentario

Cómo hacer una consulta a la tabla de clientes

En esta ocasión mostramos un ejemplo de una ventana que consulta a la tabla de clientes y permite hacer el filtro por nombre.


Este es el código fuente

 

Sub Form_load()

'José Félix 20140812

'jofelchez@gmail.com

'Ejemplo de cómo hacer una consulta a la tabla de clientes

TxtCliente.TabIndex = 0

aceptar.Default = True

'TxtCliente.PasswordChar = "*"

'TxtCliente.BackColor = 0

'TxtCliente.ForeColor = vbGreen

'TxtCliente.font.size = 14

Me.Caption = "Ejemplo de consulta a cliente"

Set mc1 = Me.Controls.Add("DBMultiCombo.MultiCombo","mc1", Me)

With mc1

.Left = TxtCliente.Left

.Top = TxtCliente.Top

.Width = TxtCliente.Width + 450

.Height = TxtCliente.Height

Set .Connection = Ambiente.Connection

Set .txtObject = TxtCliente

.Buscar = "Clientes"

.Visible = True

Set TxtCliente.Container = mc1

End With

End Sub

Sub Button_Click()

Dim cUsuario

Dim cPassword

Dim nPos

Dim s

If ControlEvento.Tag = "cancelar" Then

bolAceptar = False

DescargaForma

Exit Sub

End If

'consulta a la base de datos

Set rstCliente = CreaRecordSet( _

"SELECT * FROM clients WHERE cliente = '" & TxtCliente & "'", _

Ambiente.Connection )

'En caso de que no se encuentre el usuario envía mensaje de error

If rstCliente.EOF Then

'Progress.Destroy

MyMessage "Error:" & vbCrLf & "No existe el cliente indicado"

EstableceFoco

Exit Sub

End If

mymessage " Cliente: " & rstCliente("cliente") & vbCrLf & " Nombre: " & rstCliente("nombre")

End Sub

Sub EstableceFoco()

TxtCliente.Setfocus

TxtCliente.SelStart = 0

TxtCliente.SelLength = Len( TxtCliente )

End Sub

Sub Text_KeyUp()

'Este bloque permite responder a una tecla

'En caso de

If KeyCode = 40 Then

Select Case ControlEvento.Tag

Case "TxtCliente"

TxtCliente.Container.ShowData

End Select

End If

'en caso de

If KeyCode = 27 Then

DescargaForma

'Exit Sub

End If

End Sub

Publicado el 1 comentario

BARTICULOS001

El siguiente bloque de código BARTICULOS001 es el que permite visualizar desde el punto de venta, la ventana de artículos donde se muestra la clave, descripción y precio unitario. Describiremos un poco cada línea de código.

Para abrir y modificar este bloque de código, necesitamo ir a la siguiente ruta, dentro del Business Manager:
CONFIGURACIÓN–PERSONALIZACIÓN–PROCEDIMIENTOS Y RUTINAS DE USUARIO


Public Sub Main()
Dim strSQL 'Definición de variables
Set rstProds = SQLProdsSQLServer() ' invocamos al procedimiento SQLProdsSQLServer y asignamos el resultado a rstProds
SetSessionValue Ambiente, "CONDICIONDEBUSQUEDA", ""
End Sub

'Funcion SQLProdsSQLServer
Function SQLProdsSQLServer()
Dim s
'evaluamos la variable Var1
If clEmpty( Ambiente.Var1 ) Then
Ambiente.Var1 = " prods.descrip "
End If
'Iniciamos con la consulta, aquí mismo definimos también el nombre de los encabezados de cada columna.
s = ""
s = s & "SELECT "
s = s & "prods.articulo As 'Clave', "
s = s & "prods.descrip AS 'UNIDAD DE CONSUMO', "
s = s & "prods.precio1 * ( 1 + (impuestos.valor / 100) ) As 'Precio', "
s = s & "prods.existencia, "
s = s & "existenciaalmacen.existencia As 'Almacen " & Ambiente.Almacen & "', "
s = s & "prods.articulo "
s = s & "FROM prods "
s = s & "INNER JOIN impuestos ON prods.impuesto = impuestos.impuesto "
s = s & "LEFT JOIN existenciaalmacen ON prods.articulo = existenciaalmacen.articulo AND existenciaalmacen.almacen = " & Ambiente.Almacen
s = s & "WHERE prods.bloqueado = 0 "
s = s & cNull(GetSessionValue(Ambiente, "CONDICIONDEBUSQUEDA"))
'Evaluamos filtros adicionales. aquí es donde considera la condición que aplicamos antes de presionar la flecha hacia abajo
If Not clEmpty(cFiltro) Then
If Not clEmpty(Condition) Then
s = s & " AND (prods.descrip LIKE '%" & Cambia("%", " ", cFiltro) & "%' OR prods.articulo LIKE '%" & Cambia("%", " ", cFiltro) & "%') AND " & Condition & " ORDER BY " & Ambiente.Var1
Else
s = s & " AND (prods.descrip LIKE '%" & Cambia("%", " ", cFiltro) & "%' OR prods.articulo LIKE '%" & Cambia("%", " ", cFiltro) & "%') ORDER BY " & Ambiente.Var1
End If
Else
If Not clEmpty(Condition) Then
s = s & " ORDER BY " & Ambiente.Var1
Else
s = s & " ORDER BY " & Ambiente.Var1
End If
End If
'Ejecutamos la consulta antes estructurada y se guarda el resultado en rstProds
Set rstProds = CreaRecordSetEnCliente( (s), Ambiente.Connection)
Set SQLProdsSQLServer = rstProds 'guardamos el arreglo de datos en la variable SQLProdsSQLServer
'Especificamos el ancho de las columnas, iniciando desde la columna 0 y considerando el orden en que estructura la consulta
Set TDBGrid1.DataSource = rstProds
AnchoColumna 0, 2000
AnchoColumna 1, 6500
AnchoColumna 2, 2000
AnchoColumna 3, 1000
AnchoColumna 4, 1000
AnchoColumna 5, 2500
'Para las columnas de tipo numérico podemos colocar el formato numérico y con la cantidad de decimales apropiada
FormatoColumna 2, 1, "##,##0.00"
FormatoColumna 3, 1, Ambiente.FDinero
FormatoColumna 4, 1, Ambiente.FDinero
'Termina la función
End Function

Publicado el Dejar un comentario

Zebra 2844 USB

zebra2844_mybusinessposLa impresora Zebra que se conecta por cable USB se comporta de forma similar a cualquier otra impresora de tickets y puede programarse como tal; por ejemplo, vemos que tiene las funciones IniciaDocumento y FinDocumento.



Sub Main()
Dim rstProds
Dim n

Set rstProds = CreaRecordSet( _
“SELECT * FROM prods WHERE etiquetas > 0”,_
Ambiente.Connection )

While Not rstProds.EOF

For n = 1 To rstProds(“etiquetas”)
ImprimeEtiqueta rstProds
Next

rstProds.MoveNext

Wend

End Sub

Sub ImprimeEtiqueta( rstProds )

‘EstableceImpresora “ZDesigner LP 2844”
IniciaDocumento

EstableceFuente “C39HrP24DhTt”,35
Say 5.25, 3.53, “*” & Trim(rstProds(“articulo”)) & “*”
EstableceFuente “Times New Roman”, 9
Say 5.1, 3.53, “$ ” & PadL(Formato( rstProds(“precio1”), Ambiente.FDinero ),6)
‘Trim(rstProds(“Descrip”))

FinDocumento

End Sub

Publicado el Dejar un comentario

Cómo abrir y cerrar el verificador de precios?

El sistema cuenta con un verificador de precios de manera parecida a las farmacias del Ahorro.  Esta opción se encuentra en el menú Utilerías — Verificador.

Un vez abierto el verificador, escriba la clave  del artículo y presione ENTER o bien presione la flecha hacia abajo del teclado y aparecerá el catálogo de productos para seleccionarlo y ver los detalles de este.

Para salir de esta ventana solo deberá de escribir lo siguiente …1 (tres puntos, después 1 y presionar ENTER)