Publicado el 2 comentarios

Cambiar datos de la empresa directo en el ticket

Con conocimientos básicos de programación podemos colocar el texto que necesitemos en el encabezado del ticket, todo directo desde la edición del código de Ticket.

2 comentarios en “Cambiar datos de la empresa directo en el ticket

  1. hola buenas tardes necesito de su ayuda ya que quiero que mis datos aparescan en mi ticket porfa espero y me ayuden esto es lo que me aparece en el formato de ticket:

    Sub Main()
    Dim rstSeries
    Dim 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)

    ‘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.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 )

    ‘ 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

    Set rstTextTicket = CreaRecordSet( “SELECT * FROM tickettext”, Ambiente.Connection )

    If rstTextTicket.EOF Then
    cSalida = cSalida & “” & Ambiente.Empresa & cLineaNueva
    cSalida = cSalida & “” & Trim( Ambiente.Direccion1 ) & cLineaNueva
    cSalida = cSalida & “” & Trim( Ambiente.Direccion2 ) & cLineaNueva
    cSalida = cSalida & “” & Trim( Ambiente.Telefonos ) & cLineaNueva
    Else
    ‘cSalida = cSalida & Replace(rstTextTicket(“textheader”), Chr(10), “” )
    cSalida = cSalida & rstTextTicket(“textheader”)
    End If

    ‘cSalida = cSalida & “” & Trim( rstEncabezado(“Usuario”) ) & ” ” & Trim( Ambiente.Estacion ) & ” Ticket: ” & rstEncabezado(“No_referen”) & cLineaNueva
    cSalida = cSalida & Trim( rstEncabezado(“caja”) ) & ” ” & Trim( rstEncabezado(“Usuario”) ) & ” Ticket: ” & rstEncabezado(“No_referen”) & cLineaNueva

    cSalida = cSalida & Formato( rstEncabezado(“f_emision”),”dd-MM-yyyy” ) & ” Hora: ” & rstEncabezado(“usuHora”) & cLineaNueva

    cDatos = “” & rstEncabezado(“datos”)

    If clAt( “:”, Trim(cDatos) ) = 1 Then
    cSalida = cDatos & cLineaNueva
    Else
    cSalida = cSalida & Trim( rstCliente(“cliente”) ) & ” ” & Trim( rstCliente(“Nombre”) ) & cLineaNueva
    cSalida = cSalida & Trim( rstCliente(“calle”) ) & ” ” & Trim( rstCliente(“colonia”) ) & Chr(13) & Chr(10)
    End If

    cSalida = cSalida & Ambiente.rstEstacion(“leyendacomodin”) & ” ” & rstEncabezado(“comodin”) & cLineaNueva
    ‘cSalida = cSalida & “Vendedor: ” & rstEncabezado(“Vend”) & cLineaNueva

    ‘cSalida = cSalida & Ambiente.Var9 & vbCrLf
    ‘Ambiente.Var9 = “”

    cSalida = cSalida & “CANT. DESCRIPCION P.UNIT. TOTAL” & cLineaNueva

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

    ‘PrintText cSalida

    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”)
    ‘ nDescuento = Formato(rstPartidas(“Descuento”))
    nCantidad = PadL(Formato( rstPartidas(“cantidad”) / rstPartidas(“prCantidad”), “##,##0” ),3)

    cDescrip = PadL( Mid( rstPartidas(“Descrip”), 1, 15 ), 15 )
    nCantidadTotal = nCantidadTotal + ( rstPartidas(“cantidad”) / rstPartidas(“prcantidad”) )

    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

    Set rstArticulo = CreaRecordSet( “SELECT precio5 FROM prods WHERE articulo = ‘” & rstPartidas(“articulo”) & “‘”, Ambiente.Connection )

    cPrecio5 = PadL(Trim(Formato( rstArticulo(“Precio5”) + nIEspecial + nIVa, Ambiente.FDinero )),6)
    cPrecio = PadL(Trim(Formato( nPrecio, Ambiente.FDinero )),6)
    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, “##,##0.00″ ),3) & ” ” & 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 & 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 ),10) & cLineaNueva
    cSalida = cSalida & ” Impuesto: ” & PadL(Formato( Val2(rstEncabezado(“impuesto”)), Ambiente.FDinero ),10) & 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 & ” Importe: ” & PadL(Formato( Val2(rstEncabezado(“impuesto”)) + Val2(rstEncabezado(“importe”)) + Val2(rstEncabezado(“iespecial”)), Ambiente.FDinero ),10) & cLineaNueva
    cSalida = cSalida & ” Redondeo: ” & PadL(Formato( Val2(rstEncabezado(“Redondeo”)), “##,##0.000” ),10) & cLineaNueva
    cSalida = cSalida & cLineaNueva
    cSalida = cSalida & PadL(Formato( nCantidadTotal, “###,##0.00″ ),3) & ” —- TOTALES — ” & PadL(Formato( (Val2(rstEncabezado(“impuesto”)) + Val2(rstEncabezado(“importe”)) + Val2(rstEncabezado(“iespecial”)) + Val2(rstEncabezado(“redondeo”))), “$” & Ambiente.FDinero ),8) & 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 ),8) & cLineaNueva
    end if

    if rstEncabezado(“Pago2″) > 0 Then
    cSalida = cSalida & ” Pago en ” & rstEncabezado(“Concepto2″) & ” ” & PadL(Formato( Val2(rstEncabezado(“Pago2”)), “$” & Ambiente.FDinero ),8) & cLineaNueva
    end if

    if rstEncabezado(“Pago3″) > 0 Then
    cSalida = cSalida & ” Pago en ” & rstEncabezado(“Concepto3″) & ” ” & PadL(Formato( Val2(rstEncabezado(“Pago3”)), “$” & Ambiente.FDinero ),8) & 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 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
    cSalida = cSalida & 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”
    ‘IniciaDocumento
    ‘Say 0,0, cSalida
    ‘FinDocumento
    ‘Exit Sub

    ‘ 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 = “” & cSalida & “
    CreaHtml “”, (cSalida)

    Else
    Script.sendToPrinter Ambiente, (cSalida), prn.Pantalla
    Script.ImprimeFormato “VALESVENTA”, prn.Documento, Ambiente, Me, False

    End If

    End Sub

  2. Disculpa… Me podrias decir como creo un acceso directo del punto de venta, en mybusspos! Por favor!

Deja un comentario