Ir para conteúdo
  • Cadastre-se

dev botao

Arquivo de Retorno Unicred 136


Giovane L
Ver Solução Respondido por José M. S. Junior,
  • Este tópico foi criado há 1303 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia, estou me deparando com um problema ao importar o arquivo de retorno do banco unicred (136), estou utilizando as configurações da classe UnicredES pois é a única configurada para este código.
Ao tentar importar o arquivo de retorno,  o ACBr pega o NossoNumero a partir da posição 71, porém segundo o manual que me foi passado pelo banco deveria ser a partir da posição 46.
Em anexo o arquivo de retorno e o manual.

2020_Abril_CNAB400_UNICRED_TODAS_0001975382_0515_16042020_04.RET GR - COB136 - Layout CNAB 400 - Retorno 03DEZ2019.pdf

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • 2 semanas depois ...
  • Membros Pro

Bom dia,

Também estou tendo problemas na leitura do retorno da Unicred (136) pois a rotina LerRetorno400 está na unit ACBrBoleto.pas e algumas posições como da agência e conta não fecham.

Devido às diferenças de layout a leitura do retorno não deveria estar na unit ACBrBancoUnicredES.pas ???

Como estão lidando com este problema?

A princípio os manuais que me foram passados pelo banco parecem ser os mesmos que o Giovane L postou no tópico acima.

GR - COB136 - Layout CNAB 400 - Remessa.docx GR - COB136 - Layout CNAB 400 - Retorno.docx

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Vc está tendo problemas após baixar os fontes atualizados pelo post do Junior?

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores
Em 16/05/2020 at 10:52, José Luís disse:

Devido às diferenças de layout a leitura do retorno não deveria estar na unit ACBrBancoUnicredES.pas ???

Bom dia José, note os fontes atualizados estão passando por uma refatorações, muitos métodos em comum entre bancos estão sendo unificados, centralizando na unit ACBrBoleto, as particularidades de cada banco estão sendo adicionadas em funções separadas nas quais podem ser parametrizadas conforme a exigencia  cada banco. Note que no problema citado neste tópico foi resolvido dessa forma... 

Está tendo outras divergências? Se sim por favor poste quais as posições no arquivo está com problema.

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

  • Membros Pro

Bom dia Júnior,

Pelo que apurei, a rotina LerRetorno400 parece estar pegando da primeira linha detalhe os três primeiros campos abaixo sendo que deveriam ser do header [0], mas mesmo assim tem divergência de posicionamento

 rAgencia := trim(Copy(ARetorno[1], 26, ACBrBanco.TamanhoAgencia));  // posição cfe. manual 27 tamanho  4
  rConta   := trim(Copy(ARetorno[1], 30, DefineTamanhoContaRemessa)); // posição cfe. manual 32 tamanho  8

  rDigitoConta := Copy(ARetorno[1], 30 + DefineTamanhoContaRemessa ,1);  // posição cfe. manual 40 tamanho 1

  ACBrBanco.ACBrBoleto.NumeroArquivo := StrToIntDef(Copy(ARetorno[0],109,5),0); // posição cfe. manual 101 tamanho 7

O tamanho da agência é inicializado de forma fixa no OnCreate com 10 e no manual está 8 >>   fpTamanhoConta           := 10;

Acho que alguma coisa não estou conseguindo captar, será que não estou parametrizando algo corretamente ou a versão atual deste refactory não está liberado para uso em produção?

Grato

 

 

Link para o comentário
Compartilhar em outros sites

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

Poderia anexar um arquivo de retorno válido para homologação?

Segue arquivo enviado pelo pessoal do próprio Unicred. Apenas alterei nele o nome da empresa para EMPRESA TESTE LTDA, o número da conta para 999999 e o CNPJ para 99999999999999.

 

CNAB400_UNICRED_TODAS_0000999999_0051_13052020_02.RET

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Moderadores

Boa tarde

Analisando o código para realizar as alterações, notei que o manual que está utilizando para o Retorno CNAB400 não é o mesmo utilizado na implementação dessa classe. Diversos campos utilizam posições diferentes... O layout atual se baseia no modelo padrão CNAB400 que inclusive é utilizado por outros Bancos.

Se a diferença for apenas no retorno CNAB00 de fato, creio que será necessário implementar esse layout utilizando a própria classe UnicredES, mas seria interessante validar com o banco o motivo de existir dois layouts para banco 136 e qual a diferenciação para se utilizar um ou outro, pois aparentemente quem realizou a contribuição dessa classe homologou dessa forma.

Segue o manual em que esse classe está se baseando:

MANUAL UNICRED CNAB 240 E 400.zip

 

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

  • Membros Pro

Bom dia José,

Para agilizar o meu lado implementei a leitura do retorno na Classe UnicredES, mas, para tentar esclarecer esta confusão de leiautes entrei em contato agora a pouco com o pessoal da Unicred daqui da região, os quais me encaminharam o leiaute para homologação,  e então me solicitaram que enviasse esse que vc. disponibilizou como sendo o que está implementado e ficaram de verificar e dar retorno. Solicitei inclusive que confirmem se o leiaute que me passaram é para ser o novo padrão ou não, inclusive, pelo que vi em posts mais antigos este leiaute que me passaram a princípio bate com o que o Alan Petry disse já ter homologado, provavelmente ele tenha feito os ajustes necessários.

Só gostaria de observar que este leiaute que vc. disponibilizou parece não bater totalmente com o que está implementado na classe TACBrBancoClass na rotina DefinePosicaoNossoNumeroRetorno400() a qual retorna a posição do nosso número como sendo 71 e no seu leiaute(pág. 63) vem na 127... algo não fecha.

Tão logo tenha retorno da Unicred, posto aqui.

Grato

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

  • Membros Pro

Segue retorno da Unicred quanto à padronização de leiautes:

 

image.png.bcea3cd21c10e5c9ebabeea53ac73aaa.png

Estou anexando novamente os leiautes recebidos para homologação que conforme retorno recebido será o novo padrão.

Lembrando que pela homologação que fiz, a remessa está ok pela classe UnicredES, as diferenças estão no retorno que para quebrar o galho no momento implementei na unit também anexa mas que precisará de um tratamento mais adequado principalmente em relação aos códigos de de complemento do movimento.

GR - COB136 - Composição da Ficha de Compensação.pdf GR - COB136 - Layout CNAB 400 - Remessa.docx GR - COB136 - Layout CNAB 400 - Retorno.docx ACBrBancoUnicredES.pas

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

  • 4 semanas depois ...
  • Membros Pro

Bom dia,

Realizei testes com esta última versão e verifiquei que  o tamanho do nosso número está sendo definido com 10 a partir da posição 46, só que no manual o tamanho é 17 e portanto, na leitura do nosso número está lendo as primeiras 10 posições zeradas, então, alterei a variável fpTamanhoMaximoNossoNum para 17 para corrigir.

image.thumb.png.68fbd47c93e94c35cd0635b3a17b299d.png

Também adicionei a leitura do campo "valor da tarifa"

        ValorDespesaCobranca := StrToFloatDef(Copy(Linha,182,7),0)/100;

e também do "sequencial do retorno"

  ACBrBanco.ACBrBoleto.NumeroArquivo := StrToIntDef(Copy(ARetorno[0],101,7),0);


Em anexo a unit alterada para atualização no SVN.

Grato

ACBrBancoUnicredES.pas

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde, vamos verificar, creio que precise adequar apenas para o retorno, pois na remessa é utilizado 10 posições, alterando na propriedade "fpTamanhoMaximoNossoNum" pode ocorrer erro em outras funções que utilizam esse parâmetro. 

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

  • Administradores

Boa tarde.

Se seus fontes estão atualizados e permanece igual se deve ao fato de que ainda não foi alterado.

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde! Obrigado pela resposta. Realmente, essa foi uma idéia que me escapou, que se os fontes estivessem atualizados e continuou igual, é porque ainda não foi alterado. Mas a minha pergunta foi relacionada ao post  do José, dizendo que isso iria ser verificado. Mas eu me expressei mal. O que eu gostaria de saber é se já se tem idéia do que pode ser. Talvez até pudesse ajudar. Não fiz isso ainda, porque o José já pode estar mexendo e poderia ser trabalho em dobro ou sobrescrever algo que já pode estar arrumado e simplesmente ainda não atualizado para baixar.

Então, me coloco à disposição para ajudar no que puder e parabéns pelo trabalho que fazem!

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Entendi, de fato as vezes pode ocorrer de ter duas pessoas atuando na mesma situação, de qualquer forma, de fato está no pacote de trabalho desta semana.

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

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Membros Pro

Bom dia!

Importando um arquivo retorno hoje, me deparei com a situação do código de rejeição ser "C5", então da erro, pois hoje está esperando um retorno do tipo integer.

Não sei se alguém já se deparou com este problema, senão posso dar uma olhada no fonte esta semana para corrigir esta situação.

Obrigado.

Link para o comentário
Compartilhar em outros sites

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