Ir para conteúdo
  • Cadastre-se

dev botao

Cancelamento do cupom fiscal durante fechamento utilizando SWEDA ST120


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

Recommended Posts

  • Membros Pro

Bom dia pessoal,

    Efetuamos uma atualização em um cliente nosso hoje. Estamos tendo reclamações referentes a cancelamento do cupom fiscal ao efetuar o fechamento do mesmo.

    Analisando os logs eu verifiquei o seguinte:

1)

-- 10:06:59:921 Estado
                TX -> [STX][180]34[ETX] 
   10:06:59:953 RX <- ACK = 6 Falha: 0
                TimeOut estendido
                Alteração de Estado: 0-
   10:06:59:968 RX <- (Bloco) = [STX][179]00!0000AA[128][192][146][128][128][ETX]M
                TX -> ACK = 6 Falha: 0
         VerificaFimLeitura, Bloco "!" considerado Seq:179 Tipo:! Tarefa:00 Erro:0 - Bloco:[STX][179]00!0000AA[128][192][146][128][128][ETX]M
   10:07:00:062 RX <- 
-- 10:07:00:062 CancelaNaoFiscal
                TX -> [STX][181]34[ETX]!
   10:07:00:078 RX <- ACK = 6 Falha: 0
                TimeOut estendido
   10:07:03:062 RX <- (Bloco) = [STX][181]34+0000AA[128][192][146][128][128][ETX]`
                TX -> ACK = 6 Falha: 0
   10:07:03:171 RX <- [STX][181]34+0000AA[128][192][146][128][128][ETX]`

2)

-- 09:58:19:126 Estado
                TX -> [STX]L34[ETX][184]
   09:58:19:142 RX <- ACK = 6 Falha: 0
                TimeOut estendido
                Alteração de Estado: 0-
   09:58:19:157 RX <- (Bloco) = [STX]K00!0000AA[132][192][146][128][128][ETX][233]
                TX -> ACK = 6 Falha: 0
         VerificaFimLeitura, Bloco "!" considerado Seq:75 Tipo:! Tarefa:00 Erro:0 - Bloco:[STX]K00!0000AA[132][192][146][128][128][ETX][233]
   09:58:19:267 RX <- 
-- 09:58:19:657 CancelaCupom
                TX -> [STX]M34[ETX][185]
   09:58:19:673 RX <- ACK = 6 Falha: 0
                TimeOut estendido
   09:58:22:251 RX <- (Bloco) = [STX]M34+0000AA[128][192][146][128][128][ETX][248]
                TX -> ACK = 6 Falha: 0
   09:58:22:360 RX <- [STX]M34+0000AA[128][192][146][128][128][ETX][248]

3)

-- 08:45:58:773 Estado
                TX -> [STX][183]34[ETX]#
   08:45:58:882 RX <- ACK = 6 Falha: 0
                TimeOut estendido
                Alteração de Estado: 0-
   08:45:58:882 RX <- (Bloco) = [STX][182]00!0000AC[132][176][146][128][128][ETX]F
                TX -> ACK = 6 Falha: 0
         VerificaFimLeitura, Bloco "!" considerado Seq:182 Tipo:! Tarefa:00 Erro:0 - Bloco:[STX][182]00!0000AC[132][176][146][128][128][ETX]F
   08:45:58:976 RX <- 
-- 08:45:58:976 Estado
                TX -> [STX][184]34[ETX]$
   08:45:58:991 RX <- ACK = 6 Falha: 0
                TimeOut estendido
   08:46:01:976 RX <- (Bloco) = [STX][184]34+0000AC[128][176][146][128][128][ETX]U
                TX -> ACK = 6 Falha: 0
   08:46:02:085 RX <- [STX][184]34+0000AC[128][176][146][128][128][ETX]U
-- 08:46:02:085 CancelaCupom
                TX -> [STX][185]34[ETX]%
   08:46:02:085 RX <- ACK = 2 Falha: 0
                TX -> [STX][185]34[ETX]%
   08:46:02:195 RX <- ACK = 6 Falha: 1
                TimeOut estendido
   08:46:02:741 RX <- (Bloco) = [STX][185]34+0000AC[128][176][146][128][128][ETX]V
                TX -> ACK = 6 Falha: 0
   08:46:02:835 RX <- [STX][185]34+0000AC[128][176][146][128][128][ETX]V

    Habilitamos a propriedade ControlePorta nos três caixas que reportaram problema.

    Nos três casos, tivemos a alteração de estado para "0-" e na linha do VerificaFimLeitura temos o Bloco "!".

    Gostaria da opinião de vocês, sobre os logs acima, para tentarmos um tratamento de contorno. Estou anexando os logs que possuem um pouco mais de informações a respeito do assunto. Caso precisem de mais logs, por favor, deixem-me saber.

    Desde já agradeço.

 

 

 

 

 

 

ACBR-CAIXA 23.TXT

ACBR-CAIXA 25_CUPOM337315_VALOR1205.TXT

ACBR-CAIXA 26 (FORMA DINHEIRO).TXT

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Os trechos de LOG apresentados não representam problema... (não há ERRO neles)

O que exatamente ocorre ?

Como podemos reproduzir o problema usando o Demo ECFTeste, a fim de debugarmos ?

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

  • Membros Pro

    Entendi. Então acredito que podemos descartar um problema no ECF.

    O que o pessoal reportou em dois dos casos acima, foi que durante o fechamento em forma TEF ocorreu o cancelamento do cupom.(ACBR-CAIXA 23.TXT, ACBR-CAIXA 25_CUPOM337315_VALOR1205.TXT)

    Neste caso no nosso source, teríamos:

try
   //IMPRIME CCD - Imprime os comprovantes de transações pendente do TEF
   dmVenda.ACBrTEFD.ImprimirTransacoesPendentes;
   //Confirma as transações pendentes do TEF
   dmVenda.ACBrTEFD.ConfirmarTransacoesPendentes;
except
   on E:Exception do
   begin
       //Aqui cancelamos o cupom em caso de erro     
   end;
end; 

   No terceiro, utilizando a forma de recebimento DINHEIRO, o sistema também na finalização do cupom fiscal efetuou o cancelamento.(ACBR-CAIXA 26 (FORMA DINHEIRO).TXT)

   Em relação ao ECFTeste, a princípio fica difícil te passar um passo-a-passo, estamos tentando desde de cedo simular o mesmo problema do cliente no nosso sistema e ainda não conseguimos.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Nos Logs não há Exception, que possa justificar o desvio do programa...

Insira a gravação de Logs no seu sistema... para saber as rotinas que ele está passando

Eu só conseguirei investigar o problema, com um projeto que tenho os fontes... por isso é necessário usar o ECFTeste... ou ainda você poderia fazer um programa bem simples, que reproduza 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

  • Membros Pro

    Daniel, estamos acompanhando o cliente aqui e em um caixa, tivemos diferença entre o subtotal do ECF e do subtotal do sistema. Quando no log do ECF aparece essa linha:

VerificaFimLeitura, Bloco "!" considerado Seq:118 Tipo:! Tarefa:00 Erro:0 - Bloco:[STX]v00!0000AC[128][144][146][128][128][ETX][226]

    O comando ecf.AcbrECF.SubTotal retorna 0, dando diferença e forçando o operador a parar a venda.

    Exemplo: No log do ECF:

-- 13:46:35:234 Subtotal
                TX -> [STX]w34|L1[ETX][220]
   13:46:35:265 RX <- ACK = 6 Falha: 0
                TimeOut estendido
                Alteração de Estado: 0-
   13:46:35:281 RX <- (Bloco) = [STX]v00!0000AC[128][144][146][128][128][ETX][226]
                TX -> ACK = 6 Falha: 0
         VerificaFimLeitura, Bloco "!" considerado Seq:118 Tipo:! Tarefa:00 Erro:0 - Bloco:[STX]v00!0000AC[128][144][146][128][128][ETX][226]
   13:46:35:390 RX <- 
   Registrador: L1 Retorno:

    Log do nosso sistema:

[2/7/2015 13:46:35]
Diferença no valor da venda do CUPOM [337378] no ITEM: 024
ERRO: Valor do ECF difere do valor do SISTEMA!
- SUBTOTAL do ECF: R$ 0,00
- SUBTOTAL do BANCO DE DADOS: R$ 165,73
+ DIFERENÇA: R$ 165,73

    No Delphi:

try
  SubtotalEcf := ecf.AcbrEcf.Subtotal;
  SubtotalBD  := cdsR60ITOTAL.AsCurrency;
except
  DebugLog('Problema ao obter o SUBTOTAL do ECF!' + sLineBreak +
           '- CUPOM: ' + LZPad(CurrToStr(cdsBuscarCupomNUMERO.AsCurrency), 6) + sLineBreak +
           '- ITEM: '  + LZPad(IntToStr(cdsAddItemCupom.FieldByName('NUMITEM').AsInteger), 3) + sLineBreak +
           '- SUBTOTAL do BANCO DE DADOS: R$ ' +  FormatFloat('#,##0.00', SubtotalBD));
end;

    O estranho é que não foi lançado nenhuma exceção. Pois a mensagem da exceção acima não aparece no log. 

    Você poderia me dizer em qual caso a mensagem 'VerificaFimLeitura' aparece? Seria possível que quando esta mensagem aparecesse o ECF ou o computador não esteja recebendo os dados corretamente?

    Peço desculpa por reaproveitar o tópico, é que a mensagem no log é a mesma.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Parece haver algo errado no VerificaFimLeitura... vou ler os fontes com atenção, e tentar um teste de mesa, baseado nos dados do seu Log

Seus fontes estão atualizados ? Você usa o Trunk ou Trunk2 ?

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

  • Membros Pro

Sim, nos logs acima estávamos com a última versão. Estamos utilizando o Trunk.

No momento no cliente, estamos utilizando a revisão 8320, pois ontem começou a ter problema em 5 caixas e tivemos que voltar um pouco na correria por ser começo de mês. No finalzinho da tarde foi trocado.

Editado por Intelliware
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Interpretando o Bloco retornado:

   13:46:35:281 RX <- (Bloco) = [STX]v00!0000AC[128][144][146][128][128][ETX][226]
[STX]
v - SEQ
00 - TAREFA
! - TIPO
0000 - MENSAGEM (0000 - Sem Erro)
A - ESTADO OPERACIONAL (ATIVO)
C - Docto Emissao (CUPOM FISCAL)
[128][144][146][128][128] - Sinalizadores
[ETX]
[226] - Checksum

Notei que o VerificaFimLeitura encerrou com esse Bloco.. e não deveria...

Apliquei uma possível correção no SVN, Trunk e Trunk2

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Show Daniel. Vamos esperar passar esse fim de semana e segunda-feira já efetuamos um teste. Qualquer novidade posto aqui.

Só para eu poder estar entendendo mais a baixo nível, no caso dos Sinalizadores, teríamos:

[128] = 10000000

7 - Fixado em 1
6 - Com papel
5 - Bastante papel
4 - Fixado em 0
3 - Fixado em 0
2 - Gaveta fechada
1 - Estado diferente de ATIVO ou ATIVO com movimento
0 - Não existem reduções atrasadas

[144] = 10010000

7    - Fixado em 1
6..4 - Venda
3    - Não há comando pendente
2    - Não há comando pendente
1    - Não há documento inserido
0    - Não há problema no mecanismo impressor

[146] = 10010010

7 - Fixado em 1
6 - Reservado para futuras implementações
5 - Reservado para futuras implementações
4 - Houve movimento
3 - O documento não está pronto para impressão
2 - Assume valor 1 quando o código de mensagem se refere à problema no mecanismo de impressão.(SEM ERRO)
1 - Jumper JP1 fechado
0 - Não transmitindo leitura

[128] = 10000000

7    - Fixado em 1
0..6 - Reservado para futuras implementações

[128] = 10000000

7    - Fixado em 1
0..6 - Reservado para futuras implementações

Seria realmente essa a interpretação dos dados da linha em questão?

Desde já agradeço.

Editado por Intelliware
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Isso mesmo... o ACBr usa esses Bits dos Sinalizadores, para computar o Estado atual do ECF.. em TACBrECFSwedaSTX.GetEstado

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Daniel, bom dia,

Após 5 dias em pleno uso da correção no supermercado não tivemos mais problema de cancelamento, utilizando a correção disponibilizada. Portanto, estamos setando como problema resolvido. Agradeço mais uma vez a sua ajuda e assistência.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...