Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

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;

  • Membros Pro
Postado

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

Postado

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

  • 1 mês depois ...
  • 2 meses depois ...
Postado (editado)

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
  • Administradores
Postado

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

  • 2 meses depois ...
Postado

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

Postado

Bom dia!

No meu caso, quando utilizo o percentual eu sempre divido por cem antes para trabalhar com números decimais, por exemplo 10,40 % utilizo 0,1040, sendo assim ao multiplicar por 10000 o meu resultado no arquivo remessa ficar correto: 1040.

Não sei se fui clara, mas espero ter ajudado.

Postado

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

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