Ir para conteúdo
  • Cadastre-se

Andréa Ascont Sistemas

Membros
  • Total de ítens

    5
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Andréa Ascont Sistemas's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Conversation Starter
  • One Year In
  • Week One Done
  • One Month Later

Recent Badges

0

Reputação

  1. Não tem problema ser implementado de outra forma. Para nossa aplicação não faz muita diferença, pois não salvamos todos os motivos, só precisamos que o erro não ocorra para podermos dar continuidade na leitura do arquivo.
  2. Não pode ser "AND". Como o motivo é "P4", verifico primeiro se não é número, se não é número, como usei "OR", ele já entra no if e nem verifica a segunda instrução (codmotivo <> 0) Se ele verificar a segunda instrução o erro ocorre. Ele precisa entrar no if se o código do motivo não for número ou se for diferente de 0 (caso seja numérico), por isso usei desta forma: Se "Não for número" ou se for "diferente de 0". if (not(VarIsNumeric(CodMotivo)) or (CodMotivo <> 0)) then
  3. O Manual de Procedimentos Operacionais para Troca de Arquivos (Bradesco) trata dessa informação na Página 41 svn: ..\tools\Bancos\237-Bradesco\CNAB400_Cobranca_2022_VER003.pdf Para nossa aplicação, se verificar se o código do motivo é um número já resolve o problema. if (not(VarIsNumeric(CodMotivo)) or (CodMotivo <> 0)) then ACBrBoleto.pas
  4. Utilizando o Demo da ACBR, alterei apenas uma propriedade, as outras ficaram com as configurações padrões. Configurei os dados do cliente, e alterei a propriedade "Ler Cedente do Arq. Retorno" para Sim:
  5. Bom Dia! Um de nossos clientes reclamou do seguinte erro ao ler o Retorno gerado pelo Banco Bradesco: "Could not convert variant of type (UnicodeString) into type (Double)" Analisando o erro, percebemos que no arquivo de retorno, na posição 321, referente ao segundo motivo, continha uma letra (P4) "00P4000000" Se a letra estiver na primeira posição do Motivo (coluna 319) o erro não ocorre, mas da segunda para frente temos esse problema. Olhando o código fonte, o sistema tenta verificar se o Motivo é diferente de 0, mas como contém uma letra, o erro ocorre nesse momento: --------------------------------------------------------------------------------------------------------------------------------------------- unit ACBrBoleto; //Apos o 1º motivo os 00 significam que não existe mais motivo if(CodMotivo <> 0)then begin MotivoRejeicaoComando.Add(IfThen(copy(Linha,MotivoLinha,2) = ' ','00',copy(Linha,MotivoLinha,2))); if VarIsNumeric(CodMotivo) then DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo,Integer(CodMotivo))) else DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo,VarToStr(CodMotivo))); end; ---------------------------------------------------------------------------------------------------------------------------------------------
×
×
  • 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.