Ir para conteúdo
  • Cadastre-se

dev botao

PROBLEMA LEITURA ARQUIVO RETORNO CNAB240 SICOOB


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

Recommended Posts

Boa tarde!

Após a atualização do ACBR, o processamento dos arquivos de retorno do Sicoob deixaram de funcionar.
Verificando o manual e o fonte, vejo que tem uma disparidade na leitura do campo NossoNumero.

No manual a leitura do campos apontando para COLUNA 38 A 58 20 posições, e no fonte do arquivo ACBrBancoBancoob esta 'NossoNumero  := Copy(Linha, 40, 7);' na linha 537 do arquivo.pas.
Anteriormente isso parecia funcionar normalmente.

Meu arquivo retorno esta em anexo.

Agradeço desde já.

3069_02961016_20180724_C240_01.ret

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia, o tamanho do campos nosso número especificado no manual é de 7 posições por isso Lê dessa forma. Lembrando que o dígito verificador não deve ser lido pois é calculado pelo componente.

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

21 minutos atrás, José M. S. Junior disse:

Bom dia, o tamanho do campos nosso número especificado no manual é de 7 posições por isso Lê dessa forma. Lembrando que o dígito verificador não deve ser lido pois é calculado pelo componente.

Olha pelo que me consta isso não confere, porém isso é a minha interpretação, inclusive eu já ajustei o fonte diretamente no ACBr e o mesmo já voltou a funcionar para mim!

Veja o que o arquivo de manual do sicoob diz:

Citar

Nosso Número:
- Se emissão a cargo do Sicoob (vide planilha "Capa" deste arquivo): Brancos
- Se emissão a cargo do Beneficiário (vide planilha "Capa" deste arquivo):
NumTitulo - 10 posições (1 a 10)
Parcela - 02 posições (11 a 12) - "01" se parcela única
Modalidade - 02 posições (13 a 14) - vide planilha "Capa" deste arquivo
Tipo Formulário - 01 posição (15 a 15):
"1" -auto-copiativo
"3"-auto-envelopável
"4"-A4 sem envelopamento
"6"-A4 sem envelopamento 3 vias
Em branco - 05 posições (16 a 20)

 

Link para o comentário
Compartilhar em outros sites

4 horas atrás, José M. S. Junior disse:

Anexe aqui seu fonte alterado... Assim podemos ver o motivo e quando houve alteração e corrigir os fontes...

Em anexo esta os arquivo alterados por mim.
Lembrando que eu tratei o Nosso Numero completo, com as 20 posições, e no fonte do nosso aplicativo aproveitei apenas as 10 primeiras posições, de acordo com o manual.

Também quero ressaltar que o meu conhecimento em boletos é muito baixo, e que o sistema tbm não segue a regra exata de tratativa, mas a alteração foi embasada no manual atual do SICOOB.

Eu agradeço de qualquer forma a atenção!

ACBrBancoBancoob.pas

ACBrBoleto.pas

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • 2 semanas depois ...

Bom dia, gostaria de informar que após essa mudança o meu sistema ao ler os arquivos de retorno da Sicoob não está conseguindo obter todos os dígitos do nosso número. O método que os cliente obtêm o arquivo é pelo cedente, não tem se pode ter alguma relação, ate porque não sei como o amigo acima pega o retorno. Estou mandando a mensagem para saber se o problema está com os arquivos de retorno dos meus clientes ou se mais alguém teve problemas com essa alteração também.

O que pude notar analisando o layout de retorno juntamente com o arquivo uma possível solução para o meu problema seria trocar o a quantidade de dígitos no copy de sete para nove.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
1 hora atrás, Luís disse:

Bom dia, gostaria de informar que após essa mudança o meu sistema ao ler os arquivos de retorno da Sicoob não está conseguindo obter todos os dígitos do nosso número. O método que os cliente obtêm o arquivo é pelo cedente, não tem se pode ter alguma relação, ate porque não sei como o amigo acima pega o retorno. Estou mandando a mensagem para saber se o problema está com os arquivos de retorno dos meus clientes ou se mais alguém teve problemas com essa alteração também.

O que pude notar analisando o layout de retorno juntamente com o arquivo uma possível solução para o meu problema seria trocar o a quantidade de dígitos no copy de sete para nove.

Estou com os fontes atualizados e enfrentando o mesmo problema.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
10 minutos atrás, José M. S. Junior disse:

Boa tarde, qual a especificação do Manual, passado pela agência que você utiliza. Se possível anexe aqui...

O numero do título contem 10 posições com o digito verificador, e 9 sem o digito.

Layouts_para_troca_de_informações 15.12.2017.xls

Editado por dataol
Link para o comentário
Compartilhar em outros sites

O Nosso Número SICOOB CNAB240 segundo o manual é 10 Dígitos: 09 + 01 DV. Posição Inicial 38

Antes funcionava normal por que lia na posição (40~7) ou seja, os 7 dígitos finais do nosso número. embora
iniciasse na posição errada, finalizava na posição correta. então enquanto o nosso número fosse menor que
7 dígitos, tudo ok.

7560001300013T 0603059000000001603770000001750505014...
                                                     Copy(Linha,40,7) = 0001750

O problema surgiu quando, para pegar a posição inicial correta, mudou-se a leitura de 40~7 para 38~7, mas dessa forma o final do nosso número ficou fora.

7560001300013T 0603059000000001603770000001750505014...
                                                Copy(Linha,38,7) = 0000017

Sugestões

  1 )  Não alterar fpTamanhoMaximoNossoNum que está fixada em 7 pois  o manual indica que nos cálculos de dígito
         verificador apenas 07 dígitos do nosso numero são utilizados, da direita para a esquerda, inclusive na  montagem do campo livre são 8 dígitos (7 do nosso número + 1 DV).

  2)  No método "LerRetorno240", linha 537 deixar como estava, lendo na posição 40~7,  pois se continuar em 38~7, cortará dois dígitos do nosso número.

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
8 horas atrás, Denis Denon disse:

O Nosso Número SICOOB CNAB240 segundo o manual é 10 Dígitos: 09 + 01 DV. Posição Inicial 38

Antes funcionava normal por que lia na posição (40~7) ou seja, os 7 dígitos finais do nosso número. embora
iniciasse na posição errada, finalizava na posição correta. então enquanto o nosso número fosse menor que
7 dígitos, tudo ok.

7560001300013T 0603059000000001603770000001750505014...
                                                     Copy(Linha,40,7) = 0001750

O problema surgiu quando, para pegar a posição inicial correta, mudou-se a leitura de 40~7 para 38~7, mas dessa forma o final do nosso número ficou fora.

7560001300013T 0603059000000001603770000001750505014...
                                                Copy(Linha,38,7) = 0000017

Sugestões

  1 )  Não alterar fpTamanhoMaximoNossoNum que está fixada em 7 pois  o manual indica que nos cálculos de dígito
         verificador apenas 07 dígitos do nosso numero são utilizados, da direita para a esquerda, inclusive na  montagem do campo livre são 8 dígitos (7 do nosso número + 1 DV).

  2)  No método "LerRetorno240", linha 537 deixar como estava, lendo na posição 40~7,  pois se continuar em 38~7, cortará dois dígitos do nosso número.

 

Obrigado.

Bom dia Denis.

Concordo com suas colocações, deveria manter como estava.

Obrigado!

Editado por dataol
Link para o comentário
Compartilhar em outros sites

8 horas atrás, Denis Denon disse:

O Nosso Número SICOOB CNAB240 segundo o manual é 10 Dígitos: 09 + 01 DV. Posição Inicial 38

Antes funcionava normal por que lia na posição (40~7) ou seja, os 7 dígitos finais do nosso número. embora
iniciasse na posição errada, finalizava na posição correta. então enquanto o nosso número fosse menor que
7 dígitos, tudo ok.

7560001300013T 0603059000000001603770000001750505014...
                                                     Copy(Linha,40,7) = 0001750

O problema surgiu quando, para pegar a posição inicial correta, mudou-se a leitura de 40~7 para 38~7, mas dessa forma o final do nosso número ficou fora.

7560001300013T 0603059000000001603770000001750505014...
                                                Copy(Linha,38,7) = 0000017

Sugestões

  1 )  Não alterar fpTamanhoMaximoNossoNum que está fixada em 7 pois  o manual indica que nos cálculos de dígito
         verificador apenas 07 dígitos do nosso numero são utilizados, da direita para a esquerda, inclusive na  montagem do campo livre são 8 dígitos (7 do nosso número + 1 DV).

  2)  No método "LerRetorno240", linha 537 deixar como estava, lendo na posição 40~7,  pois se continuar em 38~7, cortará dois dígitos do nosso número.

 

Obrigado.

Denis a sua sugestão seria voltar para como estava antes?

Se for no caso ira atrapalhar ao colega que sugeriu a mudança, por esse motivo sugere utilizar nove dígitos. E vejo uma contradição nesse manual da Siccob como o nosso número pode ter dez dígitos se utilizam apenas oito.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Luís disse:

Denis a sua sugestão seria voltar para como estava antes?

Se for no caso ira atrapalhar ao colega que sugeriu a mudança, por esse motivo sugere utilizar nove dígitos. E vejo uma contradição nesse manual da Siccob como o nosso número pode ter dez dígitos se utilizam apenas oito.

Sim, utilizo há anos para enviar e receber arquivos e nunca tive problemas, exceto agora com as últimas atualizações.

Sobre o manual, a contradição existe sim, veja abaixo como é calculado o DV do nosso número usando apenas 07 dígitos.

image.png.8a260aca9c3f418081d67f28d4d4130a.png

Sobre colocar para ler 9 dígitos no retorno, (38~9) também é possível, mas isto apenas aumentará 02 dígitos à esquerda. Se o

objetivo é trazer o DV do retorno, isto deveria ser (38~10), o que não acho uma boa ideia, já que o normal é vir sem o DV.

 

Editado por Denis Denon
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Esta situação precisará ser analisada com calma, porém realmente não seria interessante incluir o DV na leitura do nosso número.

Att.

  • Curtir 4
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

Juliana, também estou com o mesmo problema (não consigo ler corretamente o nosso numero em arquivos de retorno de 240 posições), analisando o manual, o nosso numero possui 9 posições + 1 digito verificador (total 10 posições), segue em anexo o manual do Sicoob. 

Fiz, a seguinte alteração no arquivo ACBrBancoBancoob.pas :

linha 88:    fpTamanhoMaximoNossoNum := 9;

linha 537 : NossoNumero          := Copy(Linha,38,09);

e os arquivos de retorno voltaram a funcionar.

Manual Sicoob.xls

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde

Devido a quebra de compatibilidade para quem já utilizava esse banco, foi revertido a alteração para a forma como estava antes, na leitura do campo Nosso Número. 

Para eventuais casos, onde não funcione corretamente da forma anterior, favor anexar aqui o arquivo de remessa para análise... Devido a divergência do que consta no manual e como retorna no arquivo será necessário analisar cada caso, para que possíveis alterações não alterem o comportamento para quem já utiliza de forma funcional....

  • Curtir 2
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á 2036 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.