Tenemos un desarrollo para que puedas dar de alta los artículos de forma parecida a una hoja de Excel
Resultados de la búsqueda para: no existe en el catalogo
Alinear y Centrar el texto del ticket con PadC, PadL y PadR
En 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
Alinear Texto con PadL, PadR y PadC
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
Restringir permisos a usuarios
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 definir 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.
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 |
Android Corte Z
Envíanos un Whats al 7222816462 y te asesoraremos a la brevedad en este tema.
Android POS Pro
Editor de Corte Z, adecuar el corte a las necesidades del negocio
Descarga la aplicación, con extensión .apk, para que puedas revisar el último corte Z.
Esta aplicación está desarrollada en conjunto con David Félix, al cual pueden contactar en dfs-dfs@hotmail.com
La finalidad de esta primera versión es que nos compartas tu experiencia y retroalimentar el desarrollo para mejorarlo.
Vale la pena mencionar que en siguientes fases se integrará la consulta directa a catálogos con imágenes, reportes.
En una tercera etapa, se habilitarán operaciones como lectura de códigos de barras y posiblemente ventas.
Saludos
José Félix