Ir para conteúdo
  • Cadastre-se

dev botao

Encontramos um erro na Unit ACBrBancoBancoob.pas


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

Recommended Posts

  • Membros Pro

Um de nossos clientes ao ter a necessidade de utilizar outro tipo de documento, ao gerar a remessa na transação 240 

do Bancoob detectamos que as opções de Espécie de Documento constante na procedure da transação 400 não aparece por completo

na procedure da transação 240 conforme mostra a rotina abaixo, dando erro ao gerar arquivo remessa com outra espécie de documento.

ACBrBancoBancoob.pas
Erro encontrado na Definição da Espécie de Documento para gerar arquivo remessa:

Aqui está correto.
================
procedure TACBrBancoob.GerarRegistroTransacao400(ACBrTitulo :TACBrTitulo; aRemessa: TStringList);
      {Pegando Especie}
      if trim(EspecieDoc) = 'DM' then
         aEspecie:= '01'
      else if trim(EspecieDoc) = 'NP' then
         aEspecie:= '02'
      else if trim(EspecieDoc) = 'NS' then
         aEspecie:= '03'
      else if trim(EspecieDoc) = 'CS' then
         aEspecie:= '04'
      else if trim(EspecieDoc) = 'ND' then
         aEspecie:= '11'
      else if trim(EspecieDoc) = 'DS' then
         aEspecie:= '12'
      else
         aEspecie := EspecieDoc;

Aqui esta errado.
================
function TACBrBancoob.GerarRegistroTransacao240(  ACBrTitulo: TACBrTitulo): String;
      {Pegando especie do titulo}
      if EspecieDoc = 'DM' then
        AEspecieTitulo := '02';

está faltando as outras opções conforme mostra no procedimento da transação 400

relacionadas aqui em baixo.

====================================================================

      else if trim(EspecieDoc) = 'DM' then
         aEspecie:= '01'
      else if trim(EspecieDoc) = 'NS' then
         aEspecie:= '03'
      else if trim(EspecieDoc) = 'CS' then
         aEspecie:= '04'
      else if trim(EspecieDoc) = 'ND' then
         aEspecie:= '11'
      else if trim(EspecieDoc) = 'DS' then
         aEspecie:= '12'
      else
         aEspecie := EspecieDoc;

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Ok Celso, segue em anexo o fonte do banco SICOOB já corridigo e as imagens de onde foram feitas as correções. Inclusive a correção fixando o CodigoMora para 1 conforme imagem anexa onde no arquivo remessa estava sainda em branco na posição, sendo que o correto é sair 1 indicando o CodigoMora de taxa diária conforme o padrão do banco.

ACBrBancoBancoob.pas
Erro encontrado na Definição da Espécie de Documento para gerar arquivo remessa:

Aqui está correto.
================
procedure TACBrBancoob.GerarRegistroTransacao400(ACBrTitulo :TACBrTitulo; aRemessa: TStringList);
      {Pegando Especie}
      if trim(EspecieDoc) = 'DM' then
         aEspecie:= '01'
      else if trim(EspecieDoc) = 'NP' then
         aEspecie:= '02'
      else if trim(EspecieDoc) = 'NS' then
         aEspecie:= '03'
      else if trim(EspecieDoc) = 'CS' then
         aEspecie:= '04'
      else if trim(EspecieDoc) = 'ND' then
         aEspecie:= '11'
      else if trim(EspecieDoc) = 'DS' then
         aEspecie:= '12'
      else
         aEspecie := EspecieDoc;

Aqui esta errado.
================
function TACBrBancoob.GerarRegistroTransacao240(  ACBrTitulo: TACBrTitulo): String;
      {Pegando especie do titulo}
      if EspecieDoc = 'DM' then
        AEspecieTitulo := '02';

Aqui corrigimos.
==============
function TACBrBancoob.GerarRegistroTransacao240(  ACBrTitulo: TACBrTitulo): String;
      {Pegando especie do titulo}
      if EspecieDoc = 'DM' then
        AEspecieTitulo := '02';
      else if EspecieDoc = 'DM' then
        AEspecieTitulo := '03' then
      else
        AEspecieTitulo := EspecieDoc;
==============================================================

ATENÇÃO.: O ACBrBancoBancoob.pas em anexo, já está corrigido.

imagem.jpg

imagem2.png

imagem3.png

imagem4.png

ACBrBancoBancoob.pas

Link para o comentário
Compartilhar em outros sites

Bom Dia a todos

Aproveitei a sua unit e acrescentei a correção na definição do Código do Cedente na impressão do Boleto em FastReport.

Segue a alteração e em anexo a unit já alterada. Lembrando que estou utilizando a unit disponibilizada acima pela GR7 Automação.

function TACBrBancoob.MontarCampoCodigoCedente (
   const ACBrTitulo: TACBrTitulo ) : String;
begin
  // Correcao para não duplicar a Agencia na impressão do boleto no FastReport
  // -------------------------------------------------------------------------
  //Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia + '/'+
  //          ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente;
  Result := ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente;
  // -------------------------------------------------------------------------
end;
 

ACBrBancoBancoob.pas

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • 2 meses depois ...

Bom dia!

Um dos clientes que atendo tem a necessidade de gerar o boleto com a cobrança de juros em valor ao dia, por exemplo R$ 1,00 por dia de atraso.

Notei que foi acrescentada esta alteração na revisão 13269,  porém o que não entendi é porque o valor é multiplicado por 100 (anexo trecho de código que faz este cálculo), acredito que o código anterior a esta revisão multiplicava por 100, pois trabalhava somente com o percentual.

Anexo também o trecho do manual do Sicoob referente a estes campos.

Alguém que saiba me explicar o porque desta multiplicação? No arquivo remessa não deveria constar o valor íntegro informado pelo usuário?

 

Obrigada.

duvidaAcbr.JPG.93a23c8c6c55af23201c961bb31af22f.JPG

duvidaAcbr2.JPG

Editado por Fernanda Alves
Adicionar mais informações
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

A multiplicação é para que o valor seja informado corretamente no arquivo, uma vez que não são colocados separadores de decimais no mesmo, recomendo que faça um teste debugando o código caso ainda tenha dúvidas.

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 !!

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Boa tarde.

Estou com dúvida sobre a remessa gerada referente ao banco Sicoob.

A imagem anexada (Layout do banco) mostra que ao informar um juros de 10,40 ao mês (tipo 2 taxa mensal) no  arquivo o resultado deveria ser 000000000001040,  porém  na remessa está ficando  000000000104000.

Visto que está  gerando esse valor na multiplicação do valor do juros por 10000.

O correto não seria multiplicar sempre por 100 independente do tipo de juros (valor/taxa)?

SICOOB.jpg

Link para o comentário
Compartilhar em outros sites

Bom Dia

Alguma definição sobre a function

TACBrBancoob.MontarCampoCodigoCedente (
   const ACBrTitulo: TACBrTitulo ) : String;
Var
  DigitoCedente : string;
begin
  DigitoCedente := ACBrTitulo.ACBrBoleto.Cedente.CodigoCedente;
  Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia + '/'+
            copy(DigitoCedente,1,length(DigitoCedente)-1)+ '-'+
            copy(DigitoCedente,length(DigitoCedente),1);

end;

Algumas meses atrais  fez um post com essa alteração para que código de cliente + DV , estivesse separando por hífen . Para atender a homologação do cliente junto ao banco.

Pois nas ultimas atualização não foi feito nenhuma alteração . Alguma novidades!

 

59120720e9b3e_ModelodeBoleto2.jpg.da0c481c5f9a7ebc0031fce6d12701e6.jpg

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia @Pablo Gimenez, qual é o tópico ref. a este post? Por favor anexe no tópico referente a este assunto, juntamente com a parte do manual do banco que trata desta alteração para que possamos alterar. 

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

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