Publicado el Dejar un comentario

Imprime el ticket via Windows

' Mybusiness POS v. 2011
Sub Main()

imprime Ambiente.rstEstacion.fields("ImpRem")
'imprime "\\SERVER2\HP LaserJet 3300 Series PCL 6"

End Sub

Function imprime( cImpresora )
' Formato de remisiones
' Por() Daniel

Dim rstEncabezado 'El recordSet de los datos generales
Dim rstPartidas 'Las partidas de la factura
Dim rstCliente 'El cliente de la venta
Dim rstLotes 'Lista de lotes
Dim rstSeries 'Lista de números de serie
Dim nRenglon 'El número de renglón sobre el que se va a trabajar
Dim strSql 'Una cadena con el query que se va a ejecutar
Dim Estado 'El estado de la venta cancelado o facturado
Dim ImportePartida 'El importe de cada partida
Dim ImporteTotal 'El importe total de la factura
Dim Impuesto 'El impuesto de la factura
Dim rstMoneda 'La moneda de la venta
Dim nLineas 'Un contador para los campos de tipo memo
Dim nSalto

nSalto = 0.7

'Esto abre el cajon de dinero
if Ambiente.rstEstacion("Cajon") <> 0 Then
if Not clEmpty(Ambiente.rstEstacion("pticket")) Then
Out Trim(Ambiente.rstEstacion("pticket")), Chr(27) & Chr(112) & Chr(48) & Chr(20) & Chr(20)
end if
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 Function
end if

' Creamos el recordSet de las partidas que componen la venta
Set rstPartidas = Rst("SELECT * FROM partvta 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 )

'Indicamos cual es la impresora que deseamos utilizar
EstableceImpresora (cImpresora)

' Iniciamos la Impresión del encabezado de la forma
IniciaDocumento

EstableceFuente "Courier New", 9
FontBold True

' Imprimimos el logo del programa
'Picture Ambiente.path & "\Images\Business.jpg", Col(28), Row(1), Col(7),Row(4)

' Imprimimos el Nombre de la empres
'FilledBox 1.5,0.2,5,0.33, RGB( 200, 200, 200 )

nRenglon = 0
nRenglon = nRenglon + nSalto

FontBold True
Say Row(nRenglon),Col(28), Ambiente.Empresa
FontBold False

nRenglon = nRenglon + nSalto
nRenglon = nRenglon + nSalto
Say Prn.Row(nRenglon), Col(28), Ambiente.Direccion1
nRenglon = nRenglon + nSalto
Say Prn.Row(nRenglon), Col(28), Ambiente.Direccion2
nRenglon = nRenglon + nSalto
Say Prn.Row(nRenglon), Col(28), "Ticket: " & rstEncabezado.Fields("No_referen") & " Caja: " & Ambiente.Estacion
nRenglon = nRenglon + nSalto
Say Prn.Row(nRenglon), Col(28), rstEncabezado.Fields("Usuario") & " " & Formato( rstEncabezado.Fields("UsuFecha"), "dd/MM/yyyy") & " " & rstEncabezado.Fields("UsuHora")

if rstEncabezado.Fields("Estado") = "CA" Then
Estado = "CANCELADO"
end if

if rstEncabezado.Fields("Estado") = "CO" Then
Estado = "REMISIONADO"
end if

FontBold False

nRenglon = nRenglon + nSalto

While Not rstPartidas.EOF

' No congelamos el sistema
Ev = DoEvents

'Say Row(nRenglon), Col(36), Trim(rstPartidas.Fields("Articulo"))
Say Row(nRenglon), Col(43), Padl(Formato(rstPartidas.Fields("Precio") * (1 + ( rstPartidas.Fields("Impuesto") / 100)), "###,###,###.00"), 6)
Say Row(nRenglon), Col(40), rstPartidas.Fields("Cantidad")
'Say Row(nRenglon), Col(59), rstPartidas.Fields("Descuento")

' Calculamos el importe
ImportePartida = rstPartidas.Fields("Precio") * rstPartidas.Fields("Cantidad")
ImportePartida = ImportePartida - ( ImportePartida * ( rstPartidas.Fields("Descuento") / 100 ) )

Say Row(nRenglon), Col(47.5), PadL(Formato(ImportePartida * (1 + ( rstPartidas.Fields("Impuesto") / 100)),"###,###,###.00"),6)

' Contamos las lineas que tiene el campo memo
' Imprimimos las lineas al final para poder incrementar los renglones
' sin afectar a las partidas
nLineas = CuantasLineas( rstPartidas.Fields("Observ") )

' Imprimimos cada una de ellas
For n = 1 to nLineas
Say Row(nRenglon), Col(28), Mid( strLinea( Trim(rstPartidas.Fields("Observ")), n), 1, 18 )
nRenglon = nRenglon + nSalto
Next

' Si no existen comentarios no disminuimos en un renglon.
if nLineas > 0 Then
nRenglon = nRenglon - nSalto
end if

rstPartidas.MoveNext
nRenglon = nRenglon + nSalto

If nRenglon >= 60 Then
nRenglon = 1
PaginaNueva
End If

Wend

' Imprimimos las observaciones de la operacion
nLineas = CuantasLineas( rstEncabezado.Fields("Observ") )

' Imprimimos cada una de ellas
For n = 1 to nLineas
nRenglon = nRenglon + 1
Say Row(nRenglon), Col(30), strLinea( rstEncabezado.Fields("Observ"), n)
Next

' Imprimimos la leyenda en letra y los totales
ImporteTotal = rstEncabezado.fields("Importe")
Impuesto = rstEncabezado.fields("Impuesto")

Set rstMoneda = rst("SELECT * FROM monedas WHERE moneda = '" & rstEncabezado.fields("Moneda") & "'", Ambiente.Connection )

nRenglon = nRenglon + nSalto
Say Row(nRenglon), Col(28), "Importe : " & PadL(Formato(ImporteTotal,"###,###,###.00"),12)
nRenglon = nRenglon + nSalto
Say Row(nRenglon), Col(28), "Impuesto: " & PadL(Formato(Impuesto,"###,###,###.00"),12)
nRenglon = nRenglon + nSalto
Say Row(nRenglon), Col(28), "Total : " & PadL(Formato(ImporteTotal + Impuesto,"###,###,###.00"),12)
nRenglon = nRenglon + nSalto
nCobro = rstEncabezado.fields("Pago1") + rstEncabezado.fields("Pago2") + rstEncabezado.fields("Pago3")
Say Row(nRenglon), Col(28), "Su pago : " & PadL( Formato( nCobro, Ambiente.Fdinero ), 12 )
nRenglon = nRenglon + nSalto
nCambio = ImporteTotal + Impuesto - (rstEncabezado.fields("Pago1") + rstEncabezado.fields("Pago2") + rstEncabezado.fields("Pago3"))
Say Row(nRenglon), Col(28), "Cambio : " & PadL( Formato( Abs(nCambio), Ambiente.FDinero ), 12 )
nRenglon = nRenglon + nSalto
nRenglon = nRenglon + nSalto
Say Row(nRenglon), Col(28),Trim( Letra(ImporteTotal + Impuesto, rstMoneda.fields("Descrip"), True, rstMoneda.fields("Nombre") ) )

nRenglon = nRenglon + nSalto
Say Row(nRenglon), Col(28), "Gracias por su preferencia"

' Se da por terminado el documento
FinDocumento

End Function

Publicado el 3 comentarios

Cómo solucionar el Error de decimales y Reportes en Blanco?

wpid-12921860_959637817437617_1017869236_o.png.jpg

A varios usuarios les ha sucedido que no pueden visualizar los reportes de manera correcta; solo se alcanza a visualizar un poco que se está cargando el reporte, pero al momento de mostrarlo se queda casi en blanco toda la ventana.

La solución que les comparto en esta ocasión tal vez suena muy simple,  sin embargo, estoy seguro que a más de uno le va a ser útil.

Debe configurar su equipo al idioma Español (México).

Esto se logra siguiendo la ruta INICIO — PANEL DE CONTROL — CONFIGURACION REGIONAL Y DE IDIOMA.

Ahí Seleccionamos el idioma Español de México  y también se recomienda la ubicación México.

Esto además soluciona el problema de que los aprecios de los artículos se ven en miles o millones de pesos (cuando en realidad su valor es unos pesos y algunos centavos).

Este tip también soluciona el problema de los decimales con coma (1,500) y muestra los decimales con el punto decimal(1.5) como lo conocemos en México.

Espero haber aportado algo para todos los visitantes del blog. cualquier duda contactarme a jofelchez@gmail.com

Pagar

¿Cuál es la cuenta bancaria a la que debo hacer mi aportación?

La aportación es a nombre de José Guadalupe Félix Sánchez. El importe recomendado es de $1,500.00 MXN

  • OXXO (12 pesos comisión)
    • Depósito tarjeta BBVA. 4152 3139 1639 5200
  • A través de PayPal.
  • BANCOMER
    • PractiCaja (disponible las 24 hrs). 0178928320
    • Cuenta. 0178928320
    • Clabe Interbancaria. 012420001789283207
  • SANTANDER
    • Cuenta 6055627182
    • Clabe Interbancaria. 014180605562718206.
  • BANCOPPEL
    • Cuenta. 10166316214
    • Clabe Interbancaria. 137180101663162145

Qué garantía existe al hacer la aportación?

Si en dos semanas no se siente satisfecho, su solución será gratuita.

¿Cómo funciona el pago en forma de Pomo?

La forma de pago es a través de Depósito, Transferencia interbancaria o a través de Paypal , por un monto mínimo de $1,000.00 M.N.

¿Qué beneficios tiene el usuario al adquirir por lo menos un parche?

El usuario tiene acceso a soporte relacionado con el mismo parche, así como también puede solicitar otros parches a precios más accesible

¿Dónde identifico el precio de los parches?

La aportación del Pomo es de $749.00 M.N.

¿Qué debo hacer después de hacer el pago?

Notificar al WhatsApp 7222816462 o correo jofelchez@gmail.com sobre este depósito y adjuntar una foto del comprobante de dicho pago.

¿Cuál es el beneficio de pagar casi en el momento que encuentro el archivo que necesito?

Envío mucho más rápido de la solución que buscas.

Haz la diferencia… Deja algo para seguir motivados

Inventario

Recordemos que “El mejor sistema es el que el Usuario maneja en su negocio” y el objetivo es que MyBusiness POS sea ese sistema que utilice el Cliente.

Sabemos que los inventarios son el pan de cada día en casi todos los negocios. Pero, para un Distribuidor de MyBusiness POS, esto se convierte en un obstáculo para el cierre total del ciclo de Punto de Venta.
En la mayoría de los casos, el cliente va a tratar muy mal al distribuidor con el fin de no comprar o de regatear hasta lograr la compra muy por debajo del valor comercial.

He tenido la difícil experiencia de llevar a cabo inventarios de mercancía que no tiene que ver con mi perfil (Soy Distribuidor y Programador). Hacer un inventario en ocasiones se puede considerar como un desperdicio de las habilidades, tiempo y dinero del Distribuidor; los cuales en muchas ocasiones el Cliente no está dispuesto a absorber o que simplemente no fue considerado este rubro en la cotización del proyecto.

Cuál es la función del Distribuidor en un Inventario?

El distribuidor debe ser solo un facilitador para mostrar cómo se debe alimentar al sistema y empatar con la manera tradicional de inventariar por parte del Cliente, mas no debe ser quien se encargue de contar la mercancía. Eso debe estar especificado dentro de las cláusulas de la cotización. El cliente tiene su propia manera de inventariar, así que también debe haber conciencia para que el sistema se adapte en lo posible al conteo del Cliente y si se puede optimizar, pues que sea una herramienta útil.

Publicado el 2 comentarios

Facturación CBB (Código Bidimensional)

 



Durante estos días estado revisando la posibilidad de tener una factura desde MyBusiness POS (2006 o 2011) con código Bidimensional y sin necesidad de agregar librerías, debido a que estas en muchas ocasiones no son compatibles con las versiones; y en otros casos, solo consumen muchos recursos con sus Net Frameworks. es por tal razón que he desarrollado el formato para que puedan imprimir todas sus facturas desde la versión 2006 de una manera transparente y tan fácil como se ha estado llevando a cabo hasta antes de que iniciara este año.

Aqui les dejo un link que muestra cómo se vería la Factura con código Bidimensional:

MyBusinesspPOS CBB

[gview file=”http://helpmybusinesspos.info/wp-content/Imagenes/MyBusinessPOS_Factura_CBB.pdf” save=”1″]

Espero les convenza y veamos el verdadero potencial que sigue teniendo la versión 2006 de MyBusiness POS sobre cualquier otra versión.