Ir para conteúdo
  • Cadastre-se

dev botao

Problema ao desmembrar C1 utilizando o CMC7 do Cheque


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

Recommended Posts

  • Membros Pro

Boa tarde pessoal,

Tivemos um problema com o componente ACBrCMC7, no seguinte sentido, foi utilizado um cheque  do Banco do Brasil, com os seguintes dados:

Comp -> 018
Banco -> 001
Agência -> 1663

Ao passar o cheque no leitor de CMC7 foi retornado que o C1 seria o valor 10. Utilizando a função 'ACBrCMC7.CalculaC1', realmente temos este valor. Olhando no cheque temos:

Comp -> 018
Banco -> 001
Agência -> 1663
DV -> 2
C1 -> 0

Utilizando outro cheque do Banco do Brasil para teste, com os seguintes dados:

Comp -> 018
Banco -> 001
Agência -> 0308
DV -> 5
C1 -> 2

A função 'ACBrCMC7.CalculaC1' retorna C1 = 2, que estaria correto.

Para teste dos casos, utilizei como entrada na função 'ACBrCMC7.CalculaC1':

0180011663 -> C1 = 10 (incorreto) 
0180010308 -> C1 = 2 (correto)

Por favor, gostaria da opinião de vocês para este caso, uma vez que o cliente possui 14 caixas todos com leitor de CMC7. Desde já agradeço a todos.

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

O Daniel me passou neste post:

Este link:

https://www.bcb.gov.br/pre/normativos/busca/downloadNormativo.asp?arquivo=/Lists/Normativos/Attachments/38814/C_Circ_1049_v1_O.pdf

Que descreve o funcionamento dos campos C1, C2 e C3. Observe que para C1 temos:

image.png.2d9abaedea2c99a80134fcfa4c534fd2.png

Efetuando os cálculos temos exatamente que o resto é 10 na divisão, sendo 153 % 11 = 10. Neste caso não deveria retornar 0(zero)? 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

As rotinas do ACBrCMC7, foram escritas a muito tempo... e não parecem estar de acordo com o calculo correto...

http://www.devmedia.com.br/forum/como-calcular-os-campos-c1-c2-e-c3-de-um-cheque/199034

Vou modificá-las para usar o ACBrValidador...

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

  • Fundadores

Por favor tente com essa versão em anexo...

Se possível, agradeço se testar em vários bancos diferentes...

ACBrCMC7.pas

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

Boa tarde Daniel, realizamos teste com:

- SICOOB
- Mercantil do Brasil
- Santander
- Caixa
- Banco do Brasil
- Bradesco
- Itaú
- UniCred

Apenas duas observações:

1) Para o Santander retornar o valor de C2 corretamente, foi preciso utilizar a correção proposta neste post:

2) Para o Itaú, eu utilizei dois cheques. O primeiro calculou corretamente. O segundo, cujos dados são:

CMC7: 341067330330018805201725766099
Comp: 033
Banco: 341
Agencia: 0673
Conta: 576609
Numero: 001880
C1:1
C2:5
C3:5

O C2 retornado foi 5 no cheque aparece o dígito 3.

Os outros cheques não tiveram qualquer tipo de problema, retornando os valores exatos.

Link para o comentário
Compartilhar em outros sites

  • Fundadores
Em 12/09/2017 at 14:51, Intelliware disse:

1) Para o Santander retornar o valor de C2 corretamente, foi preciso utilizar a correção proposta neste post:

 

Ok, apliquei as modificações do indicadas no Post...

Em 12/09/2017 at 14:51, Intelliware disse:

2) Para o Itaú, eu utilizei dois cheques. O primeiro calculou corretamente. O segundo, cujos dados são:


CMC7: 341067330330018805201725766099
Comp: 033
Banco: 341
Agencia: 0673
Conta: 576609
Numero: 001880
C1:1
C2:5
C3:5

Pode me enviar uma foto desse cheque ?

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

  • Fundadores

Não consegui compreender o porque do C2, da conta 57660-9, estar como: 3 para esse cheque... o nosso calculo parece correto, e o valor resultante é 5... 

Aúnica maneira de chegar a um C2 = 3, seria ignorando o dígito verificador da Conta: "57660"... mas para outros cheques do Itaú o calculo está batendo...

Você tem algum contato no Itau, que possa confirmar se as informaçõe desse cheque estão corretas ?

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

  • 2 semanas depois ...
  • Membros Pro

Bom dia Daniel, até o momento não recebemos nenhuma informação a respeito do contato com o Itaú.

O que verificamos, por observação, nos testes, foi que quando no número do cheque está discriminado:

UA-002175

Ou seja, quando temos o prefixo UA, o valor calculado para o C2 e C3 difere do valor impresso no cheque.

Como não tivemos problema com as melhorias implementadas no ACBrCMC7 nos clientes que colocamos para teste, em relação ao cheque TEF, vamos assumir, por enquanto, que foi solucionado esta questão. Caso ocorra algum outro problema, entramos em contato. Agradeço.

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

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