
Tenemos un desarrollo para que puedas dar de alta los artículos de forma parecida a una hoja de Excel

Whats 7222816462. Mejoramos la experiencia en el Punto de Venta de tu NEGOCIO

Esta herramienta es un administrador gráfico de base de datos y un software de desarrollo producido por PremiumSoft CyberTech Ltd. para MySQL, MariaDB, Oracle, SQLite, PostgreSQL y Microsoft SQL Server. Cuenta con un Explorador como interfaz gráfica de usuario soportando múltiples conexiones para bases de datos locales y remotas. Su diseño está pensado para satisfacer las diferentes necesidades de un amplio sector del public; desde administradores y programadores de bases de datos a diferentes empresas que dan soporte y o comparten información con clientes o socios.
Ingresar al Curso gratis HelpMBP
Navicat es una herramienta que permite navegar en la base de datos MyBusiness POS y hacer algunas modificaciones directamente. En esta ocasión voy a mostrar dónde se encuentra el código fuente de MyBusiness POS y algunas funciones que se pueden reutilizar en nuestros desarrollos. La ventaja de navicat es que podemos identificar un código específico con tan solo presionar las teclas (Ctrl + F)
Para comenzar, vamos a mencionar que, dentro de la base de datos “C:\MyBusinessDatabase\myBusinessPOS2012.mdf”, el código fuente se almacena en estas dos tablas:

Bien, para llegar a estas dos tablas se hace lo siguiente:


Connection name: Su nombreHost Name:Su_Servidor\SQLEXPRESS, 1400Authentication: Sql Server AuthenticationUser name: saPassword: 12345678








En este ejemplo veremos cómo alinear el texto de un ticket con las funciones
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

Estas son las consultas que se hacen desde el objeto DB Multicombo
| Query | SqlColumna | Retorno | Largo1 | Largo2 | Largo3 |
| Almacenes | SELECT almacen , descrip FROM almacen ORDER BY almacen | 0 | 0 | 0 | 0 |
| Articulos | SELECT descrip As descripcion, articulo,
linea, existencia, kit, precio1, unidad, costo_u FROM prods ORDER BY descrip |
1 | 3500 | 0 | 7000 |
| Articulos para venta | SELECT descrip As ‘DESCRIPCION’, articulo, linea, existencia, kit, precio1 FROM prods WHERE paraventa <> 0 order BY descrip | 1 | 4000 | 0 | 7500 |
| Artículos por clave | SELECT prods.articulo, prods.descrip FROM prods ORDER BY prods.articulo | 0 | 1500 | 5000 | 7000 |
| Articulos por descripción | SELECT descrip As descripcion, articulo, linea, existencia, kit, precio1 FROM prods ORDER BY descrip | 0 | 5000 | 0 | 7000 |
| Centros de costo | SELECT * FROM ctocto | 0 | 0 | 0 | 0 |
| Clasificación de inventario | SELECT clasificacion FROM prods GROUP BY clasificacion ORDER BY clasificacion | 0 | 0 | 0 | 0 |
| Claves adicionales de articulos | SELECT clavesadd.articulo , clavesadd.clave , clavesadd.dato1 , clavesadd.dato2 FROM clavesadd ORDER BY clavesadd.articulo | 1 | 0 | 0 | 0 |
| Clientes | SELECT nombre AS ‘Nombre’, cliente ,telefono,
calle, colonia , pobla, estado FROM clients ORDER BY cliente |
1 | 6000 | 0 | 8000 |
| Clientes por clave | SELECT cliente, nombre, telefono FROM clients ORDER BY cliente | 0 | 2000 | 3500 | 7500 |
| Clientes por descripcion | SELECT nombre,cliente AS ‘CLAVE’ ,telefono, calle, colonia, pobla, estado FROM clients ORDER BY nombre | 0 | 3500 | 0 | 7000 |
| ClientesNC | SELECT clients.nombre, devolucionespocket.cliente FROM clients, devolucionespocket WHERE clients.cliente = devolucionespocket.cliente GROUP BY devolucionespocket.cliente, clients.nombre ORDER BY nombre | 1 | 3500 | 6500 | |
| Cobradores | SELECT nombre, cobrador FROM cobrad ORDER BY nombre | 1 | 0 | 0 | 0 |
| Código de formatos | SELECT descrip , formato , tipo, codigo FROM formatos ORDER BY descrip | 3 | 0 | 0 | 0 |
| Colonia | SELECT colonia FROM clients GROUP BY colonia ORDER BY colonia | 0 | 4000 | 0 | 7000 |
| Colores | SELECT descrip, color FROM colores ORDER BY descrip | 1 | 4000 | 2000 | 7000 |
| Comisionistas | SELECT comisionista FROM auxclients GROUP BY comisionista ORDER BY comisionista | 0 | 4000 | 0 | 7000 |
| Compras confirmadas | SELECT compra, proveedor, f_emision AS ‘FECHA’ FROM compras WHERE tipo_doc = ‘COM’ AND estado = ‘CO’ order BY compra | 0 | 1000 | 2000 | 5000 |
| Conceptos de Abonos | SELECT descrip AS DESCRIPCION, clave_con AS ‘CLAVE’ FROM concxc WHERE
tipo_cxc = ‘A’ ORDER BY descrip |
1 | 0 | 0 | 0 |
| Conceptos de abonos a proveedores | SELECT descrip, clave_con AS ‘CLAVE’ FROM concxp WHERE tipo_cxc = ‘A’ ORDER BY descrip | 1 | 0 | 0 | 0 |
| Conceptos de Cargos | SELECT descrip, clave_con AS ‘CLAVE’ FROM concxc WHERE tipo_cxc = ‘C’ ORDER BY descrip | 1 | 0 | 0 | 0 |
| Conceptos de cobranza | SELECT descrip AS ‘Descripción’, clave_con AS ‘Concepto’ , tipo_cxc AS ‘Cargo/Abono’ FROM concxc ORDER BY descrip | 1 | 4000 | 0 | 7000 |
| Conceptos de cuentas por pagar | SELECT descrip, clave_con FROM concxp ORDER BY descrip | 1 | 0 | 0 | 0 |
| Conceptos de egresos | SELECT descrip AS ‘DESCRIPCION’, concepto FROM conegre ORDER BY descrip | 1 | 3500 | 0 | 7000 |
| Conceptos de entrada al inventario | SELECT descrip, tipo_movim FROM tipominv WHERE ent_sal = ‘E’ ORDER BY descrip | 1 | 3500 | 500 | 5000 |
| Conceptos de gastos | SELECT descrip AS ‘DESCRIPCION’ , concepto FROM conpres ORDER BY descrip | 1 | 3000 | 0 | 5000 |
| Conceptos de ingreso | SELECT descrip AS ‘DESCRIPCION’ , concepto FROM coningre ORDER BY descrip | 1 | 0 | 0 | 0 |
| Conceptos de salidas de inventario | SELECT descrip, tipo_movim FROM tipominv WHERE ent_sal = ‘S’ ORDER BY descrip | 1 | 3500 | 0 | 6000 |
| Contactos | SELECT clients.nombre, contacto.contacto, contacto.apellidop, contacto.apellidom, contacto.id FROM contacto LEFT JOIN clients ON contacto.cliente = clients.cliente ORDER BY clients.nombre, contacto.contacto | 4 | 0 | 0 | 0 |
| Contactos por cliente | SELECT clients.nombre As ‘Nombre’ , contacto.contacto , contacto.apellidop , contacto.apellidom, contacto.id FROM contacto LEFT JOIN clients ON contacto.cliente = clients.cliente | 4 | 3500 | 0 | 7000 |
| CostosAdicionales | SELECT costoadicional, descrip AS descripcion FROM costosadic ORDER BY descrip ASC | 0 | 0 | 2500 | 5000 |
| Devoluciones | SELECT * FROM devoluc | 0 | 0 | 0 | 0 |
| Direcciones de embarque | SELECT nombre, cliente FROM clients ORDER BY nombre | 1 | 6000 | 1000 | 7000 |
| Estaciones | SELECT estacion FROM estaciones ORDER BY estacion | 0 | 2000 | 0 | 5000 |
| Estados | SELECT estado FROM clients GROUP BY estado ORDER BY estado | 0 | 4000 | 0 | 5000 |
| Etapas | SELECT etapas.Etapa , etapas.Descrip FROM etapas ORDER BY etapas.Etapa | 0 | 0 | 3000 | 0 |
| Fabricantes | SELECT fabricante, nombre FROM fabricantes ORDER BY fabricante | 0 | 0 | 5000 | 7000 |
| Facturas | SELECT no_referen AS ‘Documento’, venta, f_emision AS ‘Fecha’ , cliente FROM ventas WHERE tipo_doc = ‘FAC’ AND estado = ‘CO’ | 0 | 0 | 0 | 0 |
| Familias | SELECT familia FROM prods GROUP BY familia ORDER BY familia | 0 | 6000 | 0 | 6000 |
| Formatos | SELECT formato , descrip, usufecha FROM formatosDelta ORDER BY formato | 0 | 0 | 0 | 0 |
| Grupos de cuentas | SELECT * FROM gpocta | 0 | 0 | 0 | 0 |
| Impuestos | SELECT impuesto , descrip FROM impuestos ORDER BY impuesto | 0 | 0 | 0 | 0 |
| Impuestos por porcentaje | SELECT descrip , valor FROM impuestos ORDER BY impuesto | 1 | 0 | 0 | 0 |
| Inventarios | SELECT * FROM invfis | 0 | 0 | 0 | 0 |
| Inventarios físicos | SELECT invfis.inventario, invfis.almacen, invfis.fecha, invfis.estado FROM invfis | 0 | 0 | 0 | 0 |
| Líneas de Artículos | SELECT descrip As ‘Descripción’, linea FROM lineas ORDER BY descrip | 1 | 4000 | 1000 | 7000 |
| Lotes | SELECT lote, articulo, cantidads AS ‘Existencia’, numero as ‘Pedimento’ FROM lotes WHERE cantidads > 0 | 0 | 0 | 0 | 7000 |
| Marcas de Artículos | SELECT descrip As ‘Descripción’, marca FROM marcas ORDER BY descrip | 1 | 3000 | 0 | 0 |
| Marcas por clave | SELECT marca, descrip FROM marcas | 0 | 1000 | 2000 | 5000 |
| Modelos | SELECT modelo, descrip FROM modelos ORDER BY modelo | 0 | 0 | 0 | 0 |
| Monedas | SELECT moneda,descrip AS ‘Descripcion’ FROM monedas ORDER BY moneda | 0 | 0 | 0 | 0 |
| NotasCredito | SELECT ventas.no_referen AS ‘Documento’, clients.nombre AS ‘Nombre’ FROM ventas, clients WHERE ventas.cliente = clients.cliente AND ventas.tipo_doc = ‘DV’ AND ventas.estado = ‘CO’ ORDER BY ventas.no_referen | 0 | 2000 | 5000 | 8000 |
| Ofertas | SELECT formato , descrip, usufecha FROM formatosdelta WHERE grupo = ‘Oferta’ ORDER BY formato | 0 | 0 | 0 | 0 |
| Partidas de compra | SELECT partcomp.articulo, partcomp.cantidad, partcomp.precio, partcomp.descuento, partcomp.observ FROM partcomp, compras WHERE compras.compra = partcomp.compra ORDER BY articulo | 0 | 0 | 0 | 0 |
| Partidas de venta | SELECT partvta.articulo, prods.descrip, partvta.cantidad, partvta.precio, partvta.descuento FROM partvta, prods, ventas WHERE partvta.articulo = prods.articulo AND ventas.venta = partvta.venta | 0 | 0 | 0 | 0 |
| Pendientes | SELECT * FROM respues | 0 | 0 | 0 | 0 |
| Procedimientos y rutinas de usuario | SELECT formatos.descrip , formatos.formato FROM formatos WHERE formatos.Tipo = ‘Programa’ | 1 | 0 | 0 | 0 |
| Proveedores | SELECT nombre, proveedor, telefono, calle, colonia, pobla, estado FROM proveed ORDER BY nombre | 1 | 4000 | 0 | 7000 |
| Proveedores por clave | SELECT proveed.proveedor, proveed.nombre FROM proveed ORDER BY proveed.proveedor | 0 | 3500 | 3500 | 8000 |
| Remisiones | SELECT no_referen AS ‘Documento’, venta, f_emision AS ‘Fecha’ , cliente FROM ventas WHERE tipo_doc = ‘REM’ AND estado = ‘CO’ ORDER BY no_referen | 0 | 0 | 0 | 0 |
| Remisiones para devolución | SELECT no_referen AS ‘Documento’ , f_emision AS ‘Fecha’ , cliente, venta FROM ventas WHERE estado = ‘CO’ | 0 | 1500 | 0 | 5000 |
| Repartidores | SELECT * FROM repartidor | 0 | 1500 | 2500 | 7000 |
| Reportes | SELECT formato, descrip, grupo FROM formatos WHERE tipo = ‘Reporte’ | 0 | 0 | 0 | 0 |
| Series disponibles | SELECT * FROM series WHERE entregado = 0 | 1 | 0 | 0 | 0 |
| SeriesNC | SELECT serieNC AS ‘Serie’ FROM estaciones WHERE serieNC <> ” GROUP BY serieNC | 0 | 3000 | 0 | 5000 |
| SeriesTickets | SELECT serieTicket AS ‘Serie’ FROM estaciones WHERE serieTicket <> ” GROUP BY serieTicket | 0 | 3000 | 0 | 5000 |
| Subfamilia1 | SELECT subfamilia FROM prods GROUP BY subfamilia ORDER BY subfamilia | 0 | 6000 | 0 | 6000 |
| Subfamilia2 | SELECT subfam1 FROM prods GROUP BY subfam1 ORDER BY subfam1 | 0 | 6000 | 0 | 6000 |
| Subfamilia3 | SELECT subfam2 FROM prods GROUP BY subfam2 ORDER BY subfam2 | 0 | 6000 | 0 | 6000 |
| Sucursales | SELECT sucursal.sucursal , sucursal.descrip FROM sucursal ORDER BY sucursal.sucursal | 0 | 0 | 0 | 0 |
| Tallas | SELECT descrip, talla FROM tallas ORDER BY descrip; | 1 | 4000 | 3000 | 7000 |
| Tickets | SELECT no_referen AS ‘Ticket’ FROM ventas WHERE tipo_doc = ‘REM’ AND ticket <> 0 AND enfac = 0 | 0 | 3000 | 0 | 5000 |
| Tipos de clientes | SELECT descrip AS ‘Descripción’, tipo
FROM tipos ORDER BY tipo |
1 | 3000 | 1000 | 6000 |
| Tipos de pendientes | SELECT tipopend.descrip, tipopend.tipopend FROM tipopend ORDER BY tipopend.descrip | 1 | 3500 | 0 | 5000 |
| Tipos de póliza | SELECT * FROM tipopol | 0 | 0 | 0 | 0 |
| Tipos de Polizas | SELECT * FROM tipopol | 0 | 0 | 0 | 0 |
| Tipos de proveedores | SELECT tipoprov AS ‘Tipo’ , descrip AS ‘Descripción’ FROM tiposprov | 0 | 2000 | 0 | 5000 |
| Tipos de teléfono | SELECT tipotel.descrip , tipotel.tipotel FROM tipotel ORDER BY tipotel.Descrip | 1 | 3500 | 0 | 6000 |
| TTaemontosMulti | SELECT a.articulo, a.descrip Descripción, round(precio1 * (1+( b.valor/100)),0) Monto FROM prods a, impuestos b WHERE a.impuesto = b.impuesto and CHARINDEX(‘Telcel’, articulo)=0 and a.tiempoAire = 1 and a.bloqueado = 0 order by a.DESCRIP | 0 | 1800 | 3100 | |
| TTaemontosTelcel | SELECT a.articulo, a.descrip Descripción, round(precio1 * (1+( b.valor/100)),0) Monto FROM prods a, impuestos b WHERE a.impuesto = b.impuesto and CHARINDEX(‘Telcel’, articulo)>0 and a.tiempoAire = 1 and a.bloqueado = 0 order by a.DESCRIP | 0 | 1800 | 3100 | |
| Tutor | SELECT articulo, descrip FROM prods ORDER BY descrip | 0 | 0 | 0 | 0 |
| Ubicación en almacen | SELECT descrip AS ‘descripción’, ubicacion FROM ubicacion ORDER BY descrip | 1 | 2500 | 0 | 6000 |
| Usuarios | SELECT usuario, nombre FROM usuarios | 0 | 0 | 0 | 0 |
| UsuariosGB | SELECT usuariosGreenBox.idTeller AS ‘Usuario’, usuariosGreenBox.name AS ‘Nombre’ FROM usuariosGreenBox ORDER BY usuariosGreenBox.name | 0 | 1000 | 5000 | 7500 |
| Vendedores | SELECT nombre, vend AS ‘Vendedor’ FROM vends ORDER BY nombre | 1 | 4000 | 0 | 7500 |
| Ventas | SELECT ventas.venta, ventas.cliente FROM ventas, clients WHERE ventas.cliente = clients.cliente | 1 | 0 | 0 | 0 |
| Ventas pendientes | SELECT venta, f_emision AS ‘Fecha’ , cliente FROM ventas WHERE estado = ‘PE’ ORDER BY no_referen | 0 | 0 | 0 | 0 |
| Ventas sin cancelar | SELECT no_referen AS ‘Documento’ , f_emision AS ‘Fecha’ , cliente, venta FROM ventas WHERE estado = ‘CO’ AND tipo_doc = ‘FAC’ ORDER BY venta | 3 | 0 | 0 | 0 |
| Zonas de clientes | SELECT zona , descrip FROM zonas ORDER BY zona | 0 | 2000 | 3500 | 7000 |