Ir para conteúdo
  • Cadastre-se

dev botao

Erro Ao Enviar Remessa Santander 033


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

Recommended Posts

Postado

bom dia!

 

estou com problemas para aprovação do arquivo de remessa do Santander 033

está em anexo 3 arquivos

 

* arquivo de remessa gerado pelo Acbr  (240 posições)

* retorno do arquivo de remessa enviado pelo Acbr

* arquivo de remessa gerado pelo SuperCash (sistema do banco)

 

existem algumas diferenças do arquivo gerado pelo Acbr perante ao SuperCash.

 

antes de eu analisar o layout do banco e tentar descobrir o problema, alguem tem uma idéia pra me dizer, a grosso modo, o que seja estas inconsistências?

 

 

 

COBST_Z6V8_01_060115P_CON.TXT

CB0601150001 superCash.rar

cb060102 Acbr.rar

  • Administradores
Postado

Boa tarde.

 

Qual foi o erro apontado pelo banco?

 

 

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

Postado

olá Juliana!

 

acabei descobrindo o erro do meu arquivo.

está faltando informar "código de transmissão", por isso a inconsistência no arquivo.

 

Obs.  deixo aqui um recado para todos que trabalham com boleto.

O Santander é o mais complicado e burocrático que vi até agora.

Não liberam 2 carteiras para mesma conta, sem contar a burocracia que é para ativar o layOut.

  • 2 semanas depois ...
Postado

Olá pessoal, estamos tentando homologar o arquivo de remessa para o Banco Santander com o Layout de 240.

Após ser analisado o arquivo que geramos através do AcBrBoleto, recebemos via e-mail algumas correções para serem efetuadas, dentre estas, algumas correções não puderam ser feitas, porque no código do AcBr, onde gera o arquivo de remessa, estão sendo passadas estaticamente. Vou listar estas correções abaixo:


REGISTRO DETALHE  - SEGMENTO P      REMESSA

059 - 059

Forma de Cadastramento

N

1

 

 

6

. . . FORMA DE CADASTRAMENTO INCORRETA. ALTERAR PARA 1

 

Neste caso, o AcBr passa por padrão o caracter '2'. Portanto, para corrigir eu teria que de alguma forma informar o carcter '1'. No comentário desta linha pode-se ler: "Forma de Cadastramento = 1 Registrada / 2 Sem Registro". Teria alguma forma de passarmos essa informação de forma que não fique estática?

 

 

REGISTRO DETALHE  - SEGMENTO P      REMESSA

226 - 227

Número de dias para Baixa/Devolução

N

2

 

 

 

. . SE CAMPO 224 INFORMAR BAIXA/DEVOLUÇÃO, ESTE CAMPO DEVE INFORMAR QUANTIDADE DE DIAS, LINHA 3

 

Neste caso, notei que o caracter 224 ao qual a observação se refere é alimentado pela propriedade Instrucao2 do TAcBrTitulo.

Fiz uma depuração para ver quando ela é alimentada e conforme os dados do meu cliente ela entre nesta condição <if (DataProtesto <> 0) and (DataProtesto > Vencimento) then> onde recebe o valor 1 = Protestar Dias Corridos. Ou seja, pelo visto eu teria que informar a quantidade de dias nos caracteres 226 e 227, porém, estes caracteres estão sendo passados de forma estática com o valor '00'

Não sei se resolveria, mas fiz uma alteração informando a variável sDiasProtesto no lugar dos dois zeros.

 

 

REGISTRO DETALHE  - SEGMENTO R      REMESSA

075 - 089

Valor/Percentual a ser aplicado

N

15

2

decimais sem separador

18

No boleto em PDF informa multa e na remessa não. Informações entre remessa e boletos em PDF devem ser iguais.

 

Neste caso, o boleto possui a informação de multa, mas na linha onde deveria ser informado o percentual da multa está sendo passado estaticamente uma string com 15 zeros. Fiz também uma alteração nesta linha passando da seguinte forma: IntToStrZero(round(PercentualMulta * 100), 15).

 

 

REGISTRO DETALHE  - SEGMENTO R      REMESSA

180 - 240

Reservado

A

61

 

Brancos

 

LINHAS DEVEM CONTER 240 POSIÇÕES, LINHA 5. 

 

Neste caso, notei que o segmento estava sendo escrito com 40 caracteres a mais, ou seja, somando o total de 280.

Ao fazer a depuração notei que estes caracteres a mais estavam sendo gerados dentro da função interna MontarInstrucoes1.

Nesta função primeiro testa se o AcBrTitulo não possui nenhuma mensagem, sendo assim, retorna uma string com 80 espaços em branco. Num segundo caso verifica se tem uma ou mais mensagens, onde adiciona ao Result  uma string de 40 posicoes com a mensagem[0] mais espaços para completar as posições [no meu caso entra nesta condição]. Numa terceira condição verifica se o ACBrTitulo possui 2 ou mais mensagens, o que não é o meu caso. Mas essa última condição tem um ELSE, que atribui ao Result o seguinte trecho <Result := Result + padL('', 80, ' '); // 2 registros>.

Ou seja, como no meu caso já havia adicionado uma mensagem de 40 posições, ao entrar na segunda mensagem, somou mais 80 posições.
Eu fiz uma correção dentro deste Else, não sei se ajudaria, mas no meu teste resolveu. O Segmento R foi gerado com 240 posições. Segue abaixo a correção sugerida:

if Mensagem.Count >= 2 then
      begin
        Result := Result +
                  Copy(padL(Mensagem[1], 40, ' '), 1, 40)
      end
      else
      begin
        if Length(Result) > 0 then
          Result := Result + padL('', 40, ' ')  // 1 registro
        else
          Result := Result + padL('', 80, ' '); // 2 registros
        Exit;
      end;
 
Espero que possam me ajudar com estes problemas. Preciso mandar um novo arquivo de remessa para ser homologado. 
Abraços.
 
Postado

Olá pessoal. Eu gerei uma remessa com as alterações que citei no post anterior e mandei para a análise do suporte Santander, dessa vez só me retornou um erro, segue abaixo o mesmo:

 

REGISTRO DETALHE  - SEGMENTO R      REMESSAREGISTRO DETALHE  - SEGMENTO R      REMESSA

066 - 066

Código da multa

N

1

 

1- Valor fixo, 2- Percentual

 

Se o valor da multa foi expresso em percentual no arquivo de remessa deve informar aqui o código 2 (Percentual).

 

Código 1 é para valor de multa pelo atraso e no caso e fica divergente ao informado no boleto em PDF.

 

No post anterior eu fiz uma alteração da seguinte forma: "IntToStrZero(round(PercentualMulta * 100), 15)". Este erro que o suporte retornou foi porque eu passei o valor percentual da multa mas o caracter '1' na posição 66 indica que o valor da multa seria passado em R$, para passar o percentual eu deveria informar o caracter '2'. Apenas converti o valor percentual em R$. Segue abaixo a alteração realizada:
 

IntToStrZero(round(ValorDocumento * PercentualMulta), 15)

 

Vou anexar o arquivo ACBrBancoSantander.pas para vocês testarem melhor estas alterações. Lembrando que algumas informações ainda estão estáticas. 

 

 

 

Postado (editado)

Olá pessoal, bom dia. 

 

Sobre a remessa do Banco Santander no layout 240, eu gerei uma remessa com as alteações que citei nos dois posts anteriores, o suporte do banco me deu um retorno dizendo que o arquivo foi homologado com sucesso.  

 

Se possível, analisem o arquivo que anexei no post #5 deste tópico e adicionem as alterações ao repositório. 

Com relação às informações que são passadas de maneira estática, eu as alterei de acordo com as necessidades do meu cliente. O problema é que poderemos ter outros clientes com necessidades diferentes. Se for possível dinamizar essas informações iria ser muito útil.

 

Abraços.

Editado por kurtslucas
  • 2 semanas depois ...
Postado

Olá pessoal.

 

Não quero parecer inconveniente, mas eu queria saber se alguém pode analisar as alterações que eu fiz no arquivo ACBrBancoSantander.pas para que o arquivo de remessa fosse homologado pelo Banco Santander.

 

Vale lembar que as alterações são referentes ao layout 240 da remessa do Banco Santander.

 

O anexo do arquivo ".pas" eu postei no 5º post deste tópico, contudo vou anexar novamente para facilitar o acesso ao mesmo.

 

Agradeceria muito se essas alterações, depois de analisadas, fossem atualizadas no SVN.

 

Abraços.

 

ACBrBancoSantander.pas

  • Administradores
Postado

Bom dia.

 

No segmento  P  a posição 59 que diz qual a forma de registro foi alterada de "2" para "1", neste caso os usuários que utilizam a implementação atual passarão a ter problemas. O correto é identificar se existe outra informação que nos de base para calcular este campo, como por exemplo carteiras que somente são utilizadas para cobrança registrada, a Modalidade de Cobrança..etc

 

Ainda no segmento P a informação sDiasProtesto foi colocada no campo 226-227 referente a dias para baixa. É permitido informar os 2 campos, considerando que se o título será protestado logo não será baixado automaticamente?

 

 

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

Postado

Olá Juliana, boa tarde e obrigado pelo retorno.

 

Com relação à posição 59 do segmento P, talvez possa ser criado uma variável para ser controlada conforme o valor da variável sTipoCobranca. Esta última, é alimentada num case na linha 345 no procedimento GerarRegistroTransacao240. No caso do meu cliente o ACBrBoleto.Cedente.CaracTitulo é tcVinculada, ou seja, a variável sTipoCobranca receberá o valor '5' {Cobrança Simples (Rápida com Registro)}. 

 

Com relação à informação passada nas posições 226-227 do segmento P, quando eu fiz a depuração, notei que a variável Instrucao2, que alimenta a posição 224 deste segmento {224 / Código para Baixa/Devolução}, estava vazia quando entrava no if que eu mencionei, e com isso era atribuído o valor '1'. Segundo o suporte do banco, seria necessário informar a quantidade de dias para baixa/devolução, pois estava sendo informado o valor '1' na posição 224. Como a quantidade de dias estava estática, eu pensei em adicionar a informação de sDiasProtesto, mas confesso que não foi bem pensado, mesmo tendo sido homologado pelo banco. Nosso sistema não está alimentando a propriedade Instrucao2, provavelmente seja este o motivo pelo qual o suporte pediu o número de dias. Se alimentarmos com o valor '2', essa alteração não seria solicitada.

 

Contudo, ainda sim vou solicitar maiores detalhes ao suporte do banco Santander com relação à essas duas informações, para que possam ser feitas verificações para processar melhor as informações.

 

Obrigado.

  • Administradores
Postado

Bom dia.

 

Com relação ao tipo de registro, existe uma forma de saber quando trata-se de cobrança registrada baseado na carteira?

 

 

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

Postado (editado)

Bom dia pessoal.

 

Juliana, ainda não tive respostas do suporte do banco com relação à sua pergunta. Porém, observando a solução proposta pelo Jéter, creio que atenda o dinamismo necessário para essa situação sem que atrapalhe ninguém.

Editado por kurtslucas
  • Administradores
Postado

Boa tarde.

 

Irei analisar a alteração proposta pelo Jeter.

 

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

  • Administradores
Postado

Boa tarde.

 

As alterações do Jeter estão disponíveis no svn. 

 

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

Postado (editado)

Boa tarde.

 

Fiz a atualização dos fontes do AcBr. As alterações com relação ao tipo de carteira estão funcionando corretamente, fiz alguns testes aqui. Porém, ainda tem duas alterações que eu tive que fazer no processo de homologação do arquivo de remessa que não estão no SVN. Vocês podem dar uma olhada nelas?

 

A primeira eu fiz na função local MontarInstrucoes1.

Antes, com os dados do meu cliente, me retornava uma string com 120 caracteres, o que acabava ultrapassando os 240 do layout.

Com a alteração que fiz resolveu essa situação. Essa alteração está na linha 255 do arquivo anexo atualizado.

 

A segunda alteração, é referente ao "Valor/Percentual a ser aplicado".

Atualmente essa informação está sendo passada de maneira estática com uma sequência de 15 zeros. 

Fiz uma alteração pegando o valor do documento multiplicado pelo percentual de multa. Obs. Já está sendo considerado os dois caracteres decimais.

Essa alteração encontra-se na linha 575 do arquivo anexo.

 

ACBrBancoSantander.pas

 

Atenciosamente.

Editado por kurtslucas
  • Administradores
Postado

Bom dia.

 

Correções disponíveis no svn.

 

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

Postado

Bom dia Pessoal!

 

Estou homologando os boletos para Santander também, e no meio entre trocas de arquivos com o banco, percebi um erro no fonte também.

Segue o erro corrigido abaixo.

 

Linha 430 - unit ACBrBancoSantander;

 

    {Instruções}
    if (DataProtesto <> 0) and
       (DataProtesto > Vencimento) then
    begin
      //if (Trim(Instrucao2) = '') then *não é instrução 2 e sim instrução 1* 
        //Instrucao2 := '1' // Protestar Dias Corridos*não é instrução 2 e sim instrução 1* 
      if (Trim(Instrucao1) = '') then
        Instrucao1 := '1' // Protestar Dias Corridos
      else
      begin
        if not MatchText(Instrucao2, ['0', '1', '2', '3', '9']) then
          raise Exception.Create('Código de protesto informado incorretamente!');
      end;
      // Calcular os dias para protesto
      sDiasProtesto := padR(IntToStr(Trunc(DataProtesto) - Trunc(Vencimento)), 2, '0');
    end
 
Att.
  • 4 semanas depois ...
  • Membros Pro
Postado

Pessoal,

 

Boa tarde. Bom, não foi eu quem abriu o post, mas como já homologuei, segue arquivo alterado tá ok. Se houver interesse , basta efetuar as modificações no repositório.

Um detalhe que poderão perguntar é sobre o código de transmissão. Precisei mudar porque tenho clientes com: Agência, Conta Movimento e Conta Cobrança Velhas e clientes com Agência Velha, Conta Movimento Velha e Conta Cobrança Nova. O detalhe é que na primeira variação o complemento da transmissão deve vir com brancos e o segundo deve respeitar as regras do layout deles 'I' fixo mais último dígito da conta e o próprio dv da conta. Por isso criei um campo Complemento de Transmissão pra isso.

 

Há também mudanças no layout, incluí um modelo lReciboTopo, está no post  como existe esta e outras mudanças resolvi postar tudo que fiz até agora no Santander e também na Caixa. Inclui as mudanças do 

qqqoq.

 

Segue anexo todas as mudanças. (Banco Caixa, homologado e Banco Santander Homologado).

 

Até mais,

 

 

 

 

 

ACBrBoletoAlt.zip

ACBrBoletoAlt.zip

-- 

Alexandre de Oliveira

Diretor de T.I.

xx16 3811 0155

www.consultatec.com.br - [email protected]

image.png.744a897bbf36127e428c6e687ef05731.png

 

  • Administradores
  • Solution
Postado

Boa noite Alexandre.

 

A maioria das informações postadas aqui também consta no tópico  por favor evite postar em mais de um lugar.

 

Além das alterações citadas aqui, existem outras que não foram justificadas na geração do arquivo remessa Santander.

As alterações referentes a Caixa foram adicionadas ao svn.

Com relação ao novo layout, ele é identico ao que já existe (exceto pela ficha do cliente).

 

Para novos comentários utilizar o tópico referenciado neste post.

 

 

 

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

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

The popup will be closed in 10 segundos...