Ir para conteúdo
  • Cadastre-se

dev botao

Item registrado 2 vezes na impressora Bematech MP 4000 TH


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

Recommended Posts

Postado

Bom dia, estou tendo um problema em algumas vendas, no sistema o item é registro 1 vez e na impressora 2, segundo o usuario não aparece mensagem de erro de comunicação. Abaixo o trecho do log:

 

-- 11/08 10:08:57:232 VendeItem( 0000000000006 , ACEM BOVINO.................. , T05 , 0,616 , 12,99 , 0 , KG , % , D , -1 )
-- 11/08 10:08:57:232                 TX -> [STX]n[NUL][FS]?050000129900000616000000000000000000000100000000000000000000KG0000000000006[NUL]ACEM BOVINO..................[NUL][LF][NAK]
-- 11/08 10:08:57:357    10:08:57:357 RX <- ACK = 6 Falha: 0
-- 11/08 10:08:57:435     RX <- [NUL][NUL][NUL][NUL]
-- 11/08 10:08:59:073 VendeItem( 0000000000060 , CENOURA...................... , II , 0,206 , 1,99 , 0 , KG , % , D , -1 )
-- 11/08 10:08:59:073                 TX -> [STX]n[NUL][FS]?II0000019900000206000000000000000000000100000000000000000000KG0000000000060[NUL]CENOURA......................[NUL][242][20]
-- 11/08 10:08:59:182    10:08:59:182 RX <- ACK = 255 Falha: 0
-- 11/08 10:08:59:291                 TX -> [STX]n[NUL][FS]?II0000019900000206000000000000000000000100000000000000000000KG0000000000060[NUL]CENOURA......................[NUL][242][20]
-- 11/08 10:08:59:416    10:08:59:416 RX <- ACK = 6 Falha: 1
-- 11/08 10:08:59:525     RX <- [NUL][NUL][NUL][NUL]
 

 

Reparem q na mesma vez "mandada" do comando vendeitem no caso do ACEM BOVINO, tem somente 1 retorno, já no caso da CENOURA tem 2 retornos.

 

Alguém ja viu esse erro?

 

Att

 

João Victor

  • Obrigado 1
  • Triste 1
  • Moderadores
Postado
Em 11/08/2018 at 10:46, joaovmf disse:

Bom dia, estou tendo um problema em algumas vendas, no sistema o item é registro 1 vez e na impressora 2, segundo o usuario não aparece mensagem de erro de comunicação. Abaixo o trecho do log:

 

-- 11/08 10:08:57:232 VendeItem( 0000000000006 , ACEM BOVINO.................. , T05 , 0,616 , 12,99 , 0 , KG , % , D , -1 )
-- 11/08 10:08:57:232                 TX -> [STX]n[NUL][FS]?050000129900000616000000000000000000000100000000000000000000KG0000000000006[NUL]ACEM BOVINO..................[NUL][LF][NAK]
-- 11/08 10:08:57:357    10:08:57:357 RX <- ACK = 6 Falha: 0
-- 11/08 10:08:57:435     RX <- [NUL][NUL][NUL][NUL]
-- 11/08 10:08:59:073 VendeItem( 0000000000060 , CENOURA...................... , II , 0,206 , 1,99 , 0 , KG , % , D , -1 )
-- 11/08 10:08:59:073                 TX -> [STX]n[NUL][FS]?II0000019900000206000000000000000000000100000000000000000000KG0000000000060[NUL]CENOURA......................[NUL][242][20]
-- 11/08 10:08:59:182    10:08:59:182 RX <- ACK = 255 Falha: 0
-- 11/08 10:08:59:291                 TX -> [STX]n[NUL][FS]?II0000019900000206000000000000000000000100000000000000000000KG0000000000060[NUL]CENOURA......................[NUL][242][20]
-- 11/08 10:08:59:416    10:08:59:416 RX <- ACK = 6 Falha: 1
-- 11/08 10:08:59:525     RX <- [NUL][NUL][NUL][NUL]
 

 

Reparem q na mesma vez "mandada" do comando vendeitem no caso do ACEM BOVINO, tem somente 1 retorno, já no caso da CENOURA tem 2 retornos.

 

Alguém ja viu esse erro?

 

Att

 

João Victor

Bom dia, joaovmf.

Tente atualizar o pacote de DLLs BEMAFI32 (baixado do site da Bematech) e substituir na sua aplicação.

  • Curtir 1
Equipe ACBr

Felipe Eduardo Resende Mesquita

Ajude o Projeto ACBr crescer - Assine o SAC

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

 

 

 

  • Administradores
Postado

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Moderadores
Postado
16 horas atrás, syspan disse:

Boa noite Felipe, não testei no demo, pois, não é toda hora que acontece.

Peço para que faça o teste com o demo e verifique se ocorre o mesmo erro.

Equipe ACBr

Felipe Eduardo Resende Mesquita

Ajude o Projeto ACBr crescer - Assine o SAC

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

 

 

 

  • Membros Pro
Postado

Felipe, liguei no suporte da bematech e perguntei sobre esse ACK = 255, o suporte me disse que desconhece esse código, e que os permitidos são 0 ou 6. Estava olhando no fonte AcbrEcfBematech na function TACBrECFBematech.EnviaComando_ECF(cmd : AnsiString) : AnsiString ; e vi que é feita até 3 tentativas. No meu caso sempre que retorno 255 ele registrou o item, será que podemos fazer algo para ignorar esse código?

 

 

  • Administradores
Postado

Bom dia.

Você tem algum log para que possamos analisar melhor sua situação?

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Moderadores
Postado
Em 16/08/2018 at 13:38, syspan disse:

Felipe, liguei no suporte da bematech e perguntei sobre esse ACK = 255, o suporte me disse que desconhece esse código, e que os permitidos são 0 ou 6. Estava olhando no fonte AcbrEcfBematech na function TACBrECFBematech.EnviaComando_ECF(cmd : AnsiString) : AnsiString ; e vi que é feita até 3 tentativas. No meu caso sempre que retorno 255 ele registrou o item, será que podemos fazer algo para ignorar esse código?

 

 

Bom dia, syspan.

Conforme a Juliana Tamizou informou, nos informe a velocidade e o time out para melhor entendimento, com o log tentaremos obter detalhes sobre seu problema.

Equipe ACBr

Felipe Eduardo Resende Mesquita

Ajude o Projeto ACBr crescer - Assine o SAC

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

 

 

 

  • Membros Pro
Postado

Eu fiz o seguinte, no AcbrECFBematech na function EnviaComando_ECF, fiz uma alteração

 

antes

   while (fsACK <> 6) do

 

agora

  while (fsACK <> 6) and (fsACK <> 255)

 

e na procedure analisaACK fiz o seguinte:

 

antes

  else if (fsACK <> 6)

agora

  else if (fsACK <> 6) and (fsACK <> 255)

 

E não deu mais problema.

 

 

Att

 

João Victor

  • Curtir 1
  • Administradores
Postado

Boa tarde

Iremos analisar todas as informações fornecidas e retornaremos aqui.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Fundadores
  • Solution
Postado
Em 21/08/2018 at 11:14, syspan disse:

Eu fiz o seguinte, no AcbrECFBematech na function EnviaComando_ECF, fiz uma alteração

João Victor,

Obrigado pela analise e sugestão de correção...

Como o suporte disse... A impressora nunca deveria retornar um ACK=255... mas retorna... :)

Baseado na sua sugestão, apliquei uma revisão na Unit ACBrECFBematech.pas, para considerar o ACK válido na seguinte situação:

function TACBrECFBematech.ACKValido(const nACK: Integer): Boolean;
begin
  Result := (nACK = 6) or (nACK = 255);
end;      

Por favor substitua a sua Unit, com essa em anexo, e faça alguns testes...

 

ACBrECFBematech.pas

  • Curtir 2
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
2 horas atrás, Daniel Simoes disse:

João Victor,

Obrigado pela analise e sugestão de correção...

Como o suporte disse... A impressora nunca deveria retornar um ACK=255... mas retorna... :)

Baseado na sua sugestão, apliquei uma revisão na Unit ACBrECFBematech.pas, para considerar o ACK válido na seguinte situação:


function TACBrECFBematech.ACKValido(const nACK: Integer): Boolean;
begin
  Result := (nACK = 6) or (nACK = 255);
end;      

Por favor substitua a sua Unit, com essa em anexo, e faça alguns testes...

 

ACBrECFBematech.pas

Daniel, 

Vou colocar no cliente para rodar e te dou um feedback.

 

Att

 

  • Curtir 1
Postado
5 horas atrás, Daniel Simoes disse:

Conseguiu testar ?

 

5 horas atrás, Daniel Simoes disse:

Conseguiu testar ?

Daniel, boa tarde.

Eu desenvolvo para uma rede de varejo que possuí 68 filiais utilizando o ACBrECF + Bematech e estamos tendo problemas pontuais todo mês com a duplicação de itens em cupons, o mesmo problema do João Victor e do Syspan.

Acabei de baixar a unit disponibilizada por você e vamos disponibilizar uma versão para as filiais, caso o problema seja resolvido eu aviso aqui.

  • Curtir 3
  • Membros Pro
Postado
21 horas atrás, Daniel Simoes disse:

Conseguiu testar ?

Bom dia Daniel, desculpe, consegui colocar no cliente na terça e não teve mais problemas.... 

  • Curtir 2
  • Obrigado 2
  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 2277 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.