Ir para conteúdo
  • Cadastre-se

dev botao

Retorno Unicred ES CNAB 400


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

Recommended Posts

  • Membros Pro

Tive dificuldades no tratamento de rejeições no arquivo de retorno da Unicred ES CNAB 400 uma vez que a rotina CodMotivoRejeicaoToDescricao() não trata as rejeições e sim "Códigos de Tipo de Instrução Origem" o que me parece um tanto incoerente com o propósito da rotina.

As posições lidas do arquivo para este fim também não estavam corretas com base no manual "GR - COB136 - Layout CNAB 400 - Retorno.pdf".

Não sei se fiz bem criar uma nova rotina mas deixo a cargo dos revisores avaliar a melhor forma de implementar antes de subir para o SVN. Em anexo unit alterada.

Desde já agradeço.

ACBrBancoUnicredES.pas

Link para o comentário
Compartilhar em outros sites

  • Administradores

Obrigado pela contribuição, em breve será validada para possível inclusão ao svn

TK-3030

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 ...
  • Consultores
Em 31/08/2022 at 08:23, José Luís disse:

Tive dificuldades no tratamento de rejeições no arquivo de retorno da Unicred ES CNAB 400 uma vez que a rotina CodMotivoRejeicaoToDescricao() não trata as rejeições e sim "Códigos de Tipo de Instrução Origem" o que me parece um tanto incoerente com o propósito da rotina.

As posições lidas do arquivo para este fim também não estavam corretas com base no manual "GR - COB136 - Layout CNAB 400 - Retorno.pdf".

Não sei se fiz bem criar uma nova rotina mas deixo a cargo dos revisores avaliar a melhor forma de implementar antes de subir para o SVN. Em anexo unit alterada.

Desde já agradeço.

ACBrBancoUnicredES.pas 57 kB · 0 downloads

Bom dia, verifica com essa unit se você consegue obter os resultados da rejeição

ACBrBancoUnicredES.pas

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores
  • Solution

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde Victor,
A unit que vc havia disponibilizado e que testei conforme meu post anterior estava correta.
Nesta versão subida hoje para o SVN a linha 286
>> DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo,StrToIntDef(codInstrucao,0)));
Precisa ser substituída pela linha:
>> DescricaoMotivoRejeicaoComando.Add(CodComplementoMovimento(codInstrucao));
... pois a função "CodMotivoRejeicaoToDescricao" apesar do nome sugestivo não devolve a descrição correta
veja a seguir o trecho extraído do manual da Unicred ref. os códigos de "tipo de instrução" que são
os mesmos avaliados por esta função e que não tem a ver com motivos de rejeição:
Posições 327 a 328
Códigos de Tipo de Instrução Origem
00 - Sem Tipo de Instrução Origem a informar – usado para Código de Movimento 01; 06; 07; 09; 13 e 14
01 - Remessa
02 - Pedido de Baixa
04 - Concessão de Abatimento
05 - Cancelamento de Abatimento
06 - Alteração de vencimento
09 – Protestar
10 - Baixa por Decurso de Prazo – Solicitação CIP
11 - Sustar Protesto e Manter em Carteira
22 - Alteracao do Seu Numero
23 - Alteracao de dados do Pagador
25 - Sustar Protesto e Baixar Título
26 – Protesto automático
40 - Alteracao de Status Desconto

Importante observar também que a linha 283:
          codInstrucao := copy(Linha,319,8);
está correta conforme o manual posições 319 a 326 "Códigos de Complemento do Movimento".

Grato.

Link para o comentário
Compartilhar em outros sites

  • Consultores
2 horas atrás, José Luís disse:

Boa tarde Victor,
A unit que vc havia disponibilizado e que testei conforme meu post anterior estava correta.
Nesta versão subida hoje para o SVN a linha 286
>> DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo,StrToIntDef(codInstrucao,0)));
Precisa ser substituída pela linha:
>> DescricaoMotivoRejeicaoComando.Add(CodComplementoMovimento(codInstrucao));
... pois a função "CodMotivoRejeicaoToDescricao" apesar do nome sugestivo não devolve a descrição correta
veja a seguir o trecho extraído do manual da Unicred ref. os códigos de "tipo de instrução" que são
os mesmos avaliados por esta função e que não tem a ver com motivos de rejeição:
Posições 327 a 328
Códigos de Tipo de Instrução Origem
00 - Sem Tipo de Instrução Origem a informar – usado para Código de Movimento 01; 06; 07; 09; 13 e 14
01 - Remessa
02 - Pedido de Baixa
04 - Concessão de Abatimento
05 - Cancelamento de Abatimento
06 - Alteração de vencimento
09 – Protestar
10 - Baixa por Decurso de Prazo – Solicitação CIP
11 - Sustar Protesto e Manter em Carteira
22 - Alteracao do Seu Numero
23 - Alteracao de dados do Pagador
25 - Sustar Protesto e Baixar Título
26 – Protesto automático
40 - Alteracao de Status Desconto

Importante observar também que a linha 283:
          codInstrucao := copy(Linha,319,8);
está correta conforme o manual posições 319 a 326 "Códigos de Complemento do Movimento".

Grato.

Boa noite,

a unit que foi enviada para o SVN é a mesma que está em anexo no dia 14/09/2022

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia,
Perdão, quando afirmei que a unit de 14/09 estaria correta me passei e confundi com a minha própria versão a qual já havia alterado.

Peço a gentileza de observar minhas colocações em relação à função "CodMotivoRejeicaoToDescricao()" a qual não retorna descrição de rejeições.

Anexo a unit com a alteração mencionada na linha 286 a qual solicito subir para o SVN.

Grato.

ACBrBancoUnicredES.pas

Link para o comentário
Compartilhar em outros sites

  • Consultores
Em 24/09/2022 at 08:22, José Luís disse:

Bom dia,
Perdão, quando afirmei que a unit de 14/09 estaria correta me passei e confundi com a minha própria versão a qual já havia alterado.

Peço a gentileza de observar minhas colocações em relação à função "CodMotivoRejeicaoToDescricao()" a qual não retorna descrição de rejeições.

Anexo a unit com a alteração mencionada na linha 286 a qual solicito subir para o SVN.

Grato.

ACBrBancoUnicredES.pas 57 kB · 0 downloads

Boa tarde

a sua proposta é a mesma que está atualmente no svn, atualize por favor

image.png

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde,
Perfeito, atualizei e fechou.... desculpe as confusões.
Só mais um detalhe, o pessoal da Unicred aqui da minha região hoje pela manhã informou que estão alterando o sistema deles e o validador só aceita a partir de hoje como nome do banco no cabeçalho do arquivo a expressão "UNICRED" e não mais "UNICRED DO BRASIL" e em razão disso precisei modificar a linha 84 no OnCreate de
   fpNome                     := 'UNICRED DO BRASIL';
para 
   fpNome                     := 'UNICRED';
Se puder subir mais esta alteração agradeço.
 

Link para o comentário
Compartilhar em outros sites

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