Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia.

Um de nossos clientes está emitindo boletos do Santander pelo ACBrBoleto, que implementamos em nosso sistema. Ao tentar enviar um arquivo de remessa (240 posições), o banco informou o seguinte:

Segmento P
Posição 118 > contém o valor 1, deve conter o valor 2 (Código do juros de mora)

Segmento R
Posição 066 > contém o valor 1, deve conter o valor 2 (Código da multa: 1- Valor fixo, 2- Percentual)

Em relação à Posição 118 do Segmento P, analisando o código fonte (ACBrBancoSantander), encontrei o seguinte:

    if (ValorMoraJuros > 0) then
    begin
      STipoJuros := '1';  // Valor por dia
//      STipoJuros := '2';  // Taxa Mensal

      if DataMoraJuros <> 0 then
        sDataMoraJuros := FormatDateTime('ddmmyyyy', DataMoraJuros)
      else
        sDataMoraJuros := padR('', 8, '0');
    end
    else
    begin
      sDataMoraJuros := padR('', 8, '0');
      STipoJuros := '3'; // Isento
    end;

      
Como o valor do juros é maior que zero, o campo referente ao tipo de juros recebe 1.
STipoJuros := '1';  // Valor por dia

A linha onde o campo receberia o valor 2 (Taxa Mensal), que é o exigido pelo banco para o caso do meu cliente, está comentada.
Gostaria de saber por qual motivo essa linha foi comentada e se existe algum parâmetro que permite que o usuário defina se essa posição (118) receberá o valor 1 (Valor por dia) ou 2 (Taxa Mensal). Se não existe, seria possível e viável implementar tal parâmetro?

Em relação à Posição 66 do Segmento R, analisando o código fonte (ACBrBancoSantander), encontrei o seguinte:

{SEGMENTO R}
    Result := Result + #13#10 +
              '033'                                                      + // 001 - 003 / Código do Banco na compensação
              '0001'                                                     + // 004 - 007 / Numero do lote remessa
              '3'                                                        + // 008 - 008 / Tipo de registro
              IntToStrZero(ISequencia ,5)                                + // 009 - 013 / Número seqüencial do registro no lote
              'R'                                                        + // 014 - 014 / Cód. Segmento do registro detalhe
              Space(1)                                                   + // 015 - 015 / Reservado (uso Banco)
              sCodMovimento                                              + // 016 - 017 / Código de movimento remessa
              '0'                                                        + // 018 - 018 / Código do desconto 2
              padR('', 8, '0')                                           + // 019 - 026 / Data do desconto 2
              IntToStrZero(0, 15)                                        + // 027 - 041 / Valor/Percentual a ser concedido
              Space(24)                                                  + // 042 – 065 / Reservado (uso Banco)
              '1'                                                        + // 066 - 066 / Código da multa
              padR('', 8, '0')                                           + // 067 - 074 / Data da multa
              IntToStrZero(round(ValorDocumento * PercentualMulta), 15)  + // 075 - 089 / Valor/Percentual a ser aplicado
              Space(10)                                                  + // 090 - 099 / Reservado (uso Banco)
              MontarInstrucoes1                                          + // 100 - 139 / Mensagem 3
                                                                           // 140 - 179 / Mensagem 4
              Space(61)                                                  ; // 180 - 240 / Reservado (uso Banco)
    {SEGMENTO R - FIM}

     
A posição 066 está recebendo o valor fixo 1 (Valor fixo), mas para o caso do meu cliente deveria ser informado o valor 2 (Percentual).
Pergunto também se seria possível e viável criar um parâmetro permitindo que o usuário defina o que será passado para essa posição.

  • Administradores
Postado

Bom dia.

Acredito que você possa realizar alterações para considerar a propriedade CodigoMora. Para tanto observe a implementação no banco Sicredi.

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

  • 1 ano depois...
Postado (editado)

Sobre o SEGMENTO R:

Campo inválido na linha 5. Tipo de registro [Detalhe - Segmento R]. O campo [Valor/Percentual a ser aplicado], posição 75 a 89, deve ser informado. Campo deve ser numérico e maior que zero. Valor atual [000000000000000].

Meu cliente não tem MULTA nem JUROS mas o registro é gerado mesmo assim, o banco rejeitou com a critica acima.

Editado por bilogyn
Errei a condição no texto

Analysis and System Development - Delphi Programmer - Computer Technician - Developing solutions together

 

  • Moderadores
Postado

Boa Tarde

Qual seria a instrução do Banco neste caso? Pois no manual este campo é numérico, e o campo que especifica o código da Multa (1- Valor fixo, 2- Percentual) não especifica nenhum valor para "Isento". E mesmo não tendo Multa e Juros este registro também se refere a Descontos e Mensagens de Instrução...

Consultor SAC ACBr

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

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

Postado
Em 02/08/2017 at 15:00, José M. S. Junior disse:

Boa Tarde

Qual seria a instrução do Banco neste caso? Pois no manual este campo é numérico, e o campo que especifica o código da Multa (1- Valor fixo, 2- Percentual) não especifica nenhum valor para "Isento". E mesmo não tendo Multa e Juros este registro também se refere a Descontos e Mensagens de Instrução...

O banco pede para mandar o Seguimento R zerado, no caso de não haver multa ou desconto.

Postado
Em 07/08/2017 at 16:17, Kamila.Gomes disse:

O banco pede para mandar o Seguimento R zerado, no caso de não haver multa ou desconto.

A resposta do banco sobre isso foi essa:

Se não for cobrar multa as posições 66 a 66 (Código da multa) e 67 a 74 (Data da multa) deve ser preenchidos com zeros.

Para cobrar juros em taxa mensal e não valor ao dia na posição 118 a 118 (Código do juros de mora) deve informar 2.

Postado (editado)

Recebi do gerente do banco SANTANDER a seguinte resposta referente a retirada do registro R. 

"Prezados, Bom dia!

 Neste caso deve ser inserido o código 3 na posição 118 do Segmento P e zerar os campos referente a juros e o Segmento R deve ser retirado do arquivo pois o mesmo só tem a finaliza de de informar multa. "

Devido o comentário dele podemos observar que a retirada do Segmento R esta vinculada ao Segmento P posição 118 estar respondida com 3 (Isento de Juros e multa).

Editado por bilogyn
Completar Raciocínio
  • Obrigado 1

Analysis and System Development - Delphi Programmer - Computer Technician - Developing solutions together

 

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