Visual Basic.NET - Impresoras Fiscal EPSON con VB.NET

 
Vista:

Impresoras Fiscal EPSON con VB.NET

Publicado por Dario Almonte Alonzo (5 intervenciones) el 20/01/2012 16:10:49
Buenos Dias

He adquirido una impresora fiscal EPSON TM-T88IV(078) MODEL: M129H para integrarla con nuestro sistema.

Estoy utilizando el EpsonFPHostControlX.ocx y le envio los comandos que estan el el manual y la impresora no realiza ninguna accion.

Para probar la printer utilizamos el FPTerminal y enviamos el comando "CORTAR PAPEL" y esto es lo que estaba en el log:

20/01/2012 9:46:26
Open COM1 38400,N,8,1
HOST --> 02 E2 07 1B 02 1C 00 00 03 30 31 32 37
FP --> ACK
FP --> 02 E2 00 01 1C C0 00 1C 00 00 1C 00 00 1C 03 30 32 31 38
HOST --> 06

Estamos utilizando Visual Basic .net y queremos hacer lo mismmo para probar la comunicacion y enviarle el mismo comando a la impresora, lo hacemos me la siguiente manera:


Dim OK As Boolean

'''Aca uso la misma configuraracion que utilizo con el FPTerminal para hacer pruebas
'''BaudRate=38400,Pueto=COM1 y ProtocOLO Extendido

FPHostControl1.BaudRate = EpsonFPHostControlX.TxBaudRate.br38400
FPHostControl1.CommPort = EpsonFPHostControlX.TxCommPort.Com1
FPHostControl1.ProtocolType = EpsonFPHostControlX.TxProtocolType.protocol_Extended

OK = FPHostControl1.OpenPort() 'Abro el pueto
OK = FPHostControl1.AddDataField(Chr(&H2)) 'Agrego STX 02
OK = FPHostControl1.AddDataField(Chr(&HE2)) 'Agrego E2 numero de secuencia
OK = FPHostControl1.AddDataField(Chr(&H7)) 'Agrego 07
OK = FPHostControl1.AddDataField(Chr(&H1B)) 'Agrego 1B
OK = FPHostControl1.AddDataField(Chr(&H2)) 'Agrego 02
OK = FPHostControl1.AddDataField(Chr(&H1C)) 'Agrego 1C (FLD - Separador)
OK = FPHostControl1.AddDataField(Chr(&H0)) 'Agrego 00
OK = FPHostControl1.AddDataField(Chr(&H0)) 'Agrego 00
OK = FPHostControl1.AddDataField(Chr(&H3)) 'Agrego ETX 03
OK = FPHostControl1.AddDataField(Chr(&H30)) 'Agrego 1er byte Checksum 30
OK = FPHostControl1.AddDataField(Chr(&H31)) 'Agrego 2do byte Checksum 31
OK = FPHostControl1.AddDataField(Chr(&H32)) 'Agrego 3er byte Checksum 32
OK = FPHostControl1.AddDataField(Chr(&H37)) 'Agrego 4to byte Checksum 37
OK = FPHostControl1.SendCommand() 'Envio Comando
OK = FPHostControl1.AddDataField(Chr(&H6)) 'Si se ejecuta corectamente envio un ACK
OK = FPHostControl1.SendCommand() 'Envio el ACK 06
OK = FPHostControl1.ClosePort() 'Cierro el puerto

La variable OK siempre retorna true lo que indica que no hay error en las instrucciones pero aun asi la impresora no realiza ninguna accion.

Espero que puedan ayudarme con este problema o decirme que estoy haciendo mal o facilitarme algun ejemplo que nos pueda servir de base.

Desde ya muchas gracias.
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

Impresoras Fiscal EPSON con VB.NET

Publicado por Dario Almonte Alonzo (5 intervenciones) el 03/02/2012 20:26:14
Ya he resuelto el problema

solo hay que indicarle al ocx que utilizara protocolo extendido al momento de abrir y configurar el puerto:

Me.FPHostControl1.CommPort = EpsonFPHostControlX.TxCommPort.Com1
Me.FPHostControl1.BaudRate = EpsonFPHostControlX.TxBaudRate.br9600
Me.FPHostControl1.ProtocolType = EpsonFPHostControlX.TxProtocolType.protocol_Extended

luego solo hay que mandar el comando y su extension:

dim comando as string = (Chr(&H2)+(Chr(&H7)
dim extension as string = (Chr(&H0)+(Chr(&H0)
OK = FPHostControl1.AddDataField(comando)
OK = FPHostControl1.AddDataField(extension)

OK = FPHostControl1.SendCommand()

y listo
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

Impresoras Fiscal EPSON con VB.NET

Publicado por Pablo (1 intervención) el 05/03/2012 00:54:59
Hola: estoy desarrollando mi aplicaciòn en .net con el controlador Epson TM-U220AFII, logro imprimir Ticket Fiscal (0A) y Ticket Factura , pero solo B, cuando quiero imprimir para un Responsable Incripcto, osea una A me da error es el siguiente:

Cod Retorno = 517
Estado Controlador = 1
Estado Fiscal = -16256

Verifique y le estoy pasando bien la situacion fiscal que para el caso es "I" Resp. Inscrip y CUIT validado de 11 digitos.

El error se produce cuando intecta pasar el item.

Por favor si alquien tiene un ejemplo de como hacer un Ticket Factua A, se los agradezco.
Saludos.
Pablo
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

Impresoras Fiscal EPSON con VB.NET

Publicado por Dario Almonte Alonzo (5 intervenciones) el 06/03/2012 13:39:05
ese código de retorno 517 significa que estas enviando vacío un campo que es obligatorio, revisa la documentacion de tu impresora y mira cuales campos son opcionales y cuales no.
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

Impresoras Fiscal EPSON con VB.NET

Publicado por Fabio (1 intervención) el 11/02/2014 14:37:30
Hola Pablo, decis que para ticket usas el comando (0A), que comando usas para Ticket Factura B ?
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

Impresoras Fiscal EPSON con VB.NET

Publicado por Rodrigo (1 intervención) el 27/03/2013 00:30:05
Habiendo leido tu mensaje quisiera pedirte si me puedes enviar la ultima version que tengas del FPTerminal de Epson, ya que me es muy necesario.
Disculpa la molestia y gracias de antemano.
[email protected]
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