Ir para conteúdo
  • Cadastre-se

dev botao

Linha digitável UNICRED gerando com letra 'P'


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

Recommended Posts

Postado

Pessoal estou homologando o boleto do banco UNICRED e em alguns boletos aleatórios esta sendo gerado a letra P, analisando o código fonte da 

unit 'ACBrBancoUnicredES.pas' do banco vi que este 'P' é gerado na função de calculo do digito verificador:

function TACBrBancoUnicredES.CalcularDigitoVerificador(const ACBrTitulo: TACBrTitulo 😞 String;
begin
   Modulo.CalculoPadrao;
   Modulo.MultiplicadorFinal := 9;
   Modulo.Documento := ACBrTitulo.NossoNumero;
   Modulo.Calcular;

   if Modulo.ModuloFinal = 1 then
      Result:= 'P'
   else
      Result:= IntToStr(Modulo.DigitoFinal);
end;

 

Gostaria de saber o por que esta acontecendo isto, por que não pode ser gerado letra em linha digitável, segue anexo da impressão do boleto. 

 

BoletoErrado.PNG

  • Administradores
Postado

Bom dia.

O digito verificador é gerado conforme o manual do banco, recomendo antes de tudo a leitura do mesmo para entender se é o caso de propor alguma alteração.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
2 horas atrás, Juliana Tamizou disse:

Bom dia.

O digito verificador é gerado conforme o manual do banco, recomendo antes de tudo a leitura do mesmo para entender se é o caso de propor alguma alteração.

Att.

Queria saber o por que tem o retorno P, vou analisar mais uma vez o manual.

  • Curtir 1
Postado

Favor avaliar a geração do digito no nosso numero.

Conforme manual 

3.11 Cálculo do Dígito Verificador Geral 
O módulo 11 de um número é calculado multiplicando cada algarismo 
pela sequência de multiplicadores 2,3,4,5,6,7,8,9,2,3, ... 
posicionados da direita para a esquerda. 
A soma dos algarismos do produto é dividida por 11 e o DV (dígito verificador) será a diferença entre o divisor ( 11 ) e o resto da divisão: 

DV = 11 - (resto da divisão) 
Observação: quando o resto da divisão for 0 (zero) ou 10 (dez), o DV calculado é o 1 (um).  

Visto que conforme CalcularDigitoVerificador esta jogando 'P' quando o dígito for 1.

 

  • 2 meses depois ...
Postado
Em 28/05/2019 at 17:25, andepunk disse:

Favor avaliar a geração do digito no nosso numero.

Conforme manual 


3.11 Cálculo do Dígito Verificador Geral 
O módulo 11 de um número é calculado multiplicando cada algarismo 
pela sequência de multiplicadores 2,3,4,5,6,7,8,9,2,3, ... 
posicionados da direita para a esquerda. 
A soma dos algarismos do produto é dividida por 11 e o DV (dígito verificador) será a diferença entre o divisor ( 11 ) e o resto da divisão: 

DV = 11 - (resto da divisão) 
Observação: quando o resto da divisão for 0 (zero) ou 10 (dez), o DV calculado é o 1 (um).  

Visto que conforme CalcularDigitoVerificador esta jogando 'P' quando o dígito for 1.

 

Estou com mesmo problema, não encontrei no manual orientação para troca para P, sera feito o ajuste?

Davi Souza
Analista/Desenvolvedor de Aplicação Desktop
Teste 48 9 9643-8854
  • Administradores
Postado

Bom dia.

Precisamos rever este tópico, fazendo a troca seu boleto foi validado?

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • 2 meses depois ...
Postado
Em 13/08/2019 at 09:56, Juliana Tamizou disse:

Bom dia.

Precisamos rever este tópico, fazendo a troca seu boleto foi validado?

Att.

Ola, Após ter verificado o manual, fui verificar os boletos que meu cliente emitia pelo próprio programa do banco, realizei os cálculos conforme o manual e quando o retorno era 1 que no caso no acbr jogava P o do banco jogava o zero, 

então eu fiz a alteração no código fonte trocando o 'P' pelo zero, realizei emissões com os mesmo dados do boleto gerado pelo programa do banco e os dados bateram, enviei ao banco e ele aprovou. 

segue as alterações: 

   if Modulo.ModuloFinal = 1 then
      Result:= '0'

 

Nesta unit teve um segunda alteração em relação a função LerRetorno400 onde as posições da data de credito não estava de acordo com o manual tbm realizei o ajuste.

         if StrToIntDef(Copy(sLinha,176,6),0) <> 0 then
            DataCredito:= StringToDateTimeDef( Copy(sLinha,176,2)+'/'+
                                               Copy(sLinha,178,2)+'/'+
                                               Copy(sLinha,180,2),0, 'DD/MM/YY' );

 

Como faço para enviar este arquivo para vcs avaliarem ?

ACBrBancoUnicredES.pas

  • Curtir 1
  • Administradores
Postado

Bom dia.

Obrigada pela contribuição, adicionada para validação.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • 2 meses depois ...
  • 3 semanas depois ...
  • Administradores
  • Solution
Postado

Boa tarde.

As alterações relativas a este banco já estão no svn.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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