Ir para conteúdo
  • Cadastre-se

dev botao

Impressão ESC/POS trava ao ativar o componente impressão TEF


  • Este tópico foi criado há 2220 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

A rotina abaixo configura o componente ACBRPOSPRINTER e uma vez ativado segue o processo de impressão linha a linha do cupom TEF (máximo 10 linhas)....
 If dm.ACBrPosPrinter1.Ativo then
    dm.ACBrPosPrinter1.Desativar;


  if dm.SQLTerminalAtivoTERMA100IMPRESSORANFCEMODELO.AsString = 'EPSON' then modeloimpressora := ppEscPosEpson
  else
  if dm.SQLTerminalAtivoTERMA100IMPRESSORANFCEMODELO.AsString = 'BEMATECH' then modeloimpressora := ppEscBematech
  else
  if dm.SQLTerminalAtivoTERMA100IMPRESSORANFCEMODELO.AsString = 'DARUMA' then modeloimpressora := ppEscDaruma
  else
  if dm.SQLTerminalAtivoTERMA100IMPRESSORANFCEMODELO.AsString = 'ELGIN' then modeloimpressora := ppEscElgin;

  // TODO Alex barbosa colocado para teste pois algumas daruma estavam se perdendo e nao imprimia todo o doc forum ACBr deu essa dica
  dm.ACBrPosPrinter1.Device.SendBytesInterval := 100;


  dm.ACBrPosPrinter1.Modelo        := modeloImpressora;
  dm.ACBrPosPrinter1.Device.Porta  := dm.SQLTerminalAtivoTERMA10IMPRESSORANFCEPORTA.AsString;
  dm.ACBrPosPrinter1.Device.Baud   := dm.SQLTerminalAtivoTERMA5IMPRESSORANFCEVELOCIDADE.AsInteger;
  dm.ACBrPosPrinter1.IgnorarTags   := False;
  dm.ACBrPosPrinter1.ControlePorta := True; // True faz com que o componente abra e feche a porta conforme a necessidade automaticamente

  dm.ACBrPosPrinter1.ColunasFonteNormal := (dm.SQLTerminalAtivoTERMIIMPRESSORANFCECOLUNAS.AsInteger);
  dm.ACBrPosPrinter1.LinhasEntreCupons   := (dm.SQLTerminalAtivoTERMIIMPRESSORANFCEPULOLINHAS.AsInteger);
  dm.ACBrPosPrinter1.CortaPapel := (dm.SQLTerminalAtivoTERMA1IMPRESSORANFCECORTAPAPEL.AsString = 'S');

  try
  dm.ACBrPosPrinter1.Ativar;
  except
    ShowMessage('Impressora Desligada\Desconectada. Reimprimir o cupom TEF através das Funções Administrativas!');
  end;

Ocorre algumas vezes nem sempre  que ao chegar no comando ativar, o sistema trava sem gerar exception, mesmo que estejamos tratando por um TRY EXCEPT, 

 

Há algum erro na rotina ou precisamos incluir algum comando ? 

 

temos a rotina do NFCE separado do EXE do checkout que tbm usa o ACBRPOS para imprimir a NFCE, que funcionou corretamente antes de travar o cupom TEF, não sei se faltou aqui algum comando de abrir fechar porta  ou algum outro comando 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Desculpe... não consegui compreender o problema...

Por favor tente reproduzir o problema, usando o Demo "PosPrinterTeste"... e poste um passo a passo...

Outra opção para investigarmos, é você criar pequeno Projeto de exemplo, onde o problema ocorra...

 

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

18 horas atrás, Daniel Simoes disse:

Desculpe... não consegui compreender o problema...

Por favor tente reproduzir o problema, usando o Demo "PosPrinterTeste"... e poste um passo a passo...

Outra opção para investigarmos, é você criar pequeno Projeto de exemplo, onde o problema ocorra...

 

ook, ja "resolvi"   

Descobri que sem o Try se só chamasse o    dm.ACBrPosPrinter1.Ativar;  dava o erro da imagem abaixo

image.thumb.png.f4f709df71f621e015de05348e05be3c.png

 

então deixei o try e só comentei o show conforme abaixo e foi!!

except
  //  ShowMessage('Impressora Desligada\Desconectada. Reimprimir o cupom TEF através das Funções Administrativas!');
  end;

 

Uma duvida o dm.ACBrPosPrinter1.ControlePorta := True;  ele ativa apenas na impressão ou nos comandos também?

Desconfio como ativo ele acima e depois dou dm.ACBrPosPrinter1.Ativar;  pode estar duplicando o comando? Se não é algo de ativar do acbr mesmo.

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Perguntei porque no outro tópico o problema está melhor documentado.. e existe um passo a passo com o Demo... ainda pretendo investigar melhor o 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

2 minutos atrás, Daniel Simoes disse:

Perguntei porque no outro tópico o problema está melhor documentado.. e existe um passo a passo com o Demo... ainda pretendo investigar melhor o problema...

Gostaria , mas o tempo não permite, acredito se problema de porta mesmo, detalhe esse mercado são 7 caixas, 2 elgins , 2 epson e 3 daruma e da exatamente nas daruma, sempre fui fã daruma mas nestes ultimos anos estou ficando com um pé atraz

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.