Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao buscar Arquivo de Retorno - SICREDI


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

Recommended Posts

Bom dia, acredito que encontrei um erro no ACBrBancoSicredi.pas

O erro esta na hora de buscar um arquivo de retorno. No arquivo ACBrBancoSicredi.pas, na linha [639] existe a seguinte verificação:

         

CodMotivo := IfThen(Copy(Linha,MotivoLinha,2) = '00',
                              '00',
                              Copy(Linha,MotivoLinha,2));

E no arquivo de retorno do banco, em uma determinada linha, a partir do primeiro código de retorno esta vindo somente espaços (Ex: 'H5        ').
Nesse caso esta dando erro de:  [''  '' is not a valid integer value].
Alterei a verificação para:

         

 CodMotivo := IfThen(Copy(Linha,MotivoLinha,2) = '  ',
                              '00',
                              Copy(Linha,MotivoLinha,2));

Assim funcionou e acredito ser uma forma mais correta, porque se os códigos forem '00' ele já vai entrar no 'else' e retornar '00'.

 

Estou anexando o arquivo de retorno que recebi do banco.

86537921.TXT

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

Também aconteceu comigo para resolver tive que colocar essa solução.

De acordo com a documentação do Sicredi esses campos deveriam vir 00 se for sem ocorrência mais não é isso mais que está acontecendo;

"319 a 328 010 Motivos da ocorrência
XXXXXXXXXX Cada dois dígitos “XX” correspondem a um motivo. Se “00”, não há motivo de ocorrência; Confira tabela no item 6.3.
329 "

João Paulo F. Bellucci

Analista e Programador

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde pessoal,

Só para compartilhar a informação, acabei de receber do suporte do Sicredi por meio da agência aqui da cidade a informação de que o problema é a nível nacional e que estão trabalhando para corrigir.... pelo que informaram, este problema dos espaços em branco após o H5 deverá voltar a ser preenchido com zeros tão logo finalizem a correção.

Att.

Link para o comentário
Compartilhar em outros sites

Legal, mas por garantia o correto é manter a logica oferecida acima pois a anterior não faz sentido.

CodMotivo := IfThen(Copy(Linha,MotivoLinha,2) = '  ',
                              '00',
                              Copy(Linha,MotivoLinha,2));

  • Curtir 1

João Paulo F. Bellucci

Analista e Programador

Link para o comentário
Compartilhar em outros sites

Pessoal, bom dia!

Da pra resolver assim no arquivo ACBrBancoSicredi.pas na linha 652 onde rodam os demais motivos da mesma linha:

Está assim no arquivo original do ACBR:

if CodMotivo <> '00' then     //Após o 1º motivo os 00 significam que não existe mais motivo
   begin
....

end;

 

Coloque assim com dois caracteres em branco e não tem mais nada pra alterar:

if (CodMotivo <> '00') and (CodMotivo <> '  ') then     //Após o 1º motivo os 00 significam que não existe mais motivo
    begin
....

end;

Onde o CodMotivo <> '  ' ignora caso esses motivos vierem em branco.

Ou aguardamos o Sicredi resolver.

 

Link para o comentário
Compartilhar em outros sites

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