Ir para conteúdo
  • Cadastre-se

dev botao

Correção - Arquivo Retorno SANTANDER - Nosso Número


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

Recommended Posts

Postado (editado)

Bom dia

Estou homologando o boleto junto ao Santander. E percebi que após importar o arquivo retorno a linha digitável ficou diferente do esperado na remessa.

Ao analisa o fonte ACBrBancoSantander.pas verifiquei que a divergência está no nosso número conforme detalhes:

A Remessa:

LInha 700: PadLeft(RightStr(NossoNumero,7),7,'0') + DigitoNossoNumero  +  // 63 a 70

 

O Retorno :

Linha 1034: NossoNumero := Copy(Linha,63,08);

 

Note a diferença, na remessa o nosso número tinha 8 dígitos sendo que os 7 primeiros é o nosso número e o 8º dígito é o Digito Verificador (que foi calculado anteriormente). No Retorno o fonte simplesmente lê os 8 dígitos como sendo o nosso número incorporando o dígito verificador.

Sugiro a seguinte correção no retorno:

Arquivo Fontes\Boleto\ACBrBancoSantander.pas

Linha 1034: NossoNumero := Copy(Linha,63,07);

//DigitoNossoNumero := Copy(Linha,70,01); //por hora comentando pois o digito é calculado sempre que necessário

No meu caso após esta mudança a linha digitável ficou OK 

PS: Fonte trunk2 atualizado neste exato momento.

 

Obrigado

Márcio

ACBrBancoSantander.pas

Editado por Marcio Rossato
Postado (editado)

Boa noite o manual é antigo, de 2009. Porém é o manual que me foi enviado pela atendente do Santander, portanto é o mais atual que eles fornecem.

Independente da versão do manual, outra questão que evidencia a necessidade da correção é que no arquivo remessa envia-se 7 dígitos e no retorno lê-se 8 dígitos, cedo ou tarde este dígito a mais iria gerar problemas.

 

No meu caso, enviei na remessa nosso numero 26, o componente calculou corretamente o dígito 4 (Salvei o PDF ).

Após importar o retorno o nosso número passou a ser 264-0.

 

 

O 4 quer era dígito passou a incorporar a última dezena do nosso número .

Editado por Marcio Rossato
Esclarecer melhor
Postado (editado)

Boa noite o manual é antigo, de 2009. Porém é o manual que me foi enviado pela atendente do Santander, portanto é o mais atual que eles fornecem.

Independente da versão do manual, outra questão que evidencia a necessidade da correção é que no arquivo remessa envia-se 7 dígitos e no retorno lê-se 8 dígitos, cedo ou tarde este dígito a mais iria gerar problemas.

 

Segue Manuais, arquivo remessa e retorno.

Codigo de barras - 012015.pdf

Layout Cobrança 240 - 092009.pdf

Layout Cobrança 400 - 102009.pdf

Nosso Numero Santander.xls

CB151213.REM

COBST_QQKS_02_161216P_MOV.TXT

Editado por Marcio Rossato
REMOVER ASSUNTO DUPLICADO
  • 8 meses depois ...
Postado
Em 20/12/2016 at 10:46, Marcio Rossato disse:

Boa noite o manual é antigo, de 2009. Porém é o manual que me foi enviado pela atendente do Santander, portanto é o mais atual que eles fornecem.

Independente da versão do manual, outra questão que evidencia a necessidade da correção é que no arquivo remessa envia-se 7 dígitos e no retorno lê-se 8 dígitos, cedo ou tarde este dígito a mais iria gerar problemas.

 

Segue Manuais, arquivo remessa e retorno.

Codigo de barras - 012015.pdf

Layout Cobrança 240 - 092009.pdf

Layout Cobrança 400 - 102009.pdf

Nosso Numero Santander.xls

CB151213.REM

COBST_QQKS_02_161216P_MOV.TXT

 

Em 16/12/2016 at 11:21, Marcio Rossato disse:

Bom dia

Estou homologando o boleto junto ao Santander. E percebi que após importar o arquivo retorno a linha digitável ficou diferente do esperado na remessa.

Ao analisa o fonte ACBrBancoSantander.pas verifiquei que a divergência está no nosso número conforme detalhes:

A Remessa:

LInha 700: PadLeft(RightStr(NossoNumero,7),7,'0') + DigitoNossoNumero  +  // 63 a 70

 

O Retorno :

Linha 1034: NossoNumero := Copy(Linha,63,08);

 

Note a diferença, na remessa o nosso número tinha 8 dígitos sendo que os 7 primeiros é o nosso número e o 8º dígito é o Digito Verificador (que foi calculado anteriormente). No Retorno o fonte simplesmente lê os 8 dígitos como sendo o nosso número incorporando o dígito verificador.

Sugiro a seguinte correção no retorno:

Arquivo Fontes\Boleto\ACBrBancoSantander.pas

Linha 1034: NossoNumero := Copy(Linha,63,07);

//DigitoNossoNumero := Copy(Linha,70,01); //por hora comentando pois o digito é calculado sempre que necessário

No meu caso após esta mudança a linha digitável ficou OK 

PS: Fonte trunk2 atualizado neste exato momento.

 

Obrigado

Márcio

ACBrBancoSantander.pas

Estou tendo o mesmo problema com o retorno do santander, uso o acbrmonitor 0.3.08.1 e o arquivo de retorno é lido com 1 caracter a mais em relação à remessa... sabem se já foi corrigido?

Postado
Em 05/09/2017 at 10:09, b2mvga disse:

 

Estou tendo o mesmo problema com o retorno do santander, uso o acbrmonitor 0.3.08.1 e o arquivo de retorno é lido com 1 caracter a mais em relação à remessa... sabem se já foi corrigido?

Boa noite, ainda não foi atualizado, sempre que baixo os fontes preciso corrigir manualmente. se você não quiser mexer no código fonte sugiro que não use o campo nosso número, use o campo seunumero pois ele parece estar correto.

  • Curtir 1
Postado
3 minutos atrás, Marcio Rossato disse:

Boa noite, ainda não foi atualizado, sempre que baixo os fontes preciso corrigir manualmente. se você não quiser mexer no código fonte sugiro que não use o campo nosso número, use o campo seunumero pois ele parece estar correto.

Que coisa hein, e é algo simples da equipe do acbr corrigir pois trata-se de um erro do acbr apenas no banco santander... no meu programa fiz uma validação, quando o clietne usa santander eu pego somente os 12 primeiros caracteres do nossonumero do retorno.ini que o acbr gera. De qualquer forma obrigado, ajudou a solucionar meu problema pois custei achar o erro que na verdade era o acbr que gerava o ini errado!

  • Moderadores
Postado
1 hora atrás, b2mvga disse:

Que coisa hein, e é algo simples da equipe do acbr corrigir pois trata-se de um erro do acbr apenas no banco santander... no meu programa fiz uma validação, quando o clietne usa santander eu pego somente os 12 primeiros caracteres do nossonumero do retorno.ini que o acbr gera. De qualquer forma obrigado, ajudou a solucionar meu problema pois custei achar o erro que na verdade era o acbr que gerava o ini errado!

De tão simples tem todos esses componentes disponíveis !

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

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

Vocês têm certeza que esta alteração está correta? Vou ter que retornar aqui ao jeito antigo, pois eu gravo o dígito junto com o NossoNumero no banco de dados.

Na Remessa são gerados 8 dígitos (7 do RightStr + 1 do DigitoNossoNumero)

Linha 705:
PadLeft(RightStr(NossoNumero,7),7,'0') + DigitoNossoNumero  +  // 63 a 70

Agora, na versão que está no SVN, o Retorno passou a ler apenas 7 dígitos:

Linha 1053:
NossoNumero := Copy(Linha,63,07);

Até os comentários estão corretos: eram 8 dígitos (do 63 ao 70). Tenho impressão que este "conserto" foi equivocado.

Alexsander da Rosa

Rednaxel Informática

http://rednaxel.com

  • 7 meses depois ...
Postado

Boa noite, tive alguns problemas com o arquivo de retorno  do Santander devido o nosso numero. No manual pagina 11 Informa 063 070 9(008) Nosso número e vi que houve uma alteração no ACBrBancoSantander.pas considerando as informações para o arquivo de remessa Pagina 7 Informa 063 070 9(008) Nosso número (nota 3).

A nota 3 realmente fala do  cálculo do dígito de controle porem para remessa, agora vem minha duvida:

O Nosso número do retorno não deveria manter como no manual 063 070 9(008)  ?

porque o mesmo não informa que o ultimo digito deverá ser calculado pois não existe notas para ele.

Agradeço ajuda. 

Layout_CNAB_400_posicoes_Ver20_Out2009.pdf

Postado

Bom dia, eu tenho aqui um manual é mais recente (Março de 2017).

De qualquer forma, este trecho de ambos manuais estão iguais.

Ocorre que o dígito verificador ocupa a última posição do nosso número, portanto o nosso número tem 7 dígitos + 1 digito verificador que são os 8 dígitos do manual.

No retorno é a mais coisa, os primeiros 7 dígitos são o nosso número, e o último o digito verificador.

Quanto a ler o digito do arquivo retorno ou recalcular isto é indiferente, pois independente de ler ou calcular o número deve ser sempre o mesmo.

H7800 Layout CNAB 400 com registro (padrão 353) março 2017 v 2.15.pdf

  • Curtir 1
Postado
Em 11/09/2018 at 07:41, Marcio Rossato disse:

Bom dia, eu tenho aqui um manual é mais recente (Março de 2017).

De qualquer forma, este trecho de ambos manuais estão iguais.

Ocorre que o dígito verificador ocupa a última posição do nosso número, portanto o nosso número tem 7 dígitos + 1 digito verificador que são os 8 dígitos do manual.

No retorno é a mais coisa, os primeiros 7 dígitos são o nosso número, e o último o digito verificador.

Quanto a ler o digito do arquivo retorno ou recalcular isto é indiferente, pois independente de ler ou calcular o número deve ser sempre o mesmo.

H7800 Layout CNAB 400 com registro (padrão 353) março 2017 v 2.15.pdf

 Bom dia, 

 O que não concordo , mas já fiz a correção no meu sistema é criar uma função para calcular o digito sabendo que no retorno já vem com o nosso numero correto. Outro coisa é quando outra pessoa estiver desenvolvendo  usando acbr junto com o manual de retorno  não vai criar o calculo do "digito verificado" porque não existe nota técnica para o campo nosso numero. 

Porem já ajustei o meu código para usar o componentes da ACBR do jeito que foi alterado pois nas atualizações vou acabar perdendo se mudar qualquer coisa localmente.  

Obrigado pela atenção. 

  • Solution
Postado

Eu tenho hoje santander Rodando homologado. Fiz posts anteriores com o Santander e Sicoob, todos homologados e não subiu para o SVN. Agora mesmas pessoas enfrentando as mesmas coisas. Agora conflito!!

Este em anexo está homologado 240 em diversos clientes 100%

Qual melhor forma de corrigir algo e subir. ?

 

ACBrBancoSantander.pas

Postado
5 horas atrás, Alex Pereira Sousa disse:

 Bom dia, 

 O que não concordo , mas já fiz a correção no meu sistema é criar uma função para calcular o digito sabendo que no retorno já vem com o nosso numero correto. Outro coisa é quando outra pessoa estiver desenvolvendo  usando acbr junto com o manual de retorno  não vai criar o calculo do "digito verificado" porque não existe nota técnica para o campo nosso numero. 

Porem já ajustei o meu código para usar o componentes da ACBR do jeito que foi alterado pois nas atualizações vou acabar perdendo se mudar qualquer coisa localmente.  

Obrigado pela atenção. 

Penso que devemos ler ele completo. Quando meu usuário vai procurar ele digita o NOSSO NUMERO completo igual ele lê no boleto. Fora isso iremos ler a informação incompleta e teremos que calcular. Acredito que quem não necessita do DIGITO, pode fazer um copy(x,x) retirando. Melhor ter a informação do que usar formulas para obte-la posterior. É mais simples usar um COPY do que formulas de calcular nosso numero.

Postado (editado)

Boa tarde pessoal, peço desculpas se parecer um pouco rude, mas não vejo aqui uma questão de opinião. Acredito que existe o certo e o errado.

Pode ser que eu e o pessoal do AcBR que aplicou a correção que eu solicitei estejamos enganados quanto a interpretação do manual, acontece .

Gostaria de solicitar se possível que vocês postem aqui 2 arquivos sendo:

1 de Remessa e o outro de Retorno onde constas o mesmo título (da forma que foi a remessa e a forma que veio o retorno).

Mas posso adiantar sem ver estes dois arquivos o seguinte: Acredito que vocês enviam a remessa sem informar o nosso número (pois o nosso número não é obrigatório), mas no arquivo retorno você salvam o nosso número que é preenchido aleatoriamente pelo santander. E foi por isso que você nunca perceberam que o nosso número tem 7 digitos e o ultimo é o DV.

Agora para quem envia o nosso numero da remessa e depois lia no retorno, o número mudava. Por exemplo era enviado na remessa o número 14, e o retorno o numero era 140 (pois incorporava o digito).

Mas para ter certeza, mais uma vez peço que enviem os arquivos de remessa e retorno aqui para sanarmos essa dúvida.

Envia por favor o manual do cnab240 eu só tenho o cnab400

Editado por Marcio Rossato
Postado

Segue layout CNAB 240.
Pelo que notei no 240 o nosso número é com até 13 posições. E verificando a nota 15 , é o calculo do digito, resultando em um nosso número com Digito.!

 

image.png.1caa45fa7c1f630cab154fcdde9bc20d.png

 Verificando no arquivo remessa está indo com o digito..

image.png.a115f79237d6ba2432cde888c1d787bd.png

 

image.png.bd87329f21e5b55d8c96edda9d7e16df.png

CNAB 240.pdf

image.png

Postado

Como eu não trabalho com cnab 240 pra mim fica difícil de testar. Pelo que olhei aqui no código fonte parece que o ler240 tem o mesmo problema que tinha o cnab400. Está lendo os 13 dígitos como sendo o nosso número.

O problema de ler os 13 dígitos, utilizando este exemplo mesmo que você enviou, o nosso número quer é 5265-5 passaria a ser 52565-X "onde x é um número qualquer calculado".

 

O engraçado que parece ser um "erro intencional". pois no oncreate da classe é definido que o tamanho máximo é 12.

fpTamanhoMaximoNossoNum  := 12;

Mas ao ler o retorno é alterado para 13 no começo da função, e no final antes de sair da função lerRetorno é definido novamente como 12.  (Parece ser um WorkAround)

 

Você pode postar um arquivo remessa, um de retorno ?

 

 

lerRetorno.png

Postado (editado)
21 horas atrás, digao_go disse:

Eu tenho hoje santander Rodando homologado. Fiz posts anteriores com o Santander e Sicoob, todos homologados e não subiu para o SVN. Agora mesmas pessoas enfrentando as mesmas coisas. Agora conflito!!

Este em anexo está homologado 240 em diversos clientes 100%

Qual melhor forma de corrigir algo e subir. ?

 

ACBrBancoSantander.pas

Na verdade o seu problema não foi tratado neste tópico, pois este arquivo que você postou já está contemplado a solicitação que eu pedi,

O arquivo mais atual do SVN e este que você postou, já contém a alteração que solicitei no  CNAB400 e ambos estão funcionando aqui para mim.

Seu problema é outro e não foi disparado nesta Issue.

 

Editado por Marcio Rossato
  • Curtir 1
  • 2 semanas depois ...
Postado
Em 13/09/2018 at 14:13, Marcio Rossato disse:

Na verdade o seu problema não foi tratado neste tópico, pois este arquivo que você postou já está contemplado a solicitação que eu pedi,

O arquivo mais atual do SVN e este que você postou, já contém a alteração que solicitei no  CNAB400 e ambos estão funcionando aqui para mim.

Seu problema é outro e não foi disparado nesta Issue.

 

Boa tarde,

Houve uma confusão, realmente foi alterado o CNAB 400, eu utilizo apenas o CNAB 240, e pelo que conferi o CNAB240 o Nosso número se manteve igual, teve algumas correções mas procede com o manual. 

  • Administradores
Postado

Boa tarde.

27 minutos atrás, digao_go disse:

Houve uma confusão, realmente foi alterado o CNAB 400, eu utilizo apenas o CNAB 240, e pelo que conferi o CNAB240 o Nosso número se manteve igual, teve algumas correções mas procede com o manual.

Acredito que o ideal seja a criação de um novo tópico. Este será fechado.

Att.

  • Curtir 1
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á 2260 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.