Ir para conteúdo
  • Cadastre-se

dev botao

DV do banco Uniprime


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

Recommended Posts

Postado

Boa tarde!

Ontem um gerente do banco Uniprime de Foz do Iguaçú - PR nos ligou afirmando que DV do número do banco dos boletos gerados no nosso sistema estava incorreto, pois estava 4 e o correto seria X.

Ele nos mandou um manual (em anexo) contendo a seguinte citação na segunda página:

Citar

Número do Banco e seu DV: Fixar o número do banco ‘099-X’ ao lado direito Logo/Nome do Banco.

Ao ACBrUniprime.pas o DV está sendo setado como 4, gerando o número do banco como "099-4"

2020-02-28_13h44_52.jpg.2ad5aa92cd35da8b4f2cb2af424846d2.jpg

Nessa situação, qual seria a procedência correta? Será necessária alteração do fonte ACBrUniprime.pas?

Obrigado desde já!

Cobexpess-Boleto padrao+Layout CNAB 400_Banco099.pdf

  • Moderadores
  • Solution
Postado

Boa tarde

O digito do banco é uma propriedade publica do componente, pode ser alterada via código:

ACBrBoleto1.Banco.Digito:=

  ou pelo ObjetInspector em: "Banco"

  • Curtir 1
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • 9 meses depois ...
  • Membros Pro
Postado

Olá,

Estou realizando a homologação com Uniprime.

Tive a mesma critica do Digito X na impressão do Boleto. Usando Lazarus.

Utilizando o Fortes pra impressão existe um tratamento para imprimir X quando o digito do banco for maior ou igual a 10. Como mostra a imagem:

image.png.3a67064ceff3aa90caca4840d739ff6f.png

 

Fiz um teste com o demo  forçando um o valor 10 no digito do banco, conforme sugerido. 

Porém o boleto ainda está sendo impresso com o digito 4, que é atribuído ao informar o tipo Uniprime.

   ACBrBoleto1.Banco.Digito := 10;
   ACBrBoleto1.Imprimir;

 

Fui olhar a property e a mesma tem um Setter "fake" , usado apenas pra mostrar o ObjectInspector:

image.png.7ff52f9436d75f9c73c9a24085b86537.png

Então indiferente do que informar no Digito do Banco o Fortes não vai considerar.

Sugiro implementarmos um Set pra property e no Get tratar se existe algo nela, caso contrario podemos retornar o Digito que está na propria classe do Banco.

TACBrBanco = class(TComponent)
private 
  fDigitoManual: Integer;

....

procedure TACBrBanco.SetDigito(const AValue: Integer);
begin
  fDigitoManual := AValue;
end;

function TACBrBanco.GetDigito: Integer;
begin
  Result := fBancoClass.Digito;
   if (fDigitoManual > 0) then
     Result := fDigitoManual;
end;

 

Postado
Em 10/12/2020 at 20:39, Giquieu disse:

Olá,

Estou realizando a homologação com Uniprime.

Tive a mesma critica do Digito X na impressão do Boleto. Usando Lazarus.

Utilizando o Fortes pra impressão existe um tratamento para imprimir X quando o digito do banco for maior ou igual a 10. Como mostra a imagem:

image.png.3a67064ceff3aa90caca4840d739ff6f.png

 

Fiz um teste com o demo  forçando um o valor 10 no digito do banco, conforme sugerido. 

Porém o boleto ainda está sendo impresso com o digito 4, que é atribuído ao informar o tipo Uniprime.


   ACBrBoleto1.Banco.Digito := 10;
   ACBrBoleto1.Imprimir;

 

Fui olhar a property e a mesma tem um Setter "fake" , usado apenas pra mostrar o ObjectInspector:

image.png.7ff52f9436d75f9c73c9a24085b86537.png

Então indiferente do que informar no Digito do Banco o Fortes não vai considerar.

Sugiro implementarmos um Set pra property e no Get tratar se existe algo nela, caso contrario podemos retornar o Digito que está na propria classe do Banco.


TACBrBanco = class(TComponent)
private 
  fDigitoManual: Integer;

....

procedure TACBrBanco.SetDigito(const AValue: Integer);
begin
  fDigitoManual := AValue;
end;

function TACBrBanco.GetDigito: Integer;
begin
  Result := fBancoClass.Digito;
   if (fDigitoManual > 0) then
     Result := fDigitoManual;
end;

 

Boa tarde, estou passando pela mesma situação no momento, e ao colocar o Digito 12, entrou na condição normalmente, e gerou o boleto 099-X.

  • Membros Pro
Postado

Olá,

Interessante!

Não existe um "setter" pra propriedade digito e o GetDigito, pega do BancoClass, que aqui está retornando 4.

 

 

  • Moderadores
Postado

Por padrão todos os bancos não deveriam mudar o dígito do Banco, assim como o código do Banco não muda. Por isso essa property é fixa na classe. 

Se possível solicite esse manual do banco para que possamos analisar, pois se existe essa alteração pode se tratar de outro layout, nesse caso seria necessário implementar a classe e não apenas alterar esses campos referente ao Banco.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • 1 mês depois ...
  • Membros Pro
Postado

Por email, me enviaram que é necessário ser 099-X.

Solicitei a nova documentação. Assim que pegar coloco aqui junto a alteração pra usar X.

 

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