Pesquisar na Comunidade
Showing results for tags 'arquivo retorno'.
Encontrado 7 registros
-
Bom dia, Pessoal existe alguma configuração que devo fazer no ACBrBoleto para ele ler os dados do Sacador do Arquivo de Retorno? Estou usando ACBrBoleto.ListadeBoletos.Objects.Sacado.NomeSacado; após realizar o comando de Ler o Arquivo de Retorno, Porém é retornado vázio, as outras informações aparecem, exceto o bloco Sacado. Banco Itau
- 10 replies
-
- nome
- arquivo retorno
-
(e 2 mais)
Tags:
-
'Agencia\Conta do arquivo inválido' no Retorno CNAB400 Santander
um tópico no fórum postou Joabe Geraldo ACBrBoleto
Bom dia Estou lendo o arquivo de retorno CNAB400 do Santander e estava acusando erro 'Agencia\Conta do arquivo inválido'. Observando o arquivo AcbrBancoSantander.pas verifiquei que estava sendo usando o campo fpTamanhoConta para identificar a conta do cliente: rConta := PadLeft( OnlyNumber(rConta),fpTamanhoConta,'0'); E observei que no create da classe fpTamanhoConta estava sendo atribuído 11. Como a conta do cliente possui 8 dígitos, fiz um teste, passando foTamanhoConta para 8, e neste teste a leitura do arquivo retorno foi feita corretamente. Existe alguma forma de alterar o fpTamanhoConta sem alterar o arquivo AcbrBancoSantander.pas ou a correção deve ser feita no arquivo mesmo? Obrigado -
arquivo retorno Erro de Leitura de Arquivo de Retorno - Banrisul
um tópico no fórum postou lukas1056 ACBrBoleto
Olá pessoal, sou iniciante no Delphi mas já estou utilizando o ACBr por ser muito prático, estava testando a leitura do arquivo de retorno do Banrisul e me deparei com a seguinte situação: Ao ler o arquivo de retorno do Banco me aparece a mensagem dizendo que o CPF/CNPJ é inválido, bom estava verificando o motivo da mensagem e percebi que diferente da leitura feita no arquivo do banco do brasil que já havia visto antes, a leitura do banco do Banrisul busca não do Header do Arquivo mas do Header do Lote. Código da Unit ACBrBancoBanrisul: Obs : o arquivo de texto é salvo em uma StringList para ir verificando, sendo assim o ARetorno(StringList) na posição 1 seria a segunda linha do arquivo ou seja o Header do Lote. Entretanto segundo a documentação do Banrisul no Header do Lote, o CPF/CNPJ ocupam 15 posições e no Header do Arquivo apenas 14, sendo assim quando for realizar o Copy ira buscar não corretamente por pegar apenas as 14 posições das 15 pegando um possivel 0 no inicio e não buscando o ultimo digito do CPF/CNPJ, gerando assim a mensagem de erro do 'CPF/CNPJ do Arquivo Inválido'. Arquivo de Retorno : Manual do Banco : Site do manual : http://www.banrisul.com.br/bob/data/CobrancaEletronicaBanrisul_layout_pdr_Febraban240_vrs25102013.pdf?cache=9 Minha duvida é se esta certo pegar o CPF/CNPJ do arquivo pelo Header do Lote, e se for porque busca apenas 14 posições sendo que o tamanho nesse Header é 15 ? e outra coisa percebi que é feito uma formatação no caso do Banrisul ao comparar o valor lido com o valor do Cedente do boleto do componente, neste banco devo formatar antes de atribuir a lista de boletos o CPF/CNPJ de acordo com o tipo (Fisica ou Juridica) do Cedente ? Bom sei que seria a solução seria alterar apenas o indice do Stringlist para 0 para ler a primeira linha, mas como ainda sou iniciante posso estar deixando passar algo como uma configuração por exemplo, bom minha duvida seria essa. Desde já agradeço a sua atenção. -
Retorno Sicredi - Erro: is not a valid integer value
um tópico no fórum postou flaviageisler ACBrBoleto
Olá, Ao importar um arquivo de retorno CNAB 400 do banco Sicredi ocorreram dois erros em arquivos diferentes O primeiro erro foi " ' ' is not a valid integer value": nossa analise sobre o que esta no txt: para alguns arquivos de retorno do banco, o sistema não esta gera os campos da posição 319 com os zeros preenchidos Exemplo quando o código do retorno foi "H5 " ao invés de "H500000000", então fiz a seguinte alteração em LerRetorno400 de: if CodMotivo <> '00' then //Após o 1º motivo os 00 significam que não existe mais motivo begin MotivoRejeicaoComando.Add(IfThen(Copy(Linha,MotivoLinha,2) = '00', '00', Copy(Linha,MotivoLinha,2))); DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo,CodMotivo)); end; para: if (CodMotivo <> '00') And (Trim(CodMotivo) <> '') then //Após o 1º motivo os 00 significam que não existe mais motivo begin MotivoRejeicaoComando.Add(IfThen(Copy(Linha,MotivoLinha,2) = '00', '00', Copy(Linha,MotivoLinha,2))); DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo,CodMotivo)); end; O segundo erro foi " 'C6' is not a valid integer value" quando o código do retorno foi "H5000000C6", verifiquei que faltou tratar o Código de motivo 'C6'. de: toRetornoLiquidadoAposBaixaouNaoRegistro: //17 case AnsiIndexStr(CodMotivo,['A8', 'H5', 'H6', 'H8']) of 0: Result:= 'A8-Recebimento da liquidação fora da rede Sicredi - via compensação eletrônica'; 1: Result:= 'H5-Recebimento de liquidação fora da rede Sicredi - VLB Inferior - via compensação'; 2: Result:= 'H6-Recebimento de liquidação fora da rede Sicredi - VLB Superior - via compensação'; 3: Result:= 'H8-Recebimento de liquidação fora da rede Sicredi - Contingência via compe'; else case StrToInt(CodMotivo) of 00: Result:= '00-Ocorrência aceita, liquidação após baixa'; else Result:= PadLeft(CodMotivo,2,'0') +' - Outros Motivos'; end; end; para: toRetornoLiquidadoAposBaixaouNaoRegistro: //17 case AnsiIndexStr(CodMotivo,['A8', 'C6', 'H5', 'H6', 'H8']) of 0: Result:= 'A8-Recebimento da liquidação fora da rede Sicredi - via compensação eletrônica'; 1: Result:= 'C6-Título já liquidado'; 2: Result:= 'H5-Recebimento de liquidação fora da rede Sicredi - VLB Inferior - via compensação'; 3: Result:= 'H6-Recebimento de liquidação fora da rede Sicredi - VLB Superior - via compensação'; 4: Result:= 'H8-Recebimento de liquidação fora da rede Sicredi - Contingência via compe'; else case StrToInt(CodMotivo) of 00: Result:= '00-Ocorrência aceita, liquidação após baixa'; else Result:= PadLeft(CodMotivo,2,'0') +' - Outros Motivos'; end; end; Segue em anexo os arquivos de retorno com erro e o ACBRBancoSicredi. Obrigada. ACBrBancoSicredi.pas retorno_erro_C6.CRT retorno_erro_cod_vazio.CRT -
Bom dia pessoal, Estamos fazendo a integração do ACBrBoleto no nosso sistema e testando algumas carteiras, fazendo remessa e lendo o retorno do banco. Na leitura do retorno do arquivo no layout 240 com a carteira 17 eu observei com a função LerRetorno240 está pegando o inicio da posição 45 e 10 caracteres de tamanho. Observando o arquivo, o nosso numero começa na posição 38 com tamanho 11. Estou com a versão 'ACBrBoleto Ver: 0.0.145a', essa é a última mesmo? Também observei que na remessa para o mesmo banco e no mesmo layout utilizando a carteira 11/019 o boleto está preenchendo o nosso número, já nessa modalidade quem preenche é o banco. Como estou utilizando recentemente o componente possa ser que estou esquecendo de alimentar alguma propriedade, mas se a equipe pudesse verificar ficaria grato. Desde já agradeço pela atenção!
- 7 replies
-
- layout240
- banco do brasil
- (e 1 mais)
-
Bom Dia! Notei o que pode ser um erro na rotina de retorno do banco HSBC: na linha 583 da unit "ACBrBancoHSBC.pas" tem um copy para pegar o nosso número: NossoNumero := Copy(Linha, 63, 16); O problema é que para a carteira "CNR" o tamanho máximo do nosso número é 13, assim quando da o copy passa para o "SetNossoNumerro" da unit "ACBrBoleto" uma string de tamanho 16, caindo no exception da linha 1043 por ter o tamanho maior que o permitido: raise Exception.Create( ACBrStr('Tamanho Máximo do Nosso Número é: '+ IntToStr(wTamNossoNumero) )); Para solucionar para o cliente tenho alterado o copy para: NossoNumero := Copy(Linha, 63, 13); Deem uma olhadinha por favor. Desde já agradeço.
-
Boa tarde. Tudo bem? Gostaria de saber se alguns dos(as) nobres colegas já conseguiram fazer a unit que trata recebe o arquivo de retorno do Banco Santander. Obrigado. Toninho Eleotério