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á 1162 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution

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.

Link para o comentário
Compartilhar em outros sites

  • 9 meses depois ...

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;

 

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

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.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Este tópico foi criado há 1162 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.