Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Boa tarde pessoal,

Estamos com a seguinte situação utilizando o SitDemo 6.0.0.3, segue: Quando efetuamos uma transação, obtemos o NSU da mesma utilizando o comando:

ACBrTEFD.RespostasPendentes[pred(ACBrTEFD.RespostasPendentes.Count)].NSU

Esse valor é gravado em banco. No nosso caso, fica, por exemplo: 000010020

Quando é executado o comando:

ACBrTEFD.CNC(cdsGetMovCxTEFREDE.AsString,
             cdsGetMovCxTEFNSU.AsString,
             cdsGetMovCxTEFDATAHORAHOST.asDateTime,
             cdsGetMovCxTEFVALORFINAL.AsCurrency);

Não é aceito o número do documento acima, retornado em cdsGetMovCxTEFNSU.AsString. Olhando no comprovante do TEF, temos:

DOC=010020

Então, neste caso, o operador precisa apagar os três primeiros zeros para conseguir o cancelamento do cupom e da transação, gerando um certo transtorno na fila.

Analisando o documento Especificação Técnica – Interface com os meios de pagamento do SiTef   Bibliotecas CliSiTefI e CliSiTef  Versão 172, temos na página 24 que:

133 - Contém o NSU do SiTef (6 posições)
134 - Contém o NSU do Host autorizador (20 posições no máximo)

Analisando a unit ACBrTEFDCliSiTef.pas linha 376, temos:

134 : fpNSU := LinStr;

Acredito que neste caso, do comando CNC do CliSiTEF eu não poderia assumir o tamanho do campo como sendo 6 e preencher com zeros a esquerda ou poderia?

Gostaria de saber, se existe uma padronização para o tamanho deste campo ou se estamos efetuando algum procedimento incorreto. 

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

  • Fundadores
Postado

Não consegui compreender o problema...

Tudo que o ACBrTEFD faz, é capturar as informações do Log de retorno do Gerenciador da Transação TEF  e interpretá-lo...

Ative o Log detalhado em ACBrTEFD "LogDebug := True"...Verifique no Log gerado, como é o retorno do gerenciador TEF ao ACBrTEFD

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

Bom dia Daniel,

Na verdade, não seria realmente um problema, somente uma divergência entre a quantidade de zeros a esquerda no número do documento. No caso, no banco de dados fica gravado 000010020  e no documento impresso 010020. Com isso, no momento de cancelar o operador precisa retirar os zeros sobrando a esquerda para poder efetuar o cancelamento do cupom. No caso acima:  000010020000010020

Vou ver se consigo mais informações utilizando o comando de debug acima. Agradeço.

  • Fundadores
Postado

Isso pode ser respondido em: procedure TACBrTEFDRespCliSiTef.ConteudoToProperty;

       133 : fpCodigoAutorizacaoTransacao  := Linha.Informacao.AsInteger;
       134 : fpNSU                         := LinStr;   

E segundo o manual do SiTef, página 27

133  Contém o NSU do SiTef (6 posições)
134  Contém o NSU do Host autorizador (15 posições no máximo)

 

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

Exatamente Daniel, acabei encontrando aqui.

Pelo que pude observar, acredito que na procedure ACBrTEFD.CNC, o NSU pedido é o do SiTEF(6 posições) que corresponde ao campo 133. Seria isso mesmo? Uma vez que a diferença entre o NSU do SiTEF e o NSU do Host autorizador é exatamente a diferença de zeros em questão.

  • Fundadores
Postado

Somente ligando na Sw.Express para confirmar... mas crio que o 133 seja algo de controle interno deles... para cancelar a operação na Operadora, seria necessário o NSU do Host

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á 3066 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.