Ir para conteúdo
  • Cadastre-se

dev botao

Status da MP-4000 TH FI -


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

Recommended Posts

  • Membros Pro
Postado

A Bematech Fiscal MP-4000 retorna o estado estRequerZ às 00:00:01, porém a legislação permite uma tolerância até às 2:00h.

Outras impressoras retornam esse estado apenas quando ultrapassado o limite de tolerância. 

Isso causa um problema para o software de automação tratar, pois quando recebe o estado estRequerZ assume que já é horário limite dentro da tolerância e não permite mais operações no ECF. Porém esse estRequerZ é um "falso positivo" pois na real ainda há possibilidade de emitir documentos no ECF.

É preciso fazer algum tratamento de exceção para a MP-4000 ou o ACBR tem alguma forma de contornar isso?

Alguém tem situação parecida ou vivenciou isso?

Muitos bares e restaurantes operam após à meia-noite e só emitem a redução no final do expediente (quando não ultrapassa 2:00h da manhã) para que o movimento do caixa fique igual à redução Z.


 

 

  • Membros Pro
Postado
6 minutos atrás, Daniel Simoes disse:

Seria necessário analisar os Logs retornados pelo ACBrECF, e o manual de comunicação direta dessa Marca, para estudar se isso é uma modificação possível...

Anexei um log onde da pra ver que às 00:03 foi feita uma tentativa de venda no ECF e o estado já está estRequerZ.

Numa versão anterior do ACBR fiz um ajuste no ACBR tratando especificamente esse ECF. Era checado o modelo do ECF e se fosse MP-4000 o estRequerZ era alterado pra falso se a hora fosse anterior às 2:00h.  Não sei se é a melhor prática, mas funcionava.

log bema mp4000THFI.txt

  • Fundadores
Postado

O problema parece ser causado nesse trecho de código de ACBrECFBematech.pas

1470   fpEstado := estLivre ;
       DataMov  := RetornaInfoECF( '27' ) ;

       if DataMov <> '000000' then
        begin
          DataHora := RetornaInfoECF( '23' ) ;
          if DataMov <> copy(DataHora,1,6) then
            fpEstado := estRequerZ ;
        end

É apenas verificado se a Data, da DataHora atual (23) é diferente da DataMov (27)

Creio que o correto seria verificar se é diferente e superior a 2:00am

Como era a sua sugestão de correçã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.

  • Membros Pro
Postado
4 minutos atrás, Daniel Simoes disse:

O problema parece ser causado nesse trecho de código de ACBrECFBematech.pas


1470   fpEstado := estLivre ;
       DataMov  := RetornaInfoECF( '27' ) ;

       if DataMov <> '000000' then
        begin
          DataHora := RetornaInfoECF( '23' ) ;
          if DataMov <> copy(DataHora,1,6) then
            fpEstado := estRequerZ ;
        end

É apenas verificado se a Data, da DataHora atual (23) é diferente da DataMov (27)

Creio que o correto seria verificar se é diferente e superior a 2:00am

Como era a sua sugestão de correção ?

A minha sugestão é neste sentido mesmo conforme você mencionou:

Data Atual "MAIOR" que a Data do Movimento "E" Hora Atual "MAIOR OU IGUAL" a 02:00:00am.
 

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