Ir para conteúdo
  • Cadastre-se

dev botao

Erro FechaCupom ECF Epson TM-T900F


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

Recommended Posts

Postado

Bom dia Pessoal,

   Ao enviar o fechamento do cupom em uma ECF Epson TM-T900F, comunicando pelo modelo EscEcf, em algumas situações esta retornando o seguinte erro:

----------------- ERRO -----------------
Erro retornado pela Impressora: EPSON

Categoria: 2-Erro em parâmetro do comando
Motivo: 1-Conteúdo de parâmetro inválido no comando.
----------------------------------------

   Procurando o que poderia estar acontecendo vi que é algo relacionado com a observação que é passada como parâmetro e que houveram modificações para tratar esse campo nas ultimas atualizações do ACBr. Na unit ACBrECF na procedure TACBrECF.FechaCupom(Observacao: AnsiString; IndiceBMP : Integer); foi incluído um novo teste

 

  { Todos ECFs suportam no máximo 8 Linhas no Rodapé. Ajusta se necessário, para evitar erro na Impressão, no caso de mais linhas serem enviadas }

  if NumMaxLinhasRodape > 0 then
    Observacao := AjustaLinhas(Observacao, Colunas, NumMaxLinhasRodape);

   Na unit ACBrECFEscECF na procedure TACBrECFEscECF.FechaCupom(Observacao: AnsiString; IndiceBMP: Integer); também foi incluído a linha

 AjustaComandosControleImpressao(Observacao);

se eu comentar as duas novas implementações o erro não ocorre. Gostaria de ver se mais alguém teve problema semelhante ou se alguém sabe como reverter sem ter que modificar o fonte do ACBr, talvez tenha algum bug ou tenho que tratar diferente a observação passada no parâmetro?

em anexo log do trecho onde é enviado o fecha cupom de um caso onde deu o erro e outro com as linhas comentadas e não retornando erro.

 

LogACBr.txt

Postado

Encontrei o seguinte tópico de um colega com o mesmo erro:

Foi com esse post que foi criado a alteração no ACBrECF modificado para ajustar as Linhas do Cupom, limitando-as em 8 linhas, se necessário. Isso evita erros em alguns ECFs.

 

Fiz novos testes agora comentando primeiro as linhas

if NumMaxLinhasRodape > 0 then
    Observacao := AjustaLinhas(Observacao, Colunas, NumMaxLinhasRodape);

e deixando

AjustaComandosControleImpressao(Observacao);

normal, e também fazendo inverso descomentado o primeiro e comentado o segundo e nas duas situações o fechamento do cupom passou, o unico problema esta quando é deixado as duas rotinas juntas.

 

Postado (editado)
1 hora atrás, Daniel Simoes disse:

Por favor seja mais objetivo, no relato do problema em si...

Qual é o passo a passo, para reproduzir o problema no ECFTeste ??

Boa tarde Daniel,

   Até agora o modelo que identifiquei esse problema é na Epson TM-T900F. Consegui simular o erro na ECFTeste. Abra um cupom e faça uma venda normal até o fechamento do cupom. Na observação coloque o seguinte texto 'Trib aprox R$: 0,10 Fed, 0,11 Est e 0,00 Mun; Fonte:IBPT ca7gi3|Cliente:6434-7 RODRIGO JOSE OOOOOOO|CPF:000.000.000-00 IE:000.000.000|Endereco:LINHA TECHIO, SN|Limite: 767,61 - 0,00 = 767,61|Operador: 0' e o mesmo erro que descrevi acima vai ocorrer.

Editado por douglas_k
  • Fundadores
Postado

O problema não ocorre, se você usar a porta como "USB" no ACBrECF... Isso dependerá da DLL da Epson, pois nesse caso, o ACBr usa a DLL como canal para chegar ao ECF...

Estou analisando 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.

  • Fundadores
  • Solution
Postado

Acho que descobri o problema...

O ACBrECF ajustava todos os LF para CR+LF... e a Epson não gostava disso... o curioso é que o erro somente ocorria em algumas ocasiões...

Apliquei uma possível correção no SVN...

  • Curtir 1
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.

Postado

Aproveitando este tópico!

Tive o mesmo problema do colega Douglas! Fiz a atualização do ACBR conforme o Daniel orientou, e atualizei no cliente, e mesmo assim o erro persiste! Segue um trecho do log do ACBR

-- 24/06 13:29:20:740 -- Ativando a porta: COM2
-- 24/06 13:29:20:748 FechaCupom( MD-5:3B30B7D03DC55D95441F4849E678AA60[LF]Trib aprox R$:0,12 Federal e 0,26 Estadual[LF]Fonte:IBPT (ca7gi3)[LF]Cliente.: BR AUTOMACAO LTDA ME[LF]Cnpj/Cpf: 09.632.532/0001-16[LF]IE/Rg: 283480084[LF]Endere[231]o: NELSON DE ARAUJO[LF]Op.:001-SANDRA[LF]VOLTE SEMPRE!!! )
-- 24/06 13:29:20:749                 TX -> [SOH]$[ENQ][NUL][240][NUL]0|1|MD-5:3B30B7D03DC55D95441F4849E678AA60[LF]Trib aprox R$:0,12 Federal e 0,26 Estadual[LF]Fonte:IBPT (ca7gi3)[LF]Cliente.: BR AUTOMACAO LTDA ME[LF]Cnpj/Cpf: 09.632.532/0001-16[LF]IE/Rg: 283480084[LF]Endere[135]o: NELSON DE ARAUJO[LF]Op.:001-SANDRA[LF]VOLTE SEMPRE!!!|[178]
-- 24/06 13:29:20:759                 RX <- [ACK]
-- 24/06 13:29:20:760          Status TX -> [ENQ][NUL]
-- 24/06 13:29:20:778             Resposta: SEQ:36 CMD:5 EXT:0 CAT:2 RET:[SOH][NUL][NUL]1 TBR:0 BRS:"" CHK:93
-- 24/06 13:29:20:778     RX <- [SOH]$[ENQ][NUL][STX][SOH][NUL][NUL]1[NUL][NUL]]
-- 24/06 13:29:20:779 -- Desativando a porta: COM2
-- 24/06 13:29:20:781 
----------------- ERRO -----------------
Erro retornado pela Impressora: EPSON

Categoria: 2-Erro em parâmetro do comando
Motivo: 1-Conteúdo de parâmetro inválido no comando.

Postado

Fiz o passo a passo pelo ECFTeste!

->Resposta do ECFTESTE

Ativar
#1#21#154#0#2#2#0#00#0#0#227
- + - + - + - + - + - + - + - + - + - + - + -
AbreCupom
#1#27#26#0#0#1#0#01#13#01|000002840||#215
- + - + - + - + - + - + - + - + - + - + - + -
Vende Item: Cod:111222333 DescTESTE DE PRODUTO Aliq:NN Qtd:1 Preço:1 Desc:0 Un:UN Desc:%

- + - + - + - + - + - + - + - + - + - + - + -
Subtotaliza Cupom: 0

- + - + - + - + - + - + - + - + - + - + - + -
Efetua Pagamento: 1 Valor: 1,00 Obs:  Vinc: N

- + - + - + - + - + - + - + - + - + - + - + -
Erro retornado pela Impressora: EPSON

Categoria: 2-Erro em parâmetro do comando
Motivo: 1-Conteúdo de parâmetro inválido no comando.
#1$#5#0#2#1#0#01#0#0]
- + - + - + - + - + - + - + - + - + - + - + -

 

->Comando Enviado

#1$#5#0#17#10|1|MD-5:12345678901234567890123456789012PV0000000003DAV0000000001DAV-OS0000000002NF:123456#10Trib aprox R$:0,60 Fed, 0,40 Est e 0,23 Mun#10Fonte:IBPT/FECOMERCIO (aWd7S8)#10DARI AGOSTINHO VARINI JUNIOR - FILHO#10AV. PANAMA, 370#10cpf:922.005.591-00#10rg/i.e:1267999 MS#10Op: Dari Junior|D

 

Segue em anexos o AcbrLog

acbrlog.txt

  • Fundadores
Postado

Você está enviando 9 linhas...

Citar

MD-5:3B30B7D03DC55D95441F4849E678AA60
Trib aprox R$:0,12 Federal e 0,26 Estadual
Fonte:IBPT (ca7gi3)
Cliente.: BR AUTOMACAO LTDA ME
Cnpj/Cpf: 09.632.532/0001-16
IE/Rg: 283480084
Endere[231]o: NELSON DE ARAUJO
Op.:001-SANDRA
VOLTE SEMPRE!!!

 

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.

  • Fundadores
Postado

Reproduzimos o seu teste, em nossa Epson TM800F, com porta COM e USB... em ambos os cenários o cupom foi fechado com sucesso, e a nona linha foi suprimida...

por favor verifique se seus fontes estão corretamente atualizados

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.

Postado

Depois de atualizar a ultima versão do ACBr no estabelecimento que estava com problema não aconteceu mais. Até simulei os casos que vinham acontecendo antes e passou corretamente.

  • 3 semanas depois ...
Postado (editado)

Colaborando, este mesmo problema ta acontecendo na Bematech blindada, esporadicamente gerava o erro em anexo, e a obs tinha poucas linhas, não encontrava um padrão na forma de gerar o erro, então analisando esta correção da Epson, removi os CR para bematech também e ontem não apresentou mais o erro, vou monitorar hoje também e lhe retorno.

A alteração que fiz foi só no IF que adiciona o CR, linha 1773

    if (not EhControle)
	and (not(IsBematech)) //Não adicionar CR nas bematech..gera erro ao fechar cupom
    then
    begin
      Linha := StuffString(Linha, P, 0, CR );  // Adiciona CR antes de LF
      Inc( P );
    end

 

Log_comErro.txt

Editado por Daniel Carus
Anexo

Daniel Carus

 

 

Postado

Esqce Não Funcionou,
analisando o tópico abaixo, vi que tem um problema antigo de loop na bematech, ai vi que a eprom do cliente é a 1.0, fui falar com técnicos para atualizar a eprom, ai eles me passaram que tem um problema na placa de rede da ECF 4200 th fi, que ela fica ativa direta procurando rede e isso faz travar a ecf, segundo eles já fizeram esse ajuste na placa em varias impressoras e com isso resolve o trovamento, vamos ver então né.

 

Daniel Carus

 

 

  • Fundadores
Postado

Isso mesmo... mas acredito que os fontes atuais do ACBr, já contemplem um "workaround", para essa situação da Bematech...

Mas não compreendi como o problema do Loop está relacionado com o problema da Impressão de várias linhas do gerencial...

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.

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.