Ir para conteúdo
  • Cadastre-se

dev botao

Erro de impressão de vias adicionais cupom sat


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

Recommended Posts

  • Membros Pro
Postado

Precisamos emitir vias adicionais no cupom a prazo.

Ao utilizar a impressora não fiscal DR-700, quando contém muitos produtos está ocorrendo na primeira via um retardo da impressão do extrato sat, ocasionando falha de comunicação:  "ERRO: Communication error 9997: Timeout during operation " ou seja impressora ocupada!!!

Motivo: Antes do término da impressão na primeira via o monitor ACBrMonitorPlus retorna status "OK:" 

Assim quando envio as demais vias, ocasiona vários erros de status: "ERRO: Communication error 9997: Timeout during operation "

Não consigo pegar o retorno correto de várias modelos de impressora não fiscais, conforme o comando ESCPOS.LerStatusImpressora, conforme foi passado pelo suporte, visto os clientes utilizarem USB (serial virtual).

O status "Timeout during operation" significa que a impressora está ocupada. Como eu posso tratar um erro REAL e alertar o usuário e o TI de suporte para devida correção, se eu ignorar os estados (porta inválida, desligada, sem papel, tampa aberta, etc...) vindo da impressora no meio da impressão?

Então não tenho como saber o tempo de impressão da primeira via e nem o tempo de impressão das demais vias.

A solução encontrada até o momento foi colocar um mensagem para o usuário aguardar a finalização da impressão e após a confirmação do usuário (OK) enviar o comando para impressão a cada via adicional.

Pedir para o usuário aguardar a impressão do cupom em todas as vias adicionais e o usuário ficar confirmando visualmente (OK),   aguardando o término da impressão vai gerar muita reclamação, então teria uma outra solução?

 

 

 

 

 

 

 

 

 

 

  • Moderadores
Postado

Boa tarde

Se possível anexe o log.txt do ACBrMonitor. Para verificação da sequencia de comandos que está utilizando... 

Se está utilizando o componente SAT pode utilizar o método de impressão (SAT.ImprimirExtratoVenda...), pode definir nas configurações de impressão para Utilizar ESCPOS e já definir a qtd de Vias de Impressão, não precisa enviar uma por vez...

  • Curtir 1
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membros Pro
Postado

Boa tarde,

Segue o log, conforme solicitado.

Ambiente:

ACBrMonitorPlus 1.2.0.72

Windows 10 (32 bits)

DR700 -ATIVAR - 26/07/19 17:12:26:563
  - Modelo.: EscDaruma
  - TimeOut: 3
  - Serial.: COM2 - BAUD=115200 DATA=8 PARITY=N STOP=1 HANDSHAKE=XON/XOFF SOFTFLOW MAXBANDWIDTH=0 SENDBYTESCOUNT=8192 SENDBYTESINTERVAL=100

Todas as atualizações efetudadas (sistema operacional, firmware DR700 e ultimo drive da impressora no site darumadesenvolvedores.com.br)

Teste efetuado:

Emissão de venda a prazo com impressão de 02 vias extrato sat com 100 itens.

Retorno LOG (status)

26/07/2019 17:12:26 - SAT.ImprimirExtratoVenda("C:\OFFMON\SAT\vendas\08723218000186\201907\AD35190708723218000186599000092610069327704181.xml")
26/07/2019 17:12:30 - OK: 
26/07/2019 17:12:30 - SAT.ImprimirExtratoVenda("C:\OFFMON\SAT\vendas\08723218000186\201907\AD35190708723218000186599000092610069327704181.xml")
26/07/2019 17:12:31 - ERRO: Communication error 9997: Timeout during operation

obs: segue em anexo os logs.

Att;

 

 

 

 

 

LOG.TXT PosPrinter.txt

  • Fundadores
  • Solution
Postado

Parece que essa impressora ou Driver não suporta o envio de muita informação... Experimente baixar o buffer de envio para 1k e aumentar o intervalo de espera...

SENDBYTESCOUNT=1024
SENDBYTESINTERVAL=200

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.

  • Membros Pro
Postado
Em 29/07/2019 at 09:07, Daniel Simoes disse:

Parece que essa impressora ou Driver não suporta o envio de muita informação... Experimente baixar o buffer de envio para 1k e aumentar o intervalo de espera...

SENDBYTESCOUNT=1024
SENDBYTESINTERVAL=200

Realmente o controle de tudo está em controlar a Porta Serial (virtual) no envio de dados, nos diversos modelos de impressoras não fiscais.

Assim posso controlar na saída da impressão o timeout entre vias e ter controle dos status de imprimindo e erros na impressora.

Agradecimentos a Equipe ACBr.

  • Curtir 2
  • Este tópico foi criado há 1946 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.