Publicado el Dejar un comentario

¿Cómo importar un Procedimiento a MyBusiness POS?

Enfocado a: Distribuidores y Usuarios.

1. Entrar a MyBusiness POS y damos un clic en la carpeta configuracion del business manager.

2. Dentro de esta ventana buscar la carpeta personalización, y posteriormente el icono “formatos del sistema”

3. Se abrirá la herramienta Business Manager con la lista de todos los formatos

4. Clic derecho sobre cualquiera de los formatos y aparecerá una lista de opciones de la cual debe elegir la opción: Importar paquete de procedimientos.

5. Buscar el directorio donde esta guardado el archivo y selecciónalo.

6. Aparecerá una mensaje que te dice:
”Paquete importado”. Oprime un clic en Aceptar.

7. Cerramos la ventana. Para mayor seguridad, se recomienda dar mantenimiento a la base de datos y cerrar el programa.

Publicado el 3 comentarios

ZEBRA 2844 CON PRESENTACIONES Y UNIDAD

'|----------------------------------------------------------------------------------|
'| 2010-10-25 |
'| JOSE FELIX SANCHEZ (jofelchez@gmail.com) |
'| El siguiente procedimiento imprime las etiquetas de cada uno de los articulos, |
'| incluyendo sus presentaciones |
'| AGREGAMOS EL CAMPO UNIDAD |
'|----------------------------------------------------------------------------------|

Public Sub Main ()

Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, descrip, etiquetas, precio1, precio2, precio10 FROM prods WHERE etiquetas > 0”, Ambiente.Connection )
‘AGREGAMOS EL CAMPO UNIDAD
Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, descrip, etiquetas, precio1, precio2, precio10,UNIDAD FROM prods WHERE etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)
‘ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), “” , “” , “” , “” , “” , “”
‘AGREGAMOS EL CAMPO UNIDAD
ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), “” , “” , “” , “” , “” , “”, rstPartidas(“UNIDAD”)
Next

rstPartidas.MoveNext

Wend
‘AGREGAMOS LA UNIDAD
Set rstPartidas = CreaRecordSet( “SELECT UPPER(prods.articulo) AS articulo, prods.descrip, prods.precio1, UPPER(clavesadd.clave) AS clave, clavesadd.dato1, clavesadd.dato2, clavesadd.cantidad, clavesadd.unidad, clavesadd.etiquetas, clavesadd.precio, PRODS.UNIDAD AS UNIDAD_ARTICULO FROM clavesadd INNER JOIN prods ON clavesadd.articulo = prods.articulo WHERE clavesadd.etiquetas > 0”, Ambiente.Connection )

While Not rstPartidas.EOF

For i = 1 to rstPartidas(“etiquetas”)

ImprimeEtiqueta “LPT1”, rstPartidas(“articulo”), rstPartidas(“descrip”) , Formato(rstPartidas(“precio1”), “##,##0.00” ), rstPartidas(“clave”) , rstPartidas(“dato1”), rstPartidas(“dato2”) , Formato(rstPartidas(“cantidad”), “##,##0.00” ), rstPartidas(“unidad”) , Formato(rstPartidas(“precio”), “##,##0.00” ), rstPartidas(“UNIDAD_ARTICULO”)
Next

rstPartidas.MoveNext

Wend

End sub

‘AGREGAMOS LA VARIABLE UNIDAD
Public Sub ImprimeEtiqueta( cPuerto, cArticulo, cDescrip, cPrecioDeLista, cClave, cDato1, cDato2, cCantidad, cUnidad, cPrecioPresentacion , cUNIDAD_ARTICULO )

cPuerto = Trim( cPuerto )
cArticulo = Trim( cArticulo )
cDescrip = Trim( cDescrip )
cDato1 = Trim( cDato1 )

cClave = Trim( cClave )
cDato2 = Trim( cDato2 )
cUnidad = Trim( cUnidad )
‘AGREGAMOS LA VARIABLE UNIDAD
cUNIDAD_ARTICULO = Trim( cUNIDAD_ARTICULO )

cSalida = “”

‘ Aqui se puede modificar la etiqueta utiliza un lenguaje llamado EPL2 le adjunto manual del
‘ lenguaje, tambien si tienen la información del formato de la etiqueta y quieren que la
diseñe por favor mandemelo
‘ Aqui se muestran los comandos basicos
‘ El comando N inicia la etiqueta
‘ El comando A muestra un dato de texto en donde el 250 es la posición en el eje de las X
‘ y el 15 la posición en el eje de las Y
‘ El comando B muestra el código de barras donde 250 es la posición en el eje de las X y 45
‘ Es la posición de inicio del eje de las Y
‘ El comando P Finaliza la etiqueta y el nunero 1 indica cuantas etiquetas se van a imprimir

cSalida = cSalida & “N” & Chr(13) & Chr(10) ‘LIBERAMOS LA MEMORIA
cSalida = cSalida & “D14” & Chr(13) & Chr(10) ‘DENSIDAD DE LA IMPRESION, DE 0 A 15
LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 22 DEL MANUAL: A = ASCII; 05 = POSICION X; 11=POSICION Y; 0=GIRO 0 GRADOS; 2= TAMAÑO LETRA; 1=ESCALA EN HORIZONTAL; 1 = ESCALA VERICAL; N=LIMPIA MEMORIA
cSalida = cSalida & “A05,11,0,2,1,1,N,” & Chr(34) & Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
LA SIGUENTE LINEA SE PUEDE EXPLICAR EN LA PÁGINA 29 DEL MANUAL: B = CODIGO DE BARRAS; 05 = POSICION X; 30=POSICION Y; 0=GIRO 0 GRADOS; 1= TIPO DE CÓDIGO(CODE39); 2=SEPARACIONDE LAS BARRAS; 6 = TAMAÑO HORIZONTAL; 40=TAMAÑO VERTICAL; B=MOSTRAR LOS CARACTERES ABAJO DEL CÓDIGO DE BARRAS
cSalida = cSalida & “B05,30,0,1,2,6,40,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–
‘linea de codigo de barras de la version 2011
‘cSalida = cSalida & “B05,30,0,2,1,6,25,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘linea de codigo de barras de la version 2006
‘cSalida = cSalida & “B250,60,0,1,2,6,80,B,” & Chr(34) & cArticulo & Chr(34) & Chr(13) & Chr(10)
‘————————————————————————————————–

‘EN CASO DE QUE HAYA UNA CLAVE DE PRESENTACION
if cClave <> “” then

cSalida = cSalida & “A05,81,0,2,1,1,N,” & Chr(34) & Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “B05,100,0,1,2,6,30,B,” & Chr(34) & cClave & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,140,0,1,1,1,N,” & Chr(34) & Mid( cDato2,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,155,0,1,1,1,N,” & Chr(34) & Mid( cCantidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)
cSalida = cSalida & “A05,170,0,1,1,1,N,” & Chr(34) & Mid( cUnidad,1, 16 ) & Chr(34) & Chr(13) & Chr(10)

end if

‘ESTA LINEA MUESTRA EL CAMPO UNIDAD, LO COLOQUÉ AL FINAL PARA QUE LO PUEDA VISUALIZAR
cSalida = cSalida & “A05,185,0,2,1,1,N,” & Chr(34) & “UNIDAD: ” & Mid( cUNIDAD_ARTICULO,1, 12 ) & Chr(34) & Chr(13) & Chr(10)

‘cSalida = cSalida & “A220,55,0,4,1,1,N,” & Chr(34) & “$” & cPrecioDeLista & Chr(34) & Chr(13) & Chr(10)
‘CON P1, ESPECIFICAMOS QUE SE DEBE IMPRIMIR UNA ETIQUETA Y FINALIZAMOS ESTA
cSalida = cSalida & “P1” & Chr(13) & Chr(10)

‘msgbox cSalida

‘——————————————————————————————-
‘EL SIGUIENTE BLOQUE QUE APARECE EN VERDE ES POR SI QUISIERAMOS IMPRIMIR VIA USB
‘IniciaDocumento
‘ EstableceFuente “Times New Roman”, 9
‘ Say 2.3, 3.4, Mid( cDescrip,1, 12 ) & ” $ ” & cPrecioDeLista
‘ EstableceFuente “C39HrP24DhTt”, 40
‘ Say 2.5, 3.4, cArticulo

‘if cClave <> “” then

‘ EstableceFuente “Times New Roman”, 9
‘ Say 3.1, 3.4, Mid( cDato1,1, 16 ) & ” $ ” & cPrecioPresentacion
‘ Say 3.3, 3.4, “Tipo: ” & Mid( cDato2,1, 16 )

‘ EstableceFuente “C39HrP24DhTt”, 30
‘ Say 3.5, 3.4, cClave

‘ EstableceFuente “Times New Roman”, 9
‘ Say 4.0, 3.4, “Cantidad: ” & Mid( cCantidad,1, 16 )
‘ Say 4.1, 3.4, “Unidad: ” & Mid( cUnidad,1, 16 )

‘end if

‘FinDocumento
‘———————————————————————————–

if Ambiente.rstEstacion(“ietiquetas”) <> 0 Then
if clAt( “LPT”, Ambiente.rstEstacion(“ietiquetaspuerto”) ) > 0 Then
Out Trim(Ambiente.rstEstacion(“ietiquetaspuerto”)), cSalida
else
if Ambiente.ImpresoraDeEtiquetas.PortOpen Then
Ambiente.ImpresoraDeEtiquetas.Output = cSalida
end if
end if
end if

Dormir 100
Eventos

End Sub

 

Publicado el Dejar un comentario

Recibo de efectivo

flujoEn esta ocasión mostramos el código del formato Recibo, el cual se imprime al tener un ingreso de efectivo por conceptos de cobranza tanto en punto de venta como en el asistente de cobranza. En algunas versiones se llama Abono y en las anteriores se llama Recibo.
'mybusiness pos 2011
Sub Main()
'mymessage "imprimir"
'PlaySound "c:\desarrollo\ScorpionMyBusiness.wav"
'MyMessage "Gracias por su pago"
ImprimeEnHojaCarta
'ImprimeEnTicket

End Sub

Sub ImprimeEnTicket()
Dim c

' Creamos el recordSet del encabezado de la venta
Set rstRecibo = CreaRecordSet("SELECT * FROM caja WHERE abono = " & prn.Documento, Ambiente.Connection )
' Traemos los datos del cliente
Set rstClientes = CreaRecordSet( "SELECT * FROM clients WHERE cliente = '" & rstRecibo("cliente") & "'", Ambiente.Connection )
' Traemos la moneda con la que se realizo el movimiento
Set rstMoneda = CreaRecordSet( "SELECT * FROM monedas WHERE moneda = '" & rstRecibo("moneda") & "'", Ambiente.Connection )

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

c = c & Ambiente.Empresa & vbCrLf
c = c & Ambiente.Direccion1 & vbCrLf
c = c & Ambiente.Direccion2 & vbCrLf
c = c & Ambiente.Telefonos & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & "COMPROBANTE DE INGRESOS" & vbCrLf
c = c & "CLIENTE: " & rstClientes("nombre") & vbCrLf
c = c & "DIRECCION: " & rstClientes("calle") & vbCrLf
c = c & rstClientes("colonia") & vbCrLf
c = c & rstClientes("pobla") & vbCrLf
c = c & rstClientes("pais") & vbCrLf
c = c & "C.P.: " & rstClientes("cp") & vbCrLf
c = c & vbCrLf
c = c & "Fecha: " & Formato( rstRecibo("fecha_dep"), "Long Date" ) & vbCrLf
c = c & "Usuario: " & rstRecibo("usuario") & " " & Ambiente.Estacion & " " & rstRecibo("usuhora") & vbCrLf
c = c & vbCrLf
c = c & "IMPORTE " & Formato( rstRecibo("importe"), "##,##0.00" ) & vbCrLf
c = c & Letra( rstRecibo("Importe"), Trim(rstMoneda("Descrip")), True,rstMoneda("Nombre") )
c = c & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & " Autorizo " & vbCrLf
c = c & " ________________________" & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & vbCrLf
c = c & vbCrLf

if Ambiente.rstEstacion("ticketcorte") <> 0 Then
c = c & Chr(27) & Chr(105)
end if

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

End Sub

Sub ImprimeEnHojaCarta()
' Formato de recibos
' Por() Daniel
Dim rstRecibo ' Los datos del cobro
Dim rstCliente ' Los datos del cliente
Dim rstCobranza ' El dato de cobranza
Dim rstCobdet ' Detalle de cobranza

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

If rstRecibo.EOF Then
MsgBox "El movimiento no existe",vbInformation
Exit Sub
end if

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

' Traemos los datos de cobranza
Set rstCobdet = Rst( "SELECT * FROM cobdet WHERE abono = " & rstRecibo.fields( "Abono" ), Ambiente.Connection )

if Not rstCobdet.EOF Then
' Traemos los datos de cobranza
Set rstCobranza = Rst( "SELECT * FROM cobranza WHERE cobranza = " & rstCobdet.fields( "Cobranza" ), Ambiente.Connection )
end if

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

EstableceFuente "Courier New", 20
FontBold True

' Imprimimos el Nombre de la empres
FilledBox Col(3),0.2,Col(77),0.33, RGB( 200, 200, 200 )
Say Row(1),Col(3), Ambiente.Empresa

EstableceFuente "Courier New", 12
FontBold True

Say Row(3),Col(32), "RECIBO DE INGRESOS"

EstableceFuente "Courier New", 10
FontBold False

if Not rstCliente.EOF Then
Linea Col(3), Row(4), Col(74), Row(4)
Say Row(5),Col(3), "Fecha: " & rstRecibo.fields("Fecha_dep")
Say Row(6),Col(3), rstCliente.fields("Nombre")
Say Row(7),Col(3), rstCliente.fields("Calle") & " " & rstCliente.fields("Colonia")
Say Row(8),Col(3), rstCliente.fields("Pobla") & " " & rstCliente.fields("Estado") & " " & rstCliente.fields("Pais")
Say Row(9),Col(3), rstCliente.fields("RFC")

if Not rstCobdet.EOF Then
Say Row(10), Col(3), "AFECTA DOCUMENTO: " & rstCobranza.fields("TIPO_DOC" ) & " " & rstCobranza.fields("No_referen" )
Say Row(11), Col(3), "SALDO : " & Formato( rstCobranza.fields("SALDO" ), "###,###,###.00" )
end if
end if

Linea Col(3), Row(12), Col(74), Row(12)

Say Row(13),Col(3), "Pago No. " & rstRecibo.fields("Abono")
Say Row(14),Col(3), "Documento de pago: " & rstRecibo.fields("Tipo_doc") & " " & rstRecibo.fields("No_referen")
Say Row(15),Col(3), "Pago con : " & rstRecibo.fields("Moneda") & " " & Formato(rstRecibo.fields("Pago"),Ambiente.FDinero)
Say Row(16),Col(3), "Importe Neto : " & rstRecibo.fields("Moneda") & " " & Formato(rstRecibo.fields("Importe"),Ambiente.FDinero)
Say Row(17),Col(3), "Cambio : " & rstRecibo.fields("Moneda") & " " & Formato(rstRecibo.fields("Pago") - rstRecibo.fields("Importe"),Ambiente.FDinero)

nRenglon = 18

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

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

nRenglon = nRenglon + 1
Linea Col(3), Row(nRenglon), Col(74), Row(nRenglon)

FinDocumento

End Sub

Publicado el 1 comentario

Cancelación de Facturas

Forma_CANCELA_VENTA

6.51 KB 2 descargas

El artículo que a continuación les presentamos aclara las posibilidades para cancelar facturas, evitando así confusiones futuras en el procedimiento.

1. La factura se generó desde el Asistente de Ventas y se envió a cobranza.

Este movimiento genera un registro de ventas, con una salida al inventario y adicionalmente genera un cargo al módulo de cobranza. Usted puede también aplicar un abono en cobranza cuando su cliente le pague la factura.

La cancelación de la factura devolverá al almacén las existencias y saldará el cargo hecho a cobranza pero los abonos que usted haya aplicado a esta factura quedaran pendientes de saldar.

Cuando cancelamos una factura no necesariamente devolvemos al dinero al cliente, en algunos casos lo aplicamos a algún otro documento o bien generamos la factura correcta y le aplicamos este pago, por tal motivo la cancelación de la venta en automático no nos cancela los abonos. Para cancelarlos debe ir a cobranza.

En su flujo de caja y en su corte se verán reflejados los abonos que genere en efectivo.

2. La factura se generó a partir de uno o varios tickets.

a) Desde el módulo de Punto de Venta.

Este movimiento genera un registro de ventas con una salida al inventario y adicionalmente genera un cargo al módulo de cobranza si la venta se hizo a crédito. Usted puede también aplicar un abono en cobranza cuando su cliente le pague la factura.

Cuando usted cancela la factura, considere que sólo se cancelará el documento ‘Factura’. El ticket seguirá en cobranza con sus abonos respectivos. Si usted requiere cancelarlos, también deberá cancelar el ticket e ir a cobranza y cancelar los abonos realizados a esta venta.

En su flujo de caja y en su corte se verán reflejados los abonos que genere en efectivo.

b) Desde el Business Manager.

Si usted ya tiene un ticket que envió a cobranza y realiza la conversión a factura desde el Business Manager, tendrá el mismo efecto que la que se convierte desde el punto de venta considerando que al cancelar este ticket no se verá reflejado en el flujo de caja.

Fuente:

Información obtenida del boletín No. 92 de http://MyBusinessPOS.com

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