- Importa el Catalogo de Artículos.
- Coloca en Cero las Existencias.
- Exporta a Excel Dicho Catalogo.
- Reporte de Artículos por Comprar.
- Reporte de Artículos Excedentes.
Nota : Es Modificable a su Requerimiento.
Whats 7222816462. Mejoramos la experiencia en el Punto de Venta de tu NEGOCIO
Nota : Es Modificable a su Requerimiento.
Primeramente explicar que es un OCX o DLL, son librerías internas que usan los programas para poder funcionar correctamente, hay veces que por fallo de instalación o Desinstalando un Software que este ligado a esta librería .
Registrar un OCX o DLL en un sistema de 32 bits
Este es el método más extendido pero claro solamente funciona con sistemas operativos de 32 bits
1º- Tenemos que copiar el archivo de la librería en la ruta C:\WINDOWS\System32\
2º- Abrimos la consola de Windows (CMD) como administrador (botón derecho, ejecutar como administrador) y escribimos:
C:\WINDOWS\System32\
3º- Una vez copiado la librería en la Carpeta System32 podremos registrar la librería y seguimos el siguiente paso:
regsvr32 nombre de la Libreria.ocx
Y listo ya está la librería registrada en el sistema.
Registrar un OCX o DLL de 32 bits o 64 bits en un sistema de 64 bits
Es un poco diferente del modo de registrarlo en 32 bits, aunque sólo son las carpetas las que cambian (no válido para sistemas operativos de 32 bits)
1º- Tenemos que copiar el archivo de la librería en la ruta C:\WINDOWS\SysWOW64\
2º- Abrimos la consola de Windows (CMD) como administrador (botón derecho, ejecutar como administrador) y escribimos:
C:\WINDOWS\SysWOW64\
3º- Una vez copiado la librería en la Carpeta SysWOW64 podremos registrar la librería y seguimos el siguiente paso:
regsvr32 nombre de la Libreria.ocx
Y listo ya está la librería registrada en el sistema.
Nota:Las Librerias las puedes descargar de la Web.
Nestor Octavio Guzman Bernal
Desarrollador de Soluciones
Cel.: (722) 7 70 16 56
WhatsApp: (722) 7 70 16 56
Oro1
Este es un ejemlo de cómo exportar a un archivo de texto.
Sub Main()
Dim rstClientes
Dim s
Set rstClientes = CreaRecordSet( _
"SELECT * FROM clients", Ambiente.Connection )
s = ""
If ExisteArchivo( "c:\clientes.txt" ) = True Then
If Question( "Desea eliminar el archivo", 2 ) = True Then
EliminaArchivo "c:\clientes.txt"
End If
End If
While Not rstClientes.EOF
s = Chr(34) & rstClientes("cliente") & Chr(34) & _
Chr(9) & Chr(34) & rstClientes("nombre") & Chr(34) & _
Chr(9) & Chr(34) & rstClientes("telefono") & Chr(34) & vbCrLf
OutLine "c:\clientes.txt", s
rstClientes.MoveNext
Wend
If Question( "Desea abrir el archivo", 1 ) = True Then
ShellRun Parent.hWnd, "Open", "c:\clientes.txt"
End If
End Sub
Este script puede ser de utilidad si quisiéramos ver un texto con los clientes o cualquier otro layout que se requiera para otros sistemas.
He utilizado para servicoos como facturación cfdi y para tiempo aire.
La función ExisteArchivo es genial porque lo único que escribimos como parámetro es la ruta de nuestro archivo de texto.
Lo importante es probar todas las posibilidades que existen para tener la información disponible para hacer lo que las reglas del negocio requiere.
En esta publicación se considera que la importancia de conocer cada parte del código que forma el ticket, ya que es necesario para hacer modificaciones. Además, es necesario tener conocimientos básicos de programación. En caso de que no cuente con ello, no se preocupe, podemos ofrecerle una solución que no requiere programación: el Editor de ticket. Este editor tiene un costo de un pomo de 700 pesos.
Codigo de ticket explicado
'****************************************************************************************
'Visite http://helpmybusinesspos.info e inviteme un Pomo *
'2011_09_30 jose felix jofelchez@gmail.com. Invita un Pomo para poder subir más tips *
'vamos a configurar el ticket para que se imprima mas pequeño *
'Además se explica cada ina de las líneas de códogo. *
'****************************************************************************************
'los comentarios son de color verde. Los comentarios para esta explicación se encuentran en la parte derecha.
'para descomentar una linea, solo basta con quitar el apostrofo ql inicio de este.
Sub Main() 'iniciar el procedimiento. Main es el bloque principal del programa
Dim rstSeries 'declarar la variable rstSeries, la cual puede ser necesaria para el manejo de series (como en el caso del giro de telefonía)
Dim nDescuento 'declarar la variable nDescuento
'Ambiente.Torreta.PortOpen = False
'Ambiente.Torreta.Settings = "9600,N,8,1"
'Ambiente.Torreta.RTSEnable = True
'Ambiente.Torreta.PortOpen = True
'Ambiente.Torreta.CommPort = 1
'Ambiente.Torreta.OutPut = "ABC"
'Eventos
'Ambiente.Torreta.PortOpen = False
'cLineaNueva = Chr(13)
cLineaNueva = Chr(13) & Chr(10) ' definir cLineaNueva, es un salto de línea, el cual se usará mas adelante
'If MsgBox( "Desea imprimir el ticket", vbQuestion + vbYesNo + vbDefaultButton2 ) = vbNo Then
' Exit Sub
'End If 'en caso de que solo necesite imprimir algunos tickets, no todos, tendria que descomentar este bloquecito
' Creamos el recordSet del encabezado de la venta ' el recordset "Rst(consulta, Ambiente.Connection)" es la lista de datos que nos interesan (con condiciones) de una determinada tabla y se guardan en la variable "rstEncabezado". aqui va la Fecha, Observaciones generales, ID del Cliente, Importes Totales, Folio, Vendedor
Set rstEncabezado = Rst("SELECT * FROM ventas WHERE venta = " & prn.Documento, Ambiente.Connection ) '"prn.Documento" es el número de venta actual del Punto de Venta. ", Ambiente.Connection" es la conexion (a base de datos) en la que esta trabajando el sistema en este momento.
' Verificamos que la venta que se desea imprimir exista
if rstEncabezado.EOF Then 'en caso de que la consulta anterior no tenga datos se enviaría un mensaje de error
MsgBox "No existe la venta seleccionada",vbInformation
Exit Sub 'con "Exit Sub" terminamos el proceso y no se imprimirá nada. en este caso, se "mata" el proceso Sub Main(), porque estemos dentro de este.
end if 'Termina la condición den caso de que no arrojara datos el Rst()
' Creamos el recordSet de las partidas que componen la venta '' el recordset "Rst()" es la lista de datos que nos interesan (con condiciones) de una determinada tabla y se guardan en la variable "rstPartidas". Aqui van los articulos, precio, IVA, Descuentos,
'Set rstPartidas = Rst("SELECT partvta.prcantidad, partvta.iespecial, partvta.id_salida, partvta.kit, partvta.articulo, prods.precio1,prods.descrip, partvta.precio, partvta.cantidad, partvta.descuento, partvta.impuesto, partvta.preciobase, partvta.prdescrip, prods.serie FROM partvta INNER JOIN prods ON prods.articulo = partvta.articulo WHERE venta =" & rstEncabezado.fields("Venta"), Ambiente.Connection )
Set rstPartidas = Rst("SELECT partvta.prcantidad, partvta.iespecial, partvta.id_salida, partvta.kit, partvta.articulo, prods.precio1, partvta.observ, partvta.precio, partvta.cantidad, partvta.descuento, partvta.impuesto, partvta.preciobase, partvta.prdescrip, prods.serie FROM partvta INNER JOIN prods ON prods.articulo = partvta.articulo WHERE venta =" & rstEncabezado.fields("Venta"), Ambiente.Connection )
' Traemos todos los datos del cliente 'el recordset "Rst()" es la lista de datos que nos interesan (con condiciones) de una determinada tabla y se guardan en la variable "rstCliente". Aqui va el nombre del cliente, RFC, Direcciones, Descuentos, puntos acumulados
Set rstCliente = Rst("SELECT * FROM clients WHERE cliente = '" & rstEncabezado.fields("Cliente") & "'", Ambiente.Connection ) 'la condición de la consulta es que el cliente sea igual al del listado que se extrajo en la busqueda del encabezado del ticket "rstEncabezado.fields("Cliente")"
' Traemos los datos de cobranza si es que existe 'el recordset "Rst()" es la lista de datos que nos interesan (con condiciones) de una determinada tabla y se guardan en la variable "rstCobranza". Aqui van los articulos, precio, IVA, Descuentos,
Set rstCobranza = Rst( "SELECT * FROM cobranza WHERE venta = " & rstEncabezado("venta"), Ambiente.Connection )
cSalida = "" '"cSalida" es la variable que almacena todo el texto que se imprimirá. en este caso "cSalida" se prepara en blanco. es importane ver en las siguientes líneas cómo es que se va alimentando esta variable "cSalida"
'Esto abre el cajon de dinero
if Ambiente.rstEstacion("Cajon") <> 0 Then '"Ambiente.rstEstacion("Cajon")" es el valor de la ESTACION01, cuando se habilita (valor 1) el cajon de dinero en la pertaña de Impresora de Tickets, entonces entra en este bloque de código
cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(20) & Chr(20) '"Chr(27) & Chr(112) & Chr(48) & Chr(20) & Chr(20) & Chr(7)" es el código para abrir el cajon de dinero. este funciona solo con impresoras conectadas via LPT. en ocasiones varia este código dependiendo de la marca y modelo de impresora. Consulte el manual avanzado de su impresora para abrir el cajón.
cSalida = cSalida & Chr(7)
' Sansung de inyección
' cSalida = cSalida & Chr(27) & Chr(112) & Chr(48) & Chr(49)
end if
Set rstTextTicket = CreaRecordSet( "SELECT * FROM tickettext", Ambiente.Connection ) '"CreaRecordSet()" consulta si el usuario colocó algun mensaje en el encabezado y pie del ticket a traves de la utileria "editar texto del ticket" y lo almacena en "rstTextTicket"
If rstTextTicket.EOF Then 'en caso de que el usuario haya dejado vacio el encabezado y pie de ticket (rstTextTicket Nulo), entrar al bloque para colocar los datos de la Empresa que se colocan con la Configuración "Datos Generales de la Empresa"
cSalida = cSalida & "" & Ambiente.Empresa & cLineaNueva '"Ambiente.Empresa" es el nombre de la Empresa que se coloca con la Configuración "Datos Generales de la Empresa". "cLineaNueva" es un salto de linea en el ticket. en caso de que necesitara un salto mas solo basta agregar " & cLineaNueva" al final de esta liea
cSalida = cSalida & "" & Trim( Ambiente.Direccion1 ) & cLineaNueva ''"Trim( Ambiente.Direccion1 )" es la dirección que se encuentra en la primera linea, que se coloca con la Configuración "Datos Generales de la Empresa". la función "Trim()" elimina los espacios en blanco antes y al final de la dirección1
cSalida = cSalida & "" & Trim( Ambiente.Direccion2 ) & cLineaNueva ''"Trim( Ambiente.Direccion2 )" es la dirección que se encuentra en la segunda linea, que se coloca con la Configuración "Datos Generales de la Empresa". la función "Trim()" elimina los espacios en blanco antes y al final de la dirección2
cSalida = cSalida & "" & Trim( Ambiente.Telefonos ) & cLineaNueva ''"Trim( Ambiente.telefonos )" es el espacio para mostrar algun dato adicional que se coloca con la Configuración "Datos Generales de la Empresa". la función "Trim()" elimina los espacios en blanco antes y al final de la dirección1
Else
cSalida = cSalida & rstTextTicket("textheader") 'en caso de que el usuario haya colocado algun dato en el encabezado y pie de ticket, tomamos el Encabezado de este "rstTextTicket("textheader")" y lo agregamos a la variable "cSalida" con "cSalida = cSalida & "
End If
cSalida = cSalida & Trim( rstEncabezado("caja") ) & " " & Trim( rstEncabezado("Usuario") ) & " Ticket: " & rstEncabezado("No_referen") & cLineaNueva 'Agregamos los datos de la Caja "Trim( rstEncabezado("caja") )" , el usuario que atiende la Venta "Trim( rstEncabezado("Usuario") )" y el Folio del Ticket "rstEncabezado("No_referen")"
cSalida = cSalida & Formato( rstEncabezado("f_emision"),"dd-MM-yyyy" ) & " Hora: " & rstEncabezado("usuHora") & cLineaNueva 'Agregamos la fecha "Formato( rstEncabezado("f_emision"),"dd-MM-yyyy" )" y hora "rstEncabezado("usuHora")" de la Venta.
cDatos = "" & rstEncabezado("datos") '"rstEncabezado("datos")" es el nombre del cliente. en caso de que sea cliente general, aparecerá como "Cliente de Mostrador". el valor se agrega en la veriable "cDatos"
If clAt( ":", Trim(cDatos) ) = 1 Then 'condición especial. en caso de que en el nombre del cliente se encontraran unos puntos, haria un salto de linea y se almacena el valor en la variable "cSalida"
cSalida = cDatos & cLineaNueva
Else 'en caso contrario...
cSalida = cSalida & Trim( rstCliente("cliente") ) & " " & Trim( rstCliente("Nombre") ) & cLineaNueva '"Trim( rstCliente("cliente") )" es el ID del Cliente, "Trim( rstCliente("Nombre") )" es el Nombre del Cliente y se agrega a la variable "cSalida"
cSalida = cSalida & Trim( rstCliente("calle") ) & " " & Trim( rstCliente("colonia") ) & Chr(13) & Chr(10) '"Trim( rstCliente("calle") ) & " " & Trim( rstCliente("colonia") )" es la dirección del cliente. este valor se agrega a la variable "cSalida"
End If
'cSalida = cSalida & Ambiente.rstEstacion("leyendacomodin") & " " & rstEncabezado("comodin") & cLineaNueva 'Ambiente.rstEstacion("leyendacomodin") & " " & rstEncabezado("comodin") es por si deseamos un dato adicional a la venta, el cual se configura en la ESTACION01 como leyenda comodin
'cSalida = cSalida & "Vendedor: " & rstEncabezado("Vend") & cLineaNueva 'Clave del Vendedor "rstEncabezado("Vend")"
'cSalida = cSalida & Ambiente.Var9 & vbCrLf
'Ambiente.Var9 = ""
cSalida = cSalida & "CANT. DESCRIPCION IMPORTE" & cLineaNueva 'Cabecera de los articulos del ticket
nImporteTotal = 0 'Inicializamos las variables. "nImporteTotal" es el Importe Acumulado
nImpuesto = 0 '"nImpuesto" es el impuesto Acumulado
nCantidadTotal = 0 '"nCantidadTotal" es la cantidad total acumulada
nDescuentoTotal = 0 '"nDescuentoTotal" es El descuento Acumulado, en caso de que hubiese
nImporteOrigen = 0
'PrintText cSalida
While Not rstPartidas.EOF 'Mientras haya Partidas en la venta... Este ciclo se repite hasta que llega al final de la lista de artículos que incluye una Venta.
nPrecio = rstPartidas("Precio") * ( 1 - (rstPartidas("Descuento")/100) ) * (1 + ( rstPartidas("impuesto") / 100 ) ) 'Calcular el Precio Neto (quita descuentos al artículo y agrega impuesto) y se almacena en "nPrecio"
nPrecioBase = Round( rstPartidas("PrecioBase") * (1 + ( rstPartidas("impuesto") / 100 ) ), 2) 'considera el pecio Base (si hubiese) y lo guarda en "nPrecioBase"
nDescuento = (nPrecioBase - nPrecio) * rstPartidas("Cantidad") 'Aplica descuento al precio base, si hubiese y se guarda en "nDescuento"
If nPrecioBase > 0 Then 'en caso de que el precio base fuese mayor que 0, entra al bloque para aplicar un descuento al precio Base (este no es el Precio1, es diferente)
nDescPor = ( nPrecio / nPrecioBase ) * 100
Else
nDescPor = 0
End If
nDescuentoTotal = nDescuentoTotal + nDescuento '"nDescuentoTotal" va acumulando los descuentos
nImporte = nPrecio * rstPartidas("Cantidad") '"nImporte" es el importe del artículo (cantidad X Precio Unitario)
' nDescuento = Formato(rstPartidas("Descuento"))
'nCantidad = PadL(Formato( rstPartidas("cantidad") / rstPartidas("prCantidad"), "##,##0" ),3)
nCantidad = PadL(Formato( rstPartidas("cantidad") / rstPartidas("prCantidad"), "##,##0.00" ),3) '"nCantidad" es la canttdad dividida entre las unidades consideradas en la Presentación "rstPartidas("prCantidad")"
'cDescrip = PadL( Mid( rstPartidas("Descrip"), 1, 20 ), 20 ) '"cDescrip" es la descripción del artículo. en este caso, "PadL( Mid( rstPartidas("Descrip"), 1, 15 ), 15 )" quiere decir que va a considerar la descripción desde la linea 1 hasta la 20, ademas de que lo alineará a la derecha 20 letras.
cDescrip = PadL( Mid( rstPartidas("observ"), 1, 20 ), 20 ) '"cDescrip" es la descripción del artículo. en este caso, "PadL( Mid( rstPartidas("observ"), 1, 15 ), 15 )" quiere decir que va a considerar la descripción desde la linea 1 hasta la 20, ademas de que lo alineará a la derecha 20 letras.
nCantidadTotal = nCantidadTotal + ( rstPartidas("cantidad") / rstPartidas("prcantidad") ) '"nCantidadTotal" acumula la cantidad vendida entre las unidades de la presentación, si hubiese.
nImporteTotal = nImporteTotal + nImporte
nImpuesto = nImpuesto + ( nImporteTotal * ( rstPartidas("impuesto") / 100 ) )
nPrecio = 0 'este bloque es para manejar algun precio con Impuesto especial (como sucede en los cigarros o en las comunicaciones)
nIEspecial = rstPartidas("Precio") * (Val2(rstPartidas("iespecial")) / 100)
nIVa = rstPartidas("Precio") * (rstPartidas("impuesto") / 100)
nPrecio = rstPartidas("Precio") + nIEspecial + nIVa 'Suma el precio1, el Impuesto especial y el IVA. se guarda en "nPrecio"
Set rstArticulo = CreaRecordSet( "SELECT precio5 FROM prods WHERE articulo = '" & rstPartidas("articulo") & "'", Ambiente.Connection ) 'esto lo podemos omitir. es por si deseamos usar un precio especial
'cPrecio5 = PadL(Trim(Formato( rstArticulo("Precio5") + nIEspecial + nIVa, Ambiente.FDinero )),6)
cPrecio5 = PadL(Trim(Formato( nIVa, Ambiente.FDinero )),6) ' ESTE ES UN PRECIO ESPECIAL..POR SI SE LLEGASE A NECESITAR.
cPrecio = PadL(Trim(Formato( nPrecio, Ambiente.FDinero )),8) 'Este es el precio DEL ARTÍCULO que se IMPRIMIRÁ de cada Artículo. Se le da formato al Precio y se guarda en "cPrecio"
cImporte = PadL(Trim(Formato( Round( nPrecio, 2) * rstPartidas("cantidad") * (1 - (rstPartidas("descuento") / 100)), Ambiente.FDinero )),10) 'este es el Importe que se Imprimirá de cada Artículo, se almacena en "cImporte"
nPrecioOrigen = Round( rstPartidas("PrecioBase") * (1 + ( rstPartidas("impuesto") / 100 )),2) * rstPartidas("cantidad")
nImporteOrigen = nImporteOrigen + nPrecioOrigen
'strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & cDescrip & cLineaNueva & cPrecio & " " & cPrecio5 & " " & cImporte
'strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & cDescrip & cLineaNueva & cPrecio & " " & cImporte
'strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & cDescrip & cLineaNueva & " " & cImporte
strSalida = PadL(Formato( nCantidad, "##,##0.00" ),3) & " " & PadL( Mid( rstPartidas("observ"),1,16 ),16) & cImporte & cLineaNueva
'If rstPartidas("Precio1") > rstPartidas("Precio") Then
' nDescuentoPartida = ( rstPartidas("Precio1") - rstPartidas("Precio") ) * nCantidad
' strSalida = strSalida & " Descuento: " & Formato( nDescuentoPartida, "##,##0.00" ) & vbCrLf 'Si necesitamos que aparezca el descuento, descomentamos esta línea
'End If
'Si se necesita multiples lineas para la descripcion, colocaremos este bloque de codigo
if Len (rstPartidas("observ")) > 16 Then
strSalida = strSalida & " " & Mid( rstPartidas("observ"),17,16) & cLineaNueva
end if
if Len (rstPartidas("observ")) > 32 Then
strSalida = strSalida & " " & Mid( rstPartidas("observ"),33,16) & cLineaNueva
end if
cSalida = cSalida & strSalida & cLineaNueva
'If Not clEmpty( cNull( rstPartidas("prdescrip") ) ) Then
' cSalida = cSalida & Trim( rstPartidas("prdescrip") ) & vbCrLf
'End If
If rstPartidas("Kit") <> 0 Then
Set rstOpciones = CreaRecordSet( "SELECT partvtaopciones.articulo, prods.descrip FROM partvtaopciones INNER JOIN prods ON partvtaopciones.articulo = prods.articulo WHERE id_salida = " & rstPartidas("id_salida"), Ambiente.Connection )
While Not rstOpciones.EOF
cSalida = cSalida & "Opcion:" & rstOpciones("descrip") & Chr(13) & Chr(10)
rstOpciones.MoveNext
Wend
End If
If rstPartidas("serie") <> 0 Then
If rstEncabezado("ticket") <> 0 Then
Set rstSeries = CreaRecordSet( _
"SELECT * FROM series WHERE documento = 'TICKET' AND numeroDocumento = " & rstEncabezado( "no_referen" ) & " AND articulo = '" & rstPartidas("articulo") & "'", _
Ambiente.Connection )
Else
Set rstSeries = CreaRecordSet( _
"SELECT * FROM series WHERE documento = 'REMISION' AND numeroDocumento = " & rstEncabezado( "no_referen" ) & " AND articulo = '" & rstPartidas("articulo") & "'", _
Ambiente.Connection )
End If
While Not rstSeries.EOF
Serie = Trim( rstSeries("serie") )
Serie = PadL( Serie, 11 )
Serie = Mid( Serie, Len( Serie ) - 10 )
cSalida = cSalida & "SERIE: " & Serie & vbCrLf
rstSeries.MoveNext
Wend
End If
'Script.sendToPrinter Ambiente, (cSalida), prn.Pantalla
'cSalida = ""
'Dormir 100
rstPartidas.MoveNext
Wend
'PrintText cSalida
cSalida = cSalida & cLineaNueva
cSalida = cSalida & cLineaNueva
cSalida = cSalida & " Importe: " & PadL(Formato( Val2(rstEncabezado("importe")), Ambiente.FDinero ),9) & cLineaNueva
cSalida = cSalida & "Impuesto: " & PadL(Formato( Val2(rstEncabezado("impuesto")), Ambiente.FDinero ),9) & cLineaNueva
'if Val2(rstEncabezado("iespecial")) > 0 Then
' cSalida = cSalida & " Impuesto 2%: " & PadL(Formato( Val2(rstEncabezado("iespecial")), Ambiente.FDinero ),10) & cLineaNueva
'end if
if nDescuentoTotal > 0 Then
'cSalida = cSalida & " Importe: " & PadL(Formato( nImporteOrigen, Ambiente.FDinero ),10) & cLineaNueva
'cSalida = cSalida & " Descuento: " & PadL(Formato( nDescuentoTotal, Ambiente.FDinero ),10) & cLineaNueva
end if
cSalida = cSalida & " Total: " & PadL(Formato( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), Ambiente.FDinero ),9) & cLineaNueva
'cSalida = cSalida & "Redondeo: " & PadL(Formato( Val2(rstEncabezado("Redondeo")), "##0.00" ),9) & cLineaNueva ' si necesitamos mostrar redondeo, descomentamos esta linea
cSalida = cSalida & cLineaNueva
cSalida = cSalida & PadL(Formato( nCantidadTotal, "###,###.00" ),3) & "--TOTALES--" & PadL(Formato( (Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")) + Val2(rstEncabezado("redondeo"))), "$" & Ambiente.FDinero ),10) & cLineaNueva
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 ),10) & cLineaNueva
end if
if rstEncabezado("Pago2") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto2") & " " & PadL(Formato( Val2(rstEncabezado("Pago2")), "$" & Ambiente.FDinero ),10) & cLineaNueva
end if
if rstEncabezado("Pago3") > 0 Then
cSalida = cSalida & " Pago en " & rstEncabezado("Concepto3") & " " & PadL(Formato( Val2(rstEncabezado("Pago3")), "$" & Ambiente.FDinero ),10) & cLineaNueva
end if
Eventos
If rstEncabezado("Comision") > 0 Then
cSalida = cSalida & " Comisión: " & PadL(Formato( Val2(rstEncabezado("comision")), "$" & Ambiente.FDinero ),10) & cLineaNueva
End If
nComision = rstEncabezado("comision")
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) & cLineaNueva
else
cSalida = cSalida & " Cambio: " & PadL(Formato( nPagoTotal - nComision - Val2(rstEncabezado("impuesto")) - Val2(rstEncabezado("iespecial")) - Val2(rstEncabezado("importe")) - Val2(rstEncabezado("redondeo")), "$" & Ambiente.FDinero ),9) & cLineaNueva
end if
Set rstMoneda = CreaRecordSet( "SELECT * FROM monedas WHERE moneda = '" & Ucase(Trim(rstEncabezado("moneda"))) & "'", Ambiente.Connection )
cSalida = cSalida & cLineaNueva
cSalida = cSalida & cLineaNueva
cSalida = cSalida & Letra( Round( Val2(rstEncabezado("impuesto")) + Val2(rstEncabezado("importe")) + Val2(rstEncabezado("iespecial")), 2 ), Trim(rstMoneda("Descrip")), True,rstMoneda("Nombre") ) & cLineaNueva
If Not rstCliente.EOF Then
cSalida = cSalida & cLineaNueva
'cSalida = cSalida & cLineaNueva
If Val2( rstCliente( "saldo" ) ) > 0 Then
cSalida = cSalida & "Su saldo: " & Formato( rstCliente( "saldo" ), "$##,##0.00" ) & cLineaNueva
End If
End If
If rstTextTicket.EOF Then
'cSalida = cSalida & cLineaNueva
'cSalida = cSalida & cLineaNueva
cSalida = cSalida & cLineaNueva
cSalida = cSalida & "***** GRACIAS POR SU COMPRA *****" & cLineaNueva
cSalida = cSalida & cLineaNueva
cSalida = cSalida & cLineaNueva
cSalida = cSalida & cLineaNueva
cSalida = cSalida & "." & cLineaNueva
Else
cSalida = cSalida & rstTextTicket("textend")
End If
' Esto manda un corte de papel
if Ambiente.rstEstacion("ticketcorte") <> 0 Then
cSalida = cSalida & Chr(27) & Chr(105)
end if
'EstableceImpresora "EPSON TM-U220D Receipt"
msgbox " " & cSalida
'IniciaDocumento 'este bloque permite imprimir en una impresora USB (imprime en la impresora predeterminada de Windows). En caso de que desee imprimir con la que tiene configurada en ESTACION01, tendra que comentar estas 5 lineas del bloque.
'EstableceFuente "Courier New", 8 'Fuente que tendra el ticket USB
'Say 0,0.2, "" & cSalida 'Alineación del texto en el ticket, en pulgadas
'FinDocumento 'Termina el Ticket
'Exit Sub 'Termina el Procedimiento Main
' DATOS = ""
'
' Ambiente.Parent.OPOSPOSPrinter1.Open("POSPrinter")
' Ambiente.Parent.OPOSPOSPrinter1.ClaimDevice(1000)
' Ambiente.Parent.OPOSPOSPrinter1.DeviceEnabled = True
' rc = Ambiente.Parent.OPOSPOSPrinter1.SetBitmap(1, 2, "c:\lumen.bmp", 512, 0)
' DATOS = Chr(27) + "|1B"
' cSalida = DATOS & cSalida
' Ambiente.Parent.OPOSPOSPrinter1.PrintNormal 2, (cSalida)
' rc = Ambiente.Parent.OPOSPOSPrinter1.PrintBarCode(2, "7501086801046", 104, 70, 400, -2, -13)
' rc = Ambiente.Parent.OPOSPOSPrinter1.PrintNormal(2, Chr(10) + Chr(20) + Chr(10) + Chr(10) + Chr(10))
' rc = Ambiente.Parent.OPOSPOSPrinter1.CutPaper(100)
If Ambiente.Tag = "HTML" Then
Ambiente.Tag = ""
cSalida = Replace( cSalida, cLineaNueva, "
" )
cSalida = "
Else
Script.sendToPrinter Ambiente, (cSalida), prn.Pantalla 'enviamos a la impresorade tickets que esta definida en ESTACION01
'cSalida = cSalida & cLineaNueva & "COPIA PARA EL CLIENTE" 'En caso de que necesitemos un segundo ticket con la frase COPIA PARA EL CLIENTE , descomentamos esta linea
'Script.sendToPrinter Ambiente, (cSalida), prn.Pantalla 'En caso de que necesitemos un segundo ticket, descomentamos esta linea
Script.ImprimeFormato "VALESVENTA", prn.Documento, Ambiente, Me, False ' en caso de ser necesario, imprime el formato de Vale Venta
End If
End Sub
Te invitamos a descargar GRATIS nuestra revista.
Donde conocerás tips, proyectos y noticias
de interés general.
Podrás obtener atractivas promociones y descuentos.
http://gwtsva.telcel.com:8080/pih/
www.telcel.com/wifi registrarse
mybusiness conecxion windows 10
eltel r520 router telcel configuración
abrir cajón de dinero impresora genérica
helpmybusinesspos. info/descargas
Mybusiness pos 2017 sqlncli.msi no esta instalado
0 94 en línea: 76 ‘>button_click prodsexcel uso no válido de null: ‘replace’ —> 0 94 en línea: 76
como configuro mi modem r520 si no acepta mi correo
configurar impresora my business pos 2017
cupones didi food para usuarios viejos
exportar cuentas por cobrar my businees pos
generic text only acceso denegado
http //www.telcel.com/wifi registrarse
http://gwtsva.telcel.com:8080/pih
LISTA DE ARTICULOS DE TIENDA DE ABARROTES EN EXCEL CON CODIGO DE BARRAS
lista de productos de abarrotes en excel
mantenimiento my business pos 2011
mybusiness pos 2011 codigo duro
mybusiness pos 2017 crack descargar
se cargo el modulo pero no se encontro
“denegado el permiso CREATE DATABASE en la base de datos ‘master’. código duro: 58”
‘+CLABE DE PRODUCTO PARA CFDI GEL ANTIBACTERIAL
192.168.8.1/html/quicksetup.html
2147467259 La opción FOR ATTACH
abrir cajón portamonedas impresora usb
abrir cajon portamonedas sin imprimir
activador my business pos 2020
aformato etiquetas mybusiness pos
agregar imagen a ticket mybusiness
agregar imagen al ticket mybusiness
ahorrar papel en epson tmu 220
almacen de catalogo de productos de ferreteria en excel
android driver impresora termica
apertura de cajon en my business pos
api banxico como conectarme con er
aurrera tiene sistema de apartado
ayuda configurar impresora comanda corte
Buscar clave de producto SAT — sinube
BUSCAR DIRECCION CON Z AL FINAL
business manager configuración usuarios
business pos re imprimir corte z
0 13 en línea: 114 ‘>button_click prodsexcel no coinciden los tipos: ‘clat’ —> 0 13 en línea: 114
calibracion bascula torrey mfq 20
cambiar clave modem eltel r250
cambiar contraseña de modem R520
cambiar contraseña internet telcel eltel
cambiar contraseña modem eltel
cambiar contraseña modem telcel modelo r520
cambiar password en eltel r520
cambiar tamaño letra ticket tpv
cambiar tipo de letra en mybusiness
CATALOGO ARTICULOS EN EXCEL PARA IMPORTAR A MY BUSSINES
catálogo de abarrotes con precios
catalogo de claves sat no existe en el catalogo
catálogo de cuentas completo de abarrotes
catálogo de descripción para factura 3.3 01010101
catálogo de medidas del sat que no existe
catalogo de mercancias de tienda de abarrotes excel
catálogo de productos de abarrote excel
catálogo de productos de abarrotes en excel
catalogo de productos de ferreteria en excel
catálogo de productos ferreteria con codigo barras y precios
catálogo de productos sat en excel
catalogo excal abarrotes codigos
CATALOGOS DE MEDIDAS Y PESOS DE ABARROTES
catalogos para tiendas de abarrotes
classicges quiero cambiar el logo para que salga en los tikets de venta
clave de producto para tienda de abarrotes
clave de producto SAT de una tienda de abarrote
clave de producto sat vehiculo usado
clave de servicio sat 85121600
clave del sat para venta de carros usados
clave no existe en el catálogo
clave para tienda de abarrotes sat
clave para venta de autos usados
clave sat no existe en el catálogo
clave sat para venta de vehículos usados
clusulas para sistema de apartado
clves del sat para venta de vehiculos usados
codigo abrir cajon ec line mybussines
codigo de apertura de cajon appos80am
codigo de apertura de cajon impresora virtual
codigo de barras de productos de una tienda de abarrotes
CODIGO DE CODIGO DE TECLADO F1
codigo de corte de hoja impresora generica
codigo de secuencias cajon de dinero
código del sat para venta de vehículos
codigo establecer clave abarrotes.com
codigo ms dos para abrir caja registradora
codigo PARA frijol negro jamapa en PAGINA DE el sat
codigo sat para vehiculos usados
codigos abrir cajon samsung srp-270
codigos de barras de productos de abarrotes
codigos didi 2019 para usuarios viejos
codigos uber 2019 para usuarios viejos
comandera KROSS sale cortado el texto
comando corte de papel en impresora
comando para abrir caja registradora
comando para abrir cajon dinero
comando para abrir cajon dinero impresora
comando para impresion windows 10 generic text
COMANDO PARA IMPRESORA ABRIR CAJON
comandos corte de papel generic text only
comandos de las impresoras para el logo
comandos impresora abrir cajon
comandos impresora termica generica
comandos para corte de papel impresora termica
COMENTARIOS DE INTERNET EN CASA DE TELCEL
como abrir una caja ec line sin llave
como borrar cuentas del programa mybusiness pos sin que se refleje en el corte
como cancelar una compra en my business posw 2012
como chacer corte x en myu bisnes
como configura una impresora en mybusiness
COMO CONFIGURAR LA ZEBRA PARA QUE SE ADAPTE AL TAMAÑO DE LA ETIQUETA
como configurar tamaño de papel en mybusiness pos
como configurar tamaño de texto de impresora termica bematech
como crear un ticket en usicamm
como crear un usuario en punto de venta mybusinesas
como crear un usuario EN PUNTO DE VENTA MYBUSINESS
como hacer copia de my business
como hacer para que una impresora generic text only corte sola
como hacer un ticket de compra falso
como hacer un ticket de oxxo falso
como implementar un sistema de apartado
COMO INSTALAR EL SOFWARD DE IMPRESORA ZEBRA ZT 410
como modificar un ticket de avion viejo app
como poner mi logo en ticket mybudiness
COMO QUITAR LA OPCION DE RECALCULO DE INVENTARIO DE MANAGER BUSSINE
como redondear articulos en mybusiness pos
como reducir el tamaño de letras en impresora de 58mm para windows 10
como reeimprimir corte z en my bussynnes pos 2012
como reparar una caja de dinero para negocio
como restablecer mi contraseña en abarrotes punto de venta
conectar sql manager a my bussiness pos
configuracion cajon portamonedas en impresora ncr 7197
configuracion de sucursales mybusinesspos
configuracion en red de my bussines pos
configuracion en red de mybusiness17
configurar impressora generica text only
configurar my business pos red
configurar mybussiness pos concentrador
configurar tamaño de papel en generic text
contraseña del modem eltel r520
contrato apartado de mercancia
contrato de sistema de apartado
contratos de sistemas de apartados
control de lotes y fechas de caducidad
controlador com de tororrey L-eq 10/20
cortar trabajo miniprinter generica
CUANDO ES VALIDO USAR LA CLAVE 01010101?
cupones didi food usuarios viejos
cupones didi usuarios viejos 2020
descargar bascu;a torrey mfq20
descargar catalogo de productos gratis
descargar catalogo de tienda abarrote
descargar lista de productos ABARROTES
descargar my business pos 2010 full
descargar my business pos 2011
DESCARGAR MY BUSINESS POS 2011
descargar my bussines pos 2011
descargar simulador de la balanza
descargar software bascula mfq 20
DIGITALZACION DE DATOS EN IMPRESORA
DIREFENCIA ENTRE NUMERO DE LOTE Y FECHA CADUCIDAD
DOBLE TICKET DE 58MM EN MYBUSSINES
driver bascula torreo para windows 10
driver impresora generica 58 termica
driver impresora tickets solo texto windows 7 32
driver windows 10 bascula torrey mfq-40
drivers para bascula Rhino BAR-8RS
ec line 58110 código de apertura de cajón
el equipo de destino denegó expresamente la conexión tightvnc
eltel group incio de sesion lte r520
eltel r520 cuenta y contraseña
eltel r520 usuario y contraseña incorrectos
en que conceptos se utiliza la clave 01010101
epson configuracion de cajones de dinero
epson tmu 220 abrir caja de dinero
error -2147467259 mybussines 20
error 709 impresora compartida windows 10
error codigo 5 my business post 2017
errores mybusiness 2011 overflow 5
existe un error al hacer la conexion 2147467259 interface de red sql codigo 58
existencias mybusiness pos 2017
exportar base de datos mybusiness pos
falsificar ticket de deposito en oxxo
formato para ticket ferreteria
formato tickets mybussines 2011
fuente de factura de supermercado
generador ticket oxxo depósito
http //www.telcel.com/wifi registrarme
http://gwtsva.telcel.com:8080/pih/login
http://gwtsva.telcel.com:8080/pih/mailconfirm/
http://gwtsva.telcel.com:8080/pih/registrerGeolocation
https://helpmybusinesspos.info/cursos-gratis/
https://helpmybusinesspos.info/shop/my-account/?activation_key=b233f65f5ea26baa
https://helpmybusinesspos.info/tag/comandos-para-corte-de-papel-impresora-generica/
https://helpmybusinesspos.info/tag/internet-sin-linea-de-telefono/
https://helpmybusinesspos.info/tag/tipo-de-cambio-dolar-dof/
https://helpmybusinesspos.info/tag/www-telcel-com-wifi-registrarse/
HTTPS://MYBUSINESSPOS.COM/DESCARGAS
importar todos los precios mybussines 2017
imposible registrar dll/ocx :regsvr32 fallo com el codigo de salida 0x3
impotar formas a mybussines pos
impresora generica que controles enviarle para que abra el cajon del dinero
impresora no abre caja de dinero impresora 58 mm
impresora no abre caja de dinero impresora 58 mm cajon bematech
impresora por red abrir cajon de monedas
Impresora tickets cortar papel comando
impresora zebra zt410 no imprime
ingresas con nuevo usuario a my business
insert en conflicto con la restricción foreign key mybusiness
instalar bascula en mybusinnes pos
instalar driver windows 10 64bit bascula torrey mfq-40
internet gratis en movistar con apn
inventario abarrotes archivo csv
inventario de tienda de abarrotes con excel
inventario tienda de abarrotes excel
jabon para calzado CATALOGO SAT
kardex de manager bussiness pos
KARDEX DE MANAGER BUSSINESS POS
KERDEX MANAGER BUSINESS POS 2012
letra para tiket de farmacia del ahorro
licencia gratis punto de venta
lista de productos abarrotes con precio
lista de productos con codigo para descargar en excell
lista de productos de abarrote
lista de productos de abarrotes y categoria
LISTADOS DE ABARROTES EN EXCEL
listas productos de aborrtes para excel
logmein ventajas y desventajas
MANAGER BUSINESS POS 2012 MANUAL DEL KARDEX
manager bussines POS 2012 OPCION PARA PODER REALIZAR UNA FACTURA
manual de usuario mfq bascula torrey
marco teorico de la digitalizacion
mi impresora no abre la caja de dinero epson
mi impresora zebra zt410 no imprime
miniprinter ec line secuencias de escape
modem eltel r520 configurar contraseña
modificar formato de etiquetas mybusinesspos
modificar imagen ticket mybusiness
my business imprimir dos ticket
my business pos 2011 descargar gratis
my business pos 2012 migrar licencia
my business pos 2020 free download
my business pos error AMBIENTE.TICKET
my business v17 el password no coincide
my business v17 password incorrecto
my businnes pos 2017 activador
my bussines pos 2010 compatible con windows 10
mybusiness 2017 configuracion de tickets
mybusiness con sql server 2014
mybusiness pos 2011 error sql2005
mybusiness pos 2011 no arranca windows 10
mybusiness pos 2012 base de datos
mybusiness pos descargar version de prueba
mybusiness pos impresora de tickets no corta papel
mybusiness pos mejoras respaldos muy grandes
no conecta my business Pos 2012 código duro 5
no puedo imprimir en mi impresora zebra zt410
no puedo modificar el servicio 01010101
no se pudo completar la operacion (error 0x00000709) compruebe el nombre de la impresora
no se pudo completar la operación error 709
no se pudo completar la operación error 709 compruebe el nombre de la impresora
no se puede abrir la base de datos error inicio de sesion codigo duro 58
no utilizar clave de producto y servicios 01010101
NOMBRE DE CLAVE SAT CON CLAVE DE PRODUCTO 01010101
pdf de catalogo de productos de abarrotes
permiso dnegado en la base detos master
plantillas excel para abarrotes gratis
PLANTILLAS PARA TIENDA DE ABARROTES
poner mi logo en remision mybusiness
por que no estan activos los botones de nuevo carco nuevo abono en my bissnes pos
POR QUE NO HABRE MI CAJON DE DINERO
por que una tienda tiene sistema de apartado
postools mybusiness pos net wtc aspx
preferencias de impresion codigos cajon generic text
propiedades de impresora empezar trabajo de impresion
que es un apartado de mercancia en una tienda
que poner en un reporte cuando no encuentras a nadie
ques ele pone cuando no esta en el catalogo del sat
regvrs32 se cargo el modulo pero no se encontro el punto de entrada dllregisterserver
reiniciar numeracion de tickets my post business
reporte cobranza mybusiness pos
reportes por sucursales mybusinesspos
respaldar my business pos 2017
restaurar my business pos 2011 en otro equipo
sdonde manejan sistema de apartado
se cargo el modulo dll pero no se encontro el punto de entrada
se cargo el módulo dll pero no se encontro el punto de entrada
se cargo el modulo dll pero no se encontro el punto de entrada dllregisterserver
se cargo el módulo dll pero no se encontro el punto de entrada dllregisterserver
se detecto que no estan instalados los clientes de sql server
se detecto que no estan instalados los lcientes de sql server
se ha denegado el permiso create database
se ha denegado el permiso create database en la base de datos ‘master’. código duro: 58
Servicio 01010101 ya no es válida
sincronizar my bussines pos con servicios en la nube
sincronizar mybusiness pos pagina web
sistema de apartado definicion
sistema de apartado walmart 2019
sistema de ventas android studio
softrestaurant es necesario registrar su sistema para poder trabajar
soporte@abarrotespuntodeventa.com
sql server para my business pos 2012
SqlCli para MyBusiness POS 2017
sqlncli.msi my business pos 2010
sys.dm_db_index_physical_stats
tabla usada para importar catalogo de ARTICULOS a my bussines
tabla usada para importar catalogo de clientes a my bussines
telcel internet en casa registrarse
telcel-r520-32ef cambiar usuario y contrasena
ticket de oxxo depósito editable
tickets de oxxo de 1000 del 2020
tipo de cambio mxn usd banxico excel
tipo de letra impresora de tickets
TIPO DE LETRA PARA IMPRESION POS
torrey basculas digitales driver pcr series
un ticket de 200 pesos en deposito oxxo
usuario y contraseña de modem R520
usuario y contraseña telcel r520
usuario y psw default modem telcel eltel
valor de crema nutritiva ponds por 400g
walmart sistema de apartado como funciona 2020
windows no se pudo conectar a la impresora
www.gwtsva.telcel.com:8080/pih
www.telcel/wifi registro en linea
xls catálogo de productos ferreteria con codigo barras y precios