Ir para conteúdo
  • Cadastre-se

Andréa Ascont Sistemas

Membros
  • Total de ítens

    5
  • Registro em

  • Última visita

Tudo que Andréa Ascont Sistemas postou

  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.