Publicado el Dejar un comentario

2 Herramientas para Programar MyBusiness POS

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:

  • formatosdelta. Almacena los formatos de impresión, reportes y procedimientos que se ven en el sistema MyBusiness POS (en el Business Manager–Personalización).
  • formasdelta. Almacena las ventanas o formas que se identifican en el ambiente de desarrollo (Menu principal–Programación–Ambiente de desarrollo). Las ventanas se integran de dos partes :
    • Código: El código fuente se ve de manera similar al de formatos delta
    • Diseño: esta parte se ve en forma de caracteres que solo el ambiente de desarrollo interpreta, aunque con un poco de habilidad lo podemos manipular y funciona de la misma manera. Este código se presenta así:”Forma==13635==5760==-71895==2805====$$-$$ListView==3200==750==9875==0==lista====13$$-$$Grid==12660==4250==375==875==Grid====12$$-$$TextBox”


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

  1. Una vez descargado e instalada la aplicación, se crea una nueva conexión hacia SQL ServerNavicat Premium0000
  2. Se abre una ventana que solicita los datos. Si el servidor está de forma local, se colocan de la siguiente manera:Connection name: Su nombreHost Name: .\SQLEXPRESSAuthentication: Sql Server AuthenticationUser name: saPassword: 12345678Navicat Premium0
  3. En caso de que el servidor se encuentre en otro equipo y escucha con el puerto 1400, se configura de la siguiente forma:Navicat Premium000Connection name: Su nombreHost Name:Su_Servidor\SQLEXPRESS, 1400Authentication: Sql Server AuthenticationUser name: saPassword: 12345678
  4. Presionar el botón “Test Connection” para verificar si todo está en orden. Después presionar OKNavicat Premium00
  5. Aparece el listado de base de datos. Seleccionar la base que nos interesa “C:\MyBusinessDatabase\myBusinessPOS2012.mdf” y se muestran las tablasnavicat1
  6. En navicat es posible filtrar el nombre de la tabla con solo escribir en la parte superior derecha. en este caso, escribir la palabra “Delta” y aparecen las dos tablas que nos interesan:Navicat Premium2
  7. Al seleccionar la tabla FormatosDelta, se pueden ver la lista de códigos fuenteNavicat Premium3
  8. Para ver el detalle, es necesario seleccionar la vista MEMONavicat Premium4
  9. Al seleccionar MEMO se puede ver el código completo de cada registroNavicat Premium5
  10. En el caso de la tabla FormasDelta, se puede ver el código fuente de las ventanas o formasNavicat Premium6
  11. De igual manera, al colocar la vista MEMO, se ven las funciones utilizadas por el ambiente de desarrolloNavicat Premium7
  12. Dentro de la tabla, en la columna frm se encuentra el diseño de la ventana, pero con muchos símbolos. Ahí se encuentran los controles y botonesNavicat Premium9
Publicado el 4 comentarios

Alta Rápida de Artículos

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

Alta Rápida de Artículos

17.09 KB 84 descargas


Publicado el 4 comentarios

Alinear y Centrar el texto del ticket con PadC, PadL y PadR

Alinear_centrar_texto_mybusinessposEn este ejemplo veremos cómo alinear el texto de un ticket con las funciones

  • PadL(cadenaTexto,Longitud). Rellena de espacios a la izquierda; Alineación a la Derecha
  • PadR(cadenaTexto,Longitud). Rellena de espacios a la derecha; Alineación a la Izquierda
  • PadC(cadenaTexto,Longitud). Rellena de espacios al centro; Alineación Centrado


Para lograrlo, crearemos tres funciones, aunque PadL ya viene por default, aquí la colocaremos.

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

Publicado el Dejar un comentario

Query para MultiCombo

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