Publicado el Dejar un comentario

No se puede completar la operación ( código error 0×00000709). Compruebe el nombre de la impresora y asegúrese de que la impresora está conectada a la red

Parece una tontería pero a veces pasa mas con el Windows 8 y con el Windows 7.

Este error está generado por el perfil del usuario. En algunos casos cuando no podemos seleccionar ninguna impresora para imprimir.

¿Como solucionar el problema de establecer como impresora predeterminada una de las impresoras que tenemos sin crear un nuevo perfil de usuario?

En Inicio – Ejecutar escribimos Regedit y pulsamos Intro

Entramos en :

HKEY_CURRENT_USER / SOFTWARE / MICROSOFT / WINDOWS NT / CURRENT VERSION / WINDOWS

Nos posicionamos encima de WINDOWS y pulsamos boton derecho del ratón seleccionando con boton izquierdo Permisos

Los permisos deben ser :

Grupo Administradores (<nombre maquina>Administradores> – permiso de permitir Control Total + Leer

Usuario <nombre de usuario> (nombre usuario) – permiso de permitir Control Total + Leer

Grupo Restringido – Permiso de permitir Leer

Grupo SYSTEM – Permiso de permitir Control Total + Leer

Una vez establecidos los permisos Pulsamos Aceptar

El siguiente paso será la creación de esta entrada. Pulsamos en la parte derecha en la zona blanca y seleccionamos Nuevo -> Valor Alfanumérico. Cambiamos el nombre que aparece como Nuevo valor #1 en DEVICE

Seleccionamos DEVICE y pulsamos dos veces boton izquierdo o la tecla INTRO

Coloque el Nombre de la Impresora y de Aceptar

Nestor Octavio Guzman Bernal

Desarrollador de Soluciones

Cel.: (722) 7 70 16 56

WhatsApp: (722) 7 70 16 56

Publicado el Dejar un comentario

Redondear en MyBusiness POS

redondeo-MybusinessPOSA pesar de que nuestra moneda cada vez tiene menor poder adquisitivo, es necesario que los sistemas cuenten con la facilidad de redondear a las denominaciones que circulan en nuestro país. Para ello, comparto el .paq que permite hacer redondeo de productos que cuentan con precio bajo (a partir de un peso) y que se puede redondear a monedas con denominación 50 centavos y 1 peso.

En el procedimiento REDONDEOPUNTODEVENTA (ubicado en el Business Manager — Personalizacion –Porcedimientos y rutinas de usuario).

El cambio fue aplicado en la línea 9

    If Me.PorRedondear < 50 Then

por esto

    If Me.PorRedondear < 1 Then

Guarda los cambios.

Ahora, en la configuración de la Estación de trabajo (Business Manager — Configuración — Estaciones de trabajo) ubicar la pestaña Punto de Venta. Ahi es necesario habilitar la siguiente opción

  • Activar redondeo

Y en Número de posiciones se puede colocar de acuerdo a sus necesidades:

  • Número 0  Redondea a números enteros (1.00, 2.00, 3.00, 4.00). Es recomendable si en su negocio utiliza solo importes enteros.redondeo0
  • Número 1  Redondea a un decimal o a entero (1.50, 2.00, 2.50, 3.50). Este es el número recomendable si en su negocio maneja monedas de cincuenta centavos.redondeo1
  • Número 2  redondea a tres decimales (1.52, 2.12, 2.89, 3.00). Esta opción aplica si en su negocio factura de manera electrónica, con impuestos a detalle y desea que aparezcan los decimales sin redondeo mayor a centésimas.redondeo2

Guardar y hacer la prueba con una venta. En el ticket aparecerá un concepto de redondeo por los decimales ajustados en la venta global.

redondeo-punto-de-venta

Saludos

José félix

Publicado el 7 comentarios

Ticket reducido con impuesto especial

Descarga el formato de ticket tanto para puerto USB (impresora predeterminada desde windows) como para puerto LPT.

Este ticket tiene la característica que cada linea utiliza 32 caracteres, las descripciones de articulos son multilínea y no se truncan.

Puedes descargarlo aquí mismo.

ticket con impuesto especial (gratis)

152.00 KB 493 descargas

Publicado el 13 comentarios

Configuración de Usuarios en My Business POS

La seguridad y el control de los usuarios son importantes para el buen manejo de cualquier empresa o negocio. En MyBusiness POS la configuración de usuarios consta de cinco niveles que le van a permitir configurar específicamente el perfil de cada uno de sus usuarios:

1. ALTA DE UN USUARIO.

Es necesario que acceda 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’.

De un clic en [Nuevo] y capturemos los siguientes datos:

  • Usuario: Es el nombre del usuario con el que va a accesar.
  • Nombre: Es el nombre completo del usuario.
  • Password: Hace referencia a la clave o palabra secreta de acceso.


Además es posible tomar las huellas del usuario para que el acceso al sistema pueda ser mediante la huella digital.

Este el procedimiento:

  1. Una vez conectado el lector de huella, MyBusiness POS lo reconocerá de inmediato.
  2. En la misma pantalla tomaremos lectura uno a uno de los dedos del usuario. Pueden ser solamente dos o los cinco dedos de una u ambas manos.

Una vez asignados los datos, tanto de las huellas como los de acceso por tecleo de usuario y clave, detallaremos las configuraciones de los usuarios.

En el proceso anterior dejamos sin activar la casilla “Es Supervisor”

¿Qué utilidad tiene que la active la casilla de Supervisor?

Esta casilla permite ver:

  • En el Business Manager: La carpeta de Configuración, la cual regula los catálogos de configuración de las estaciones de trabajo, los conceptos de cobranza, los conceptos de inventario, catálogos de monedas, etc., lo que detallaremos en un boletín posterior.
  • En la Barra de Iconos: El segmento de Configuración y de Programación que tienen iconos los cuales configuran y personalizan a MyBusiness POS.
  • En el Punto de Venta: Teclas de ayuda y funciones especiales para la venta, tales como los descuentos.
  • Reportes: Asigna todos los reportes al usuario “Supervisor”.

Ya que hemos comprendido la utilidad que tiene el activar o desactivar esta casilla proceda con la acción que considere propia del usuario que acaba de dar de alta.

2. 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 definirle 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.

Fuente:

Información obtenida del boletín No. 46 y 49 de https://mybusinesspos.com
Publicado el Dejar un comentario

Formato de tickets para credito

' Mybusiness POS v. 2011
Sub Main()
Dim rstVenta

Set rstVenta = CreaRecordSet( _
"SELECT * FROM ventas WHERE venta = " & Documento, Ambiente.Connection )

If rstVenta("cobranza") > 0 Then
ImprimeTicket
ImprimeTicket
Else
ImprimeTicket
End If

End Sub

Sub ImprimeTicket

'If MsgBox( "Desea imprimir el ticket", vbQuestion + vbYesNo + vbDefaultButton2 ) = vbNo Then
' Exit Sub
'End If

' Creamos el recordSet del encabezado de la venta
Set rstEncabezado = Rst("SELECT * FROM ventas WHERE venta = " & prn.Documento, Ambiente.Connection )

' Verificamos que la venta que se desea imprimir exista
if rstEncabezado.EOF Then
MsgBox "No existe la venta seleccionada",vbInformation
Exit Sub
end if

' Creamos el recordSet de las partidas que componen la venta
Set rstPartidas = Rst("SELECT partvta.iespecial, partvta.articulo, prods.precio1,prods.descrip, partvta.precio, partvta.cantidad, partvta.descuento, partvta.impuesto, partvta.preciobase, partvta.prdescrip FROM partvta INNER JOIN prods ON prods.articulo = partvta.articulo WHERE venta =" & rstEncabezado.fields("Venta"), Ambiente.Connection )

' Traemos todos los datos del cliente
Set rstCliente = Rst("SELECT * FROM clients WHERE cliente = '" & rstEncabezado.fields("Cliente") & "'", Ambiente.Connection )

' Traemos los datos de cobranza si es que existe
Set rstCobranza = Rst( "SELECT * FROM cobranza WHERE venta = " & rstEncabezado("venta"), Ambiente.Connection )

cSalida = ""

'Esto abre el cajon de dinero
if Ambiente.rstEstacion("Cajon") <> 0 Then
cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(20) & Chr(20)
cSalida = cSalida & Chr(7)
' Sansung de inyección
' cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(49)
end if

cSalida = cSalida & "" & Ambiente.Empresa & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( Ambiente.Direccion1 ) & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( Ambiente.Direccion2 ) & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( Ambiente.Telefonos ) & Chr(13) & Chr(10)
cSalida = cSalida & "" & Trim( rstEncabezado("Usuario") ) & " " & Trim( Ambiente.Estacion ) & " Ticket: " & rstEncabezado("No_referen") & Chr(13) & Chr(10)

cSalida = cSalida & Formato( rstEncabezado("f_emision"),"dd-MM-yyyy" ) & " Hora: " & rstEncabezado("usuHora") & Chr(13) & Chr(10)
cSalida = cSalida & Trim( rstCliente("cliente") ) & " " & Trim( rstCliente("Nombre") ) & Chr(13) & Chr(10)
cSalida = cSalida & Ambiente.rstEstacion("leyendacomodin") & " " & rstEncabezado("comodin") & Chr(13) & Chr(10)
cSalida = cSalida & "Vendedor: " & rstEncabezado("Vend") & Chr(13) & Chr(10)
cSalida = cSalida & "CANT. DESCRIPCION PRECIO IMPORTE" & Chr(13) & Chr(10)

nImporteTotal = 0
nImpuesto = 0
nCantidadTotal = 0
nDescuentoTotal = 0
nImporteOrigen = 0

'PrintText cSalida

If Ambiente.Tag <> "HTML" Then

If Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

cSalida = ""

End If

While Not rstPartidas.EOF

nPrecio = rstPartidas("Precio") * ( 1 - (rstPartidas("Descuento")/100) ) * (1 + ( rstPartidas("impuesto") / 100 ) )
nPrecioBase = Round( rstPartidas("PrecioBase") * (1 + ( rstPartidas("impuesto") / 100 ) ), 2)
nDescuento = (nPrecioBase - nPrecio) * rstPartidas("Cantidad")

If nPrecioBase > 0 Then
nDescPor = ( nPrecio / nPrecioBase ) * 100
Else
nDescPor = 0
End If

nDescuentoTotal = nDescuentoTotal + nDescuento
nImporte = nPrecio * rstPartidas("Cantidad")

nCantidad = PadL(Formato( rstPartidas("cantidad"), "##,##0.00" ),3)

cDescrip = Mid( rstPartidas("Descrip"), 1, 16 )
nCantidadTotal = nCantidadTotal + rstPartidas("cantidad")

nImporteTotal = nImporteTotal + nImporte
nImpuesto = nImpuesto + ( nImporteTotal * ( rstPartidas("impuesto") / 100 ) )

nPrecio = 0
nIEspecial = rstPartidas("Precio") * (Val2(rstPartidas("iespecial")) / 100)
nIVa = rstPartidas("Precio") * (rstPartidas("impuesto") / 100)
nPrecio = rstPartidas("Precio") + nIEspecial + nIVa

cPrecio = PadL(Trim(Formato( nPrecio, Ambiente.FDinero )),8)
cImporte = PadL(Trim(Formato( Round( nPrecio, 2) * rstPartidas("cantidad") * (1 - (rstPartidas("descuento") / 100)), Ambiente.FDinero )),8)
nPrecioOrigen = Round( rstPartidas("PrecioBase") * (1 + ( rstPartidas("impuesto") / 100 )),2) * rstPartidas("cantidad")
nImporteOrigen = nImporteOrigen + nPrecioOrigen

strSalida = PadL(Formato( nCantidad, Ambiente.Formato ),2) & " " & cDescrip & " " & cPrecio & " " & cImporte

'If rstPartidas("Precio1") > rstPartidas("Precio") Then
' nDescuentoPartida = ( rstPartidas("Precio1") - rstPartidas("Precio") ) * nCantidad
' strSalida = strSalida & " Descuento: " & Formato( nDescuentoPartida, "##,##0.00" ) & vbCrLf
'End If

cSalida = cSalida & strSalida & Chr(13) & Chr(10)

If Not clEmpty( cNull( rstPartidas("prdescrip") ) ) Then
cSalida = cSalida & Trim( rstPartidas("prdescrip") ) & vbCrLf
End If

rstPartidas.MoveNext
Wend

'PrintText cSalida

If Ambiente.Tag <> "HTML" Then

If Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

cSalida = ""

End If

cSalida = cSalida & Chr(13) & Chr(10)
cSalida = cSalida & Chr(13) & Chr(10)

cSalida = cSalida & " Importe: " & PadL(Formato( Val2(rstEncabezado("importe")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & " Impuesto: " & PadL(Formato( Val2(rstEncabezado("impuesto")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)

if Val2(rstEncabezado("iespecial")) > 0 Then
cSalida = cSalida & " Impuesto 2%: " & PadL(Formato( Val2(rstEncabezado("iespecial")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
end if

if nDescuentoTotal > 0 Then
cSalida = cSalida & " Importe: " & PadL(Formato( nImporteOrigen, Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & " Descuento: " & PadL(Formato( nDescuentoTotal, Ambiente.FDinero ),10) & Chr(13) & Chr(10)
end if

cSalida = cSalida & " Importe: " & PadL(Formato( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & " Redondeo: " & PadL(Formato( Val2(rstEncabezado("Redondeo")), Ambiente.FDinero ),10) & Chr(13) & Chr(10)
cSalida = cSalida & Chr(13) & Chr(10)
cSalida = cSalida & PadL(Formato( nCantidadTotal, "###,###" ),4) & " ----- TOTALES ---- " & PadL(Formato( (Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("redondeo"))), Ambiente.FDinero ),10) & Chr(13) & Chr(10)

nPagoTotal = Val2(rstEncabezado("Pago1")) + Val2(rstEncabezado("Pago2")) + Val2(rstEncabezado("Pago3"))

if rstEncabezado("Pago1") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto1") & " " & PadL(Formato( Val2(rstEncabezado("Pago1")), Ambiente.FDinero ),9) & Chr(13) & Chr(10)
end if

if rstEncabezado("Pago2") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto2") & " " & PadL(Formato( Val2(rstEncabezado("Pago2")), Ambiente.FDinero ),9) & Chr(13) & Chr(10)
end if

if rstEncabezado("Pago3") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto3") & " " & PadL(Formato( Val2(rstEncabezado("Pago3")), Ambiente.FDinero ),9) & Chr(13) & Chr(10)
end if

Eventos

if nPagoTotal < (Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("redondeo"))) Then cSalida = cSalida & " Credito: " & PadL(Formato( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("redondeo")) - nPagoTotal, Ambiente.FDinero ),9) & Chr(13) & Chr(10) cSalida = cSalida & "Debo y pagaré la cantidad de: " & PadL(Formato( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("redondeo")) - nPagoTotal, Ambiente.FDinero ),9) & vbCrLf cSalida = cSalida & vbCrLf cSalida = cSalida & "______________________________" & vbCrLf cSalida = cSalida & "Nombre: " & vbCrLf else cSalida = cSalida & " Cambio: " & PadL(Formato( nPagoTotal - Val2(rstEncabezado("impuesto")) - Val2(rstEncabezado("iespecial")) - Val2(rstEncabezado("importe")) - Val2(rstEncabezado("redondeo")), Ambiente.FDinero ),9) & Chr(13) & Chr(10) end if Set rstMoneda = CreaRecordSet( "SELECT * FROM monedas WHERE moneda = '" & rstEncabezado("moneda") & "'", Ambiente.Connection ) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Letra( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), Trim(rstMoneda("Descrip")), True,rstMoneda("Nombre") ) & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & "***** GRACIAS POR SU COMPRA *****" & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) cSalida = cSalida & Chr(13) & Chr(10) ' Esto manda un corte de papel 'PrintText cSalida if Ambiente.rstEstacion("ticketcorte") <> 0 Then
cSalida = cSalida & Chr(27) & Chr(105)
end if

If Ambiente.Tag = "HTML" Then

Ambiente.Tag = ""

cSalida = Replace( cSalida, Chr(13) & Chr(10), "
" )
cSalida = "

" & cSalida & "

"
CreaHtml "", (cSalida)

Else

if Ambiente.rstEstacion("ticket") <> 0 Then
if clAt( "LPT", Ambiente.rstEstacion("pticket") ) > 0 Then
Out Trim(Ambiente.rstEstacion("pticket")), cSalida
else
if Ambiente.Ticket.PortOpen Then
Ambiente.Ticket.Output = cSalida
end if
end if
End if

End If

End Sub