Access - IMPRESION DE TICKET EN ACCES

 
Vista:
sin imagen de perfil
Val: 38
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

IMPRESION DE TICKET EN ACCES

Publicado por Celso (30 intervenciones) el 28/03/2020 14:30:32
Quisiera consultarle a los compañeros si en access es posible imprimir un ticket así como generalmente se hace en los supermercados que a medida que va leyendo los códigos de productos la impresora ya va imprimiendo el registro de cada uno de ello. O sea en vez de cargar primero todo los productos y al final de todo eso recién empezar con la impresión, hacer que por cada producto cargado ya vaya saliendo la impresión y que al final después del ultimo producto ya imprima directamente los totales de la venta y termine el proceso de esa venta. Por supuesto que todo esto es para ahorrar el tiempo del proceso, ya que es muy tedioso hacer la impresión completa del ticket recién al final del proceso de venta. No se si se entiende la pregunta? Desde ya muchas gracias por la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

IMPRESION DE TICKET EN ACCES

Publicado por Anonimo (3316 intervenciones) el 28/03/2020 16:46:15
Un error en la manipulación saldría reflejado en el impreso, si se cierra la transacion y después se imprime no ocurre eso (los errores se corrigen sobre la marcha).

Para imprimir 'línea a línea' al modo que hacían las impresoras matriciales, habría que configurar ese modo -el modo texto- (emulándolo en las térmicas) y tras ello imprimir mediante VBA en el modo texto, pues Windows desde sus inicios siempre ha utilizado el imprimir por pagina (no por línea).

SI se optimiza el informe (incluso en modo texto) la impresión no debería ser un problema (como el cola-cao ==> instantáneo) si hay retardos algo merece ser revisado y optimizado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

IMPRESION DE TICKET EN ACCES

Publicado por Celso (30 intervenciones) el 28/03/2020 16:59:51
Por supuesto que ya teniendo en cuenta esas consideraciones de errores que se podrían dar, es que formulé la pregunta, de hecho que ese tipo de consideración es tan obvia, lo que pasa es que uno tiene que satisfacer las necesidades pero por sobre todo lo que el cliente le pide o le exige, y ese es mi caso, que aunque el cliente está consciente de esa situación que se podría generar con ese mecanismo, igual me pide que el sistema imprima el ticket de esa manera, teniendo en cuanta que el sistema que estoy queriendo implementar (de hecho ya esta implementado pero en el modo de impresión completa una vez cerrada la operación de venta) es para un negocio de mini market y que debido al volumen de movimientos, muchas veces suelen generarse cola de clientes en la caja y por tal motivo para agilizar el procedimiento de facturación que necesitan que se implemente ese mecanismo a la hora de emitir los tickets.
En sintesis lo que estoy consultando o pidiendo si es que se puede, los códigos o pasos a seguir para establecer esa forma de impresión, o sea como hacer que imprima en modo texto e imprimir por linea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

IMPRESION DE TICKET EN ACCES

Publicado por Anonimo (3316 intervenciones) el 29/03/2020 06:42:52
Tu sabrás en el lio que te metes ….

Hay que conocer los códigos de formato de la impresora (doble ancho, negrita …. los que se pretenda utilizar)

Generado el registro, se envía el texto ya formateado por un canal especifico (al que esta conectada y asignada la impresora)

Al finalizar la transacción, se envían los cálculos por ese mismo método y canal, se vacía el buffer de la impresora y se le da el justificante al cliente

Una impresora clásica (sea térmica o matricial) de papel continuo, con unos informes bien planteados, no pierde el tiempo y en segundos finaliza la impresión …. incluso si se le indica en el informe a Access que es una impresora en modo texto, saca en un tris (ni da tiempo a hacer tras) el informe.

Y si el problema esta en que se utilizan gráficos o el modo grafico en una impresora matricial ….. se soluciona en el informe (menos bonito quizás: pero mas efectivo/rápido)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

IMPRESION DE TICKET EN ACCES

Publicado por Francisco (212 intervenciones) el 29/03/2020 19:31:14
Hola

Primero la impresora debe estar libre y no debe estar ocupada por Windows, Segundos con estas funciones que te paso a continuacion puedes manejar una tickera por puerto COM o LPT, debes colocar este codigo en un nuevo modulo en Access

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
'Abre el puerto de la impresora
'y devuelve su manejador
'******************************
Public Function OpenPrinter(ByVal sPrinterName As String) As Long
    Dim hPrinter As Long
On Error GoTo ErrorOpenPrinter
        Select Case sPrinterName
            Case "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9"
                Open sPrinterName For Output As #hPrinter
            Case "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"
                Open sPrinterName For Output As #hPrinter
            Case Else
                hPrinter = -1
        End Select
ExitOpenPrinter:
    OpenPrinter = hPrinter
    Exit Function
ErrorOpenPrinter:
    hPrinter = -1
    Resume ExitOpenPrinter
End Function
 
'Cierra el puerto de la impresora
'********************************
Public Sub ClosePrinter(ByVal hPrinter as Long) As Boolean
    'Solo para un manejador valido
    '*****************************
    If hPrinter <> -1 Then
        Close #hPrinter
    End If
End Sub
 
'Enviar a Impresora
'******************
Public Sub SendPrinter(ByVal hPrinter as Long, ByVal sBuffer As String) As Boolean
    'Solo para un manejador valido
    '*****************************
    If hPrinter <> -1 Then
        Print #hPrinter, sBuffer
    End If
End Sub

Lo usaria de la siguiente manera

1
2
3
4
5
6
7
8
9
10
11
Dim hPrinter As Long
 
hPrinter = OpenPrinter("LPT1")
 
If hPrinter = -1 Then End  'Error no se pudo abrir el puerto
 
SendPrinter "Hola Mundo"
SendPrinter " "
SendPrinter "Fin de Impresion"
 
ClosePrinter hPrinter

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

IMPRESION DE TICKET EN ACCES

Publicado por Celso (30 intervenciones) el 30/03/2020 22:26:53
Muchísimas gracias por la repuesta y la ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar