Ir para conteúdo
  • Cadastre-se

dev botao

Impressora Bematech 4200 Th Fi (Acbrecfescecf) Subtotalizar Cupom Fiscal


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

Recommended Posts

Postado

Boa Tarde! 

 

Estou utilizando a impressora bematech 4200 TH FI. No momento que vou subtotalizar um cupom fiscal sem desconto e sem acréscimo o estado da impressora continua como 'Venda'. Dessa forma não consigo efetuar o pagamento e finalizar o cupom fiscal.

 

Estou fazendo os testes pelo ECFTeste.exe.

 

Gostaria de saber se alguém já teve esse problema ?

 

Desde já agradeço a atenção de vocês....

  • Fundadores
  • Solution
Postado

Seus fontes estão atualizados ??

 

Esse modelo (EscEcf ou 09/09) realmente procede dessa maneira... a Subtotalização sem desconto ou acréscimo é ignorada... e o ECF só entra em modo Pagamento, após receber o primeiro comando de pagamento...

 

porém no ACBrECFEscEcf, há um Flag interno, que sinaliza com o estado de pagamento, após a subtotalização...

procedure TACBrECFEscECF.SubtotalizaCupom(DescontoAcrescimo: Double;
       MensagemRodape : AnsiString );
begin
  fsEmPagamento := True ;
  if DescontoAcrescimo = 0 then exit ;
 
  with EscECFComando do
  begin
     CMD := 29 ;
     AddParamInteger( ifthen(DescontoAcrescimo < 0,0,1) );
     AddParamInteger( 1 );
     AddParamDouble( abs(DescontoAcrescimo) );
  end ;
  EnviaComando ;

  RespostasComando.AddField( 'SubTotal', EscECFResposta.Params[0] );
  SalvaRespostasMemoria(False);
end;    
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

Daniel meus fontes estão atualizados na última versão. A dúvida que tinha era justamente essa que vc explicou. Obrigado agora vou tratar essa diferença dentro da minha aplicação.

  • Fundadores
Postado

O ACBrECF irá sinalizar estado de pagamento... devido o flag "fsEmPagamento := True " da rotina acima...

 

Porém ele não persiste essa informação... ou seja, se você derrubar a aplicação, na próxima carga, ela irá solicitar o estado ao ECF... que informará como "ecfVenda"

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

Opa... analisando o código, vi que realmente foi acidentalmente introduzido um bug na detecção do estado "estPagamento", após a Subtotalização...

 

Apliquei as seguintes correções no SVN..

-- ACBrECFEscECF -- (por: DSA)
[-] Corrigido Bug na detecção do estado "estPagamento" após a Subtotalização do
    Cupom [*] Melhorada rotina de Sincronismo com o ECF, adicionando 5 tentativas. [*] Melhorada a rotina de calculo de Checksum, para desprezar buffer de Resposta
    adicional e não solicitado.
[+] Adicionada verificação de Falha de Resposta ao pedido de Status (ECF mudo)
    problema detectado na Leitura de DadosUltimaReducaoZ em Bematech MP4200-TH

 

 

  • 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

Pergunta para o Daniel... 

 

Daniel me desculpe se eu estiver falando besteira, mas atualizei o acbr para a revision 9279 pelo acbrinstall e fui olhar as alteraçoes que voce fez em ACBrECFEscECF , e na procedure SINCRONIZAR esta sendo utilizado uma constante chamada SYN , que nas revisions anteriores estava declarada na secao CONST do ACBrECFEscECF como SYN = #22, porem nessa ultima revision SYN nao esta declarada na CONST.

 

Eu percebi que voce declarou em CONST  cNumFalhasMax = 5; e dai fiquei na duvida se SYN foi apagado sem querer.

 

Obrigado e desculpe se eu estiver falando besteira

Carlos

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