Ir para conteúdo
  • Cadastre-se

dev botao

Falha tratamento impressoras não fiscais


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 1714 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Bom dia!!!

Estamos efetuando testes nas impressoras não fiscais e não estamos conseguindo tratar os retornos de erros corretamente!

Como tratar os teste abaixo:

LEGENDAS TESTE IMPRESSORA
1 - Impressora Desligada|
2 - Tampa Aberta|
3 - Sem Papel

DR-800
1 - Mensagem de erro: ERRO: porta com2 nao encontrada.
2 - salva o cupom normalmente no sistema sem mostrar nenhuma mensagem(porém devia mostrar)e ao fechar a tampa é impresso o cupom normalmente.
3 - salva o cupom normalmente, Não exibe a mensagem de erro, mas a impressora apita, e ao colocar mais papel é impresso o restante do cupom.

ELGIN-I9
1 - Faz  a venda normal, e ao ligar a impresso é impresso o cupom e não da mensagem de erro.
2 - salva o cupom normalmente no sistema sem mostrar nenhuma mensagem(porém devia mostrar) e ao fechar a tampa é impresso o cupom normalmente.
3 - salva o cupom normalmente, Não exibe a mensagem de erro, mas a impressora apita e ao colocar mais papel é impresso o restante do cupom.

EPSON-TM-T20
1 - Salva o cupom normalmente no sistema, Não exibe mensagem de erro e ao ligar a impressora não é impresso o cupom.
2 - salva o cupom normalmente no sistema sem mostrar nenhuma mensagem(porém devia mostrar)
e ao fechar a tampa é impresso o cupom normalmente.
3 - salva o cupom normalmente, não exibe mensagem de erro e nem da erro na impressora e ao colocar mais papel
é impresso o cupom normalmente.

BEMATECH-MP-4200TH
1 -ERRO: PORTA COM5 NAO ENCONTRADA
2 - salva o cupom normalmente no sistema sem mostrar nenhuma mensagem(porém devia mostrar) e ao fechar a tampa é impresso o cupom normalmente.
3 - Salva o cupom normalmente, não exibe mensagem de erro, a luz na impressora acende amarela e ao colocar mais papel termina de imprimir o cupom.

LOG 
===========

DARUMA-DR700
|17/07/2019|10:05:03|>>>|SAT.ImprimirExtratoVenda("C:\OFFMON\SAT\vendas\08723218000186\201907\AD35190708723218000186599000092610065362177998.xml")|
|17/07/2019|10:05:04|<<<|ERRO: Communication error 9997: Timeout during operation;|

DARUMA-DR800
|16/07/2019|08:16:26|>>>|Sat.ImprimirExtratoVenda("C:\OFFMON\SAT\vendas\08723218000186\201907\AD35190708723218000186599000092610064304233068.xml")|
|16/07/2019|08:16:26|<<<|ERRO: Porta COM2 nao encontrada;|

BEMATECH MP-4200TH
|16/07/2019|09:25:36|>>>|Sat.ImprimirExtratoVenda("C:\OFFMON\SAT\vendas\08723218000186\201907\AD35190708723218000186599000092610064478818037.xml")|
|16/07/2019|09:25:37|<<<|ERRO: Porta COM5 nao encontrada;|

ELGIN-I9
|16/07/2019|08:39:28|>>>|Sat.ImprimirExtratoVenda("C:\OFFMON\SAT\vendas\08723218000186\201907\AD35190708723218000186599000092610064330407574.xml")|
|16/07/2019|08:39:29|<<<|ERRO: Porta COM2 nao encontrada;|

EPSON-TM-T20
|16/07/2019|09:05:33|>>>|Sat.ImprimirExtratoVenda("C:\OFFMON\SAT\vendas\08723218000186\201907\AD35190708723218000186599000092610064449621212.xml")|
|16/07/2019|09:05:34|<<<|OK: ;|

OBS: Existe um comando para tratar os erros de forma genérica os erros e de forma mais clara para o usuário final nas impressoras não fiscais?

Att.

 


 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Desculpe-me mas não consegui compreender exatamente, qual é o seu questionamento...

em via de regra, se o componente não consegue imprimir, um exception é disparado...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia:

 Os erros apresentados não são claros ao usuário final, quando dá os erros abaixo:

1 - Impressora Desligada|
2 - Tampa Aberta|
3 - Sem Papel

DARUMA-DR700
|17/07/2019|10:05:04|<<<|ERRO: Communication error 9997: Timeout during operation;|

DARUMA-DR800
|16/07/2019|08:16:26|<<<|ERRO: Porta COM2 nao encontrada;|

BEMATECH MP-4200TH
|16/07/2019|09:25:37|<<<|ERRO: Porta COM5 nao encontrada;|

ELGIN-I9
|16/07/2019|08:39:29|<<<|ERRO: Porta COM2 nao encontrada;|

EPSON-TM-T20
|16/07/2019|09:05:34|<<<|OK: ;|

obs: Tem como ser mais claro as mensagens ao usuário?

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

Os Erros são retornados pelo Sistema Operacional, ou pela DLL (quando usada)... não são do ACBr

Tudo o que o ACBr sabe... é que não houve sucesso na operação...

Como o componente poderia saber se a Tampa está aberta, se nem ao menos a comunicação com a Porta da impressora foi estabelecida ??

Se você estiver conectado na impressora,  você pode usar o método ACBrPosPrinter.LerStatusImpressora (veja exemplo no Demo PosPrinterTeste)

Do meu ponto de vista... a única mensagem que o usuário precisa saber, é: "Ocorreu um erro na impressão"...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Consultores
4 horas atrás, OFF-TI disse:

LEGENDAS TESTE IMPRESSORA
1 - Impressora Desligada|

4 horas atrás, OFF-TI disse:

DR-800
1 - Mensagem de erro: ERRO: porta com2 nao encontrada.

4 horas atrás, OFF-TI disse:

BEMATECH-MP-4200TH
1 -ERRO: PORTA COM5 NAO ENCONTRADA

Como o Daniel mencionou, essas mensagens de retorno são do sistema operacional.

Porque a porta com não é encontrada?

Isso acontece porque essas impressoras são USB e usam um driver virtual para portas COM. Assim, quando a impressora está desligada o driver USB não gera uma porta COM virtual. Para o computador é como se não existisse a porta COM.

 

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Obrigado pelos retornos, foram muito úteis!!!

Baixei o aplicativo PosPrinterTeste,exe 3.3.0

Executei vários testes com diversos modelos de impressoras não fiscais.

Segue abaixo as informações com os retornos de STATUS:


DR-700 
----------------------------------------------------------------------------------------------------------------------------------------------------------
[OPERACIONAL]
stPoucoPapel, stGavetaAberta

[TAMPA ABERTA]
stErro, stPoucoPapel, stSemPapel, stGavetaAberta, stOffLine, stTampaAberta, 

[SEM PAPEL]
stErro, stPoucoPapel, stSemPapel, stGavetaAberta, stOffLine, stTampaAberta, 

[DESLIGADA]
stErroLeitura, 

[OCUPADA]
stErroLeitura, stPoucoPapel, stSemPapel, stGavetaAberta, stImprimindo, 
 

DR-800
----------------------------------------------------------------------------------------------------------------------------------------------------------
[OPERACIONAL]
stGavetaAberta

[TAMPA ABERTA]
stErro, stPoucoPapel, stSemPapel, stGavetaAberta, stOffLine, stTampaAberta, 

[SEM PAPEL]
stErro, stPoucoPapel, stSemPapel, stGavetaAberta, stOffLine, stTampaAberta, 

[DESLIGADA]
stErroLeitura, 

[OCUPADA]
stGavetaAberta, stImprimindo, 
 

BEMATECH MP-42000-TH
----------------------------------------------------------------------------------------------------------------------------------------------------------
[OPERACIONAL]
Nennhum Erro encontrado

[TAMPA ABERTA]
stSemPapel, stOffLine, stTampaAberta, 

[SEM PAPEL]
stPoucoPapel, stSemPapel, stImprimindo, stOffLine, 

[DESLIGADA]
stErroLeitura, 

[OCUPADA]
stImprimindo, 
 

EPSON TM-T20
----------------------------------------------------------------------------------------------------------------------------------------------------------
[OPERACIONAL]
Nennhum Erro encontrado

[TAMPA ABERTA]
stOffLine, stTampaAberta, 

[SEM PAPEL]
stSemPapel, stOffLine, 

[DESLIGADA]
stErroLeitura, 

[OCUPADA]
Nennhum Erro encontrado
 

ELGIN I9
----------------------------------------------------------------------------------------------------------------------------------------------------------
[OPERACIONAL]
Nennhum Erro encontrado

[TAMPA ABERTA]
stOffLine, stTampaAberta, 

[SEM PAPEL]
stPoucoPapel, stSemPapel, stOffLine, 

[DESLIGADA]
stErroLeitura, 

[OCUPADA]
Nennhum Erro encontrado

----------------------------------------------------------------------------------------------------------------------------------------------------------

Como saber se a impressora ainda está em processo de impressão e aguardar até sua finalização?

Os drives  (DR-700, DR-800, BEMATECH MP-42000-TH,) contém estado: stImprimindo (OK)

Já drives (EPSON TM-T20, ELGIN I9) não tem a informação detalhada de impressora ocupada.

Assim não tem como eu saber o término de impressão e  momento certo para envio das próximas vias.

Exemplos:

[OPERACIONAL]
Nennhum Erro encontrado

[OCUPADA]
Nennhum Erro encontrado

Não tem como saber se está [OPERACIONAL] ou está [OCUPADA].

Att.

 

 

 

 

 

 

 

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Notei que as Darumas responderam com stGavetaAberta, em modo normal... há uma propriedade no componente, para tratamento de Flag de Gaveta, invertido...

1 hora atrás, OFF-TI disse:

Não tem como saber se está [OPERACIONAL] ou está [OCUPADA]. 

Essa sinalização pode depender do tamanho do Buffer da Impressora...  Ou do equipamento retornar ou não, um Flag para esse estado...
Como você forçou o Estado de Ocupada na Impressora ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Como você forçou o Estado de Ocupada na Impressora ?

Baixei o aplicativo PosPrinterTeste.exe 3.3.0

1) Preencher o Texto a Imprimir com 100 linhas exemplo: *** COMPROVANTE DE IMPRESSAO ***

2) Botão [Imprimir]  (várias vias)

3) Botão [Leitura de Status] (fico clicando e vendo os estados várias vezes)

Att.

 

 

Editado por OFF-TI
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Parece ser uma boa técnica... a impressora estava conectada a uma Serial Real ou USB Emulada ?

Pode ser que seja necessário uma Serial real (ou porta TCP), para que a mesma sinalize corretamente os estados de buffer

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Na prática... não se preocupe com o estado de ocupado... a não ser que você envie relatórios muito muito grandes...

Para evitar um buffer overflow, basta configurar no componente o tamanho de Buffer e o intervalo de espera a cada buffer

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Segue o exemplo utilizando ACBr MonitorPLUS Ver.1.2.0.69, DR700

1) Log sem erro (falha de comunicação com impressora não fiscal)

2) Log com timeout (falha a imprimir cupom fiscal mais de um via)

3) Log com ESCPOS.LerStatusImpressora (falha ao capturar falta de papel curto)

Segue os log acbr em anexo e a tela de configuração da impressora!

 

config_serial.JPG

1-NORMAL.TXT 2-TIMEOUT.TXT 3-STATUS.TXT

Editado por OFF-TI
complemento
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
14 horas atrás, OFF-TI disse:

Segue o exemplo utilizando ACBr MonitorPLUS Ver.1.2.0.69, DR700

1) Log sem erro (falha de comunicação com impressora não fiscal)

2) Log com timeout (falha a imprimir cupom fiscal mais de um via)

3) Log com ESCPOS.LerStatusImpressora (falha ao capturar falta de papel curto)

Segue os log acbr em anexo e a tela de configuração da impressora!

 

config_serial.JPG

1-NORMAL.TXT 86 kB · 1 download 2-TIMEOUT.TXT 82 kB · 1 download 3-STATUS.TXT 83 kB · 1 download

É uma afirmação!

1) log sucesso está normal sem erro.

2) log erro de impressão timeout

3) log erro com status falho

obs: Tela de configuração DR-700 (Envio de Envio=8192 , Espera Buffer=100)

ps: Talvez aumentados os valores acima deva corrigir o timeout!!!, mais como corrigir a falta de status da Elgin e Epson?

Att.

Por favor analisar os log´s ACBr MonitorPLUS Ver.1.2.0.69 com a impressora DR700!

Em sua sequência 1) normal, 2) erro timeout, 3) erro no meio da impressão sem papel.

Att.

Editado por OFF-TI
Complemento
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Se você aumentar o buffer aumenta a chance de Buffer Overflow... tente diminuir

Se a porta Serial Emulada não estiver disponível... você não conseguirá ler nenhum Status

Por favor seja mais objetivo, se deseja relatar um problema para análise... Foque apenas em um equipamento e em um Sintoma...

Crie um novo tópico para cada problema 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Eu entendo a complexidade do retorno de status na impressão quando envolve mais vias na impressão dos extratos sat.

São diversos modelos de impressoras não fiscais e fatores para tratar erros de timeout, falta de papel, falha de equipamento.

Estou fazendo mais testes para exemplificar e simplificar os problemas apresentados!

Grato pela ajuda!

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.