Jump to content

Search the Community

Showing results for tags 'cnab240'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

There are no results to display.

Forums

  • Fórum Aberto - ACBr
    • ACBr News
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrMonitor PLUS
    • ACBrDFe
    • ACBrTEFD e Dúvidas sobre TEF
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
    • Dia do ACBr
  • Suporte Pago - SAC
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • ACBr's Pub
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Data Base
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categories

  • ACBrLib
  • Suporte Pago - SAC
    • ACBrMonitorPLUS - SAC
    • Utilitários - SAC
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Free Download
    • ACBrMonitorPLUS
    • Demos / Testes / Utilitários
    • Apresentações - Palestras

Calendars

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Community Calendar
  • Feriados Nacionais

Blogs

  • Daniel Simoes' Blog
  • André Ferreira de Moraes
  • Moderadores ACBr
  • Teste de Blog
  • Notícias do ACBr

Categories

  • Suporte Pago - SAC
    • Webinars
    • Video Aulas
    • Palestras - Dia do ACBr 2a Ediçao
  • Vídeos Abertos
    • Video Aulas
    • Comunicados
    • Dia do ACBr 2a Ediçao
    • Dia do ACBr 1a Ediçao
  • Campanhas promocionais

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Skype


Localização


Interesses


CNPJ da Empresa


CPF

Found 43 results

  1. Boa tarde a todos da comunidade. A minha situação é a seguinte: Realizo todo meu processo de gestão de cobrança pelo AcbrBoleto no banco Itaú e outros, porem no itau temos o desconto de titulo quando descontado o titulo é baixado do cobrança e vai pro empréstimos solicitamos ao Itaú e passamos a receber o arquivo de retorno referente aos descontados[04-EMPRESTIMO], porem na leitura do retorno a identificação do tipo do serviço é ignorada, ou melhor não temos uma propriedade do componente AcbrBoleto para carregarmos qual serviço estamos tratando. Gostaria de saber dos moderadores e responsáveis se seria viável e interessante o desenvolvimento desta propriedade. Desde já gostaria de me por a disposição para desenvolver uma versão de teste para comunidade.
  2. Boa tarde, Recentemente homologuei um cliente com o Banco Sicredi via CNAB240 que não gostaria que fosse cobrado valor de multa, porém, recebi uma rejeição ao tentar enviar código de multa como '0' (isento) e verifiquei que atualmente não é possível informar um valor de multa zerado. Esta situação ocorre pois o banco Sicredi somente aceita o envio do código de multa como '2' (percentual), conforme consta no manual no campo de código de multa "O Sicredi apenas aceita o campo multa preenchido com percentual.", porém, no trecho de código onde é preenchido a informação, não esta sendo possível informar código de multa '2' (percentual) e valor de 0% de multa, pois se eu informar percentual de multa como zero será automaticamente informado o código de multa como '0' (isento). IfThen((PercentualMulta > 0), IfThen(MultaValorFixo,'1','2'), '0') + // 66 Código da multa - 1 valor fixo / 2 valor percentual / 0 Sem Multa Como sugestão, gostaria de solicitar que este trecho fosse alterado para informar o valor '2' fixo, já que é a única opção disponível para o banco. '2' + // 66 Código da multa - 2 valor percentual Infelizmente não consigo anexar o manual neste tópico devido ao tamanho do mesmo, segue link disponibilizado pelo próprio Sicredi abaixo (informação referente ao código de multa encontra-se no início da página 55): https://www.sicredi.com.br/html/para-voce/recebimentos/cobranca/arquivos/manual-cnab-240-v1.3.pdf Código fonte com a alteração mencionada (aplicada na linha 1833) encontra-se em anexo. Atenciosamente, Datamicro Sistemas. ACBrBancoSicredi.pas
  3. Boa tarde amigos, estou num projeto novo agora e gostaria de saber se alguém tem pelo menos um registro de exemplo do arquivo de remessa do Bradesco cnab 240. Pois está difícil iniciar aqui. Não entendi muito bem como se faz. Grato
  4. Prezado(as); Estou tendo problemas ao enviar arquivo remessa CNAB 240 banco SAFRA, Já homologado desde Dezembro de 2018, as quantidades de caracteres contém os 240 caracteres e não foi alterado nada no código. Alguém sabe se mudou ou se teve atualização do layout ? Já enviei o arquivo para o banco e eles estão analisando. Criei até um validador de caracteres e um contador de linhas e está tudo como deveria. Obrigado, qualquer notícia [email protected], agradeço desde já.
  5. Bom dia! Estou implementando o boleto da CEF e percebi que no arquivo ACBrBoleto, o método LeRetorno contém um teste que lança uma exceção se o código remessa/retorno for diferente de '2'. procedure TACBrBoleto.LerRetorno(AStream: TStream); ... case Length(SlRetorno.Strings[0]) of 240 : begin if (Copy(SlRetorno.Strings[0],143,1) <> '2') then Raise Exception.Create( ACBrStr( NomeArq + sLineBreak + 'Não é um arquivo de Retorno de cobrança com layout CNAB240') ); ... Porém existem outros casos que podem ser tratados e por conta desse teste eu não consigo tratá-los na unit ACBrBancoCaixa. Não seria melhor transferir esse teste para dentro das units de cada banco? Pois dessa forma cada banco poderia implementar o tratamento para estes outros casos. Att.
  6. Boa tarde, Recebi um manual do bancoob com atualização em 10/02/2017. Neste manual há uma alteração no header na posição 72. "Dígito Verificador da Ag/Conta: Preencher com zeros" Segue em anexo a unit alterada e o manual. Grato LAYOUT BANCOOB atualizado.rar ACBrBancoBancoob.pas
  7. Olá. Estou fazendo a homologação do boleto e remessa no Sicredi, leiaute CNAB240, e foi retornado a rejeição no segmento R, posição 18, que o código do desconto está inválido, foi informado 0 quando deveria ser informado 1, 2, 3 ou 7. No caso os boletos não tem desconto, porém no leiaute do Sicredi informa que em caso de não houver desconto, o código dever ser 1, 2, 3 ou 7 e o campo do valor de desconto zerado. Pelo que vi nos fontes, quando o valor e data do desconto não existe, o código do desconto é levado como 0, só que para o Sicredi (748 - código do Banco) dessa forma não fica correto. Como faço para sair o código do desconto como 1, 2, 3 ou 7, e continuar levando a data e valor do desconto zerados? Já existe alguma coisa pronta sobre isso, ou devo alterar os fontes e enviar para ser analisado? Obs.: alterei o valor da posição 18 do segmento R para 1 manualmente no arquivo e dessa forma o mesmo foi validado pelo Sicredi.
  8. Olá. Fazendo a validação do boleto e remessa do Sicredi 748, leiaute CNAB240, carteira A, encontrei as seguintes rejeições: 1 - Quando tiver informado o sacador/avalista no documento, levar na remessa no registro detalhe Q, na posição 155 à 169 o CPF ou CNPJ do sacador/avalista sem pontos, barras e traços, alinhando o número a direita e coloca zeros a esquerda para preencher o campo. Validação: Como o sistema está gerando: Como deveria ser: 2 - No registro detalhe R, nas posições 100 à 139 e 140 à 179 levar em branco. Validação: Como o sistema está gerando: Como deve ser: A minha pergunta é: Já existe alguma coisa pronta sobre isso, ou devo alterar os fontes e enviar para ser analisado? Obs.: fiz as alterações manuais no arquivo remessa e enviei para o Sicredi, o arquivo foi validado. Em anexo arquivo com erro e arquivo alterado manualmente. 57300D05 - corrigido.CRM 57300D05 - com erro.CRM
  9. Bom dia, Tive a necessidade de efetuar algumas alterações referente a remessa do CNAB240 do banco Bradesco. Conforme consta no manual, há a possibilidade de enviar o código de desconto e código de mora 1, 2, 3. Em anexo o arquivo e manual. Grato desde já. ACBrBancoBradesco.pas CNAB240_2018.pdf
  10. Segundo o Manual CNAB240 Sicredi, página 46, no registro de transação do arquivo de remessa o caractere 118 deve conter um dos seguintes valores: '1' = Valor por dia ‘2’ = Taxa Mensal '3' = Isento Problema: O ACBr está informando '1' se tiver valor e '3' se não tiver valor, não sendo possível informar a opção '2' referente à Taxa Mensal. Sugiro lermos o campo "CodigoMoraJuros" do ACBr definir esta informação corretamente. Arquivo ACBrBancoSicredi.pas, linha 1691
  11. Boa tarde pessoal, tive que alterar um padrão de cnab400 para cnab240 para um cliente. A remessa está ok, porém gerei o boleto teste e encaminhei para analisarem e me retornaram divergências no código de barras. Alguém utiliza o cnab240 e está conseguindo gerar normal? Estou com Acbr atualizado. Segue o retorno que obtive:
  12. Boa tarde Colegas, Estou utilizando o ACBr para envio da remessa e retorno do banco Santander, mas no processamento do retorno encontrei um problema, ou talvez foi feito para ser assim (MotivoRejeicaoComando - somente motivos de rejeição). Primeiro resumidamente é que o Motivo que vem no arquivo quando é liquidação ou baixa(Ocorrência 06 ou 09) ou não está entrando na rotina Titulo.MotivoRejeicaoComando.Add. Assim não temos disponíveis os motivos das ocorrências na baixa/liquidação. Versão mais detalhada: procedure TACBrBancoSantander.LerRetorno240 Layout: Santander - CNAB 240 - Layout de Arquivo - Padrão 240 – Cobrança - Versão 2.8.3 - Setembro/2017 Nota 41 - Indica que o código de ocorrência 03(03 - Entrada rejeitada), 26(26 - instrução rejeitada) e 30(30 - alteração de dados rejeitada) estão relacionados com a nota 41-a E os códigos 06(liquidação), 09(baixa) e 17 estão relacionados com a nota 41-C - Ai temos uma relação - Códigos de rejeições de 01 a 64 associados ao códigos de movimento 03, 26 e 30 - E temos uma relação de Código de liquidação/baixa de 01 a 13 associados ao código de movimento 06, 09 e 17 Bom, analisando um arquivo de retorno do Santander, no segmento, T, na coluna 209(Motivo), quando a ocorrência vem 06(Liquidação) veio os motivos 03(No próprio banco) e 04(Compensação eletrônica). Ai analisando o arquivo do Acbr ( ACBrBancoSantander.pas ) verifiquei que na leitura do retorno na procedure TACBrBancoSantander.LerRetorno240 - DoVerOcorrencia Só tem a tratativa dos motivos das ocorrências 03, 26 e 30, as quais estão ligadas somente as rejeições. if MatchText(AOcorrencia, ['03', '26', '30']) then Mas eu preciso dos motivos das ocorrências 06, 09 e 17, principalmente da 06 e 09 Então minha sugestão de alteração do código seria: if MatchText(AOcorrencia, ['03', '06', '09', '17', '26', '30']) then begin pMotivoRejeicao:= 209; for I:= 0 to 4 do begin CodMotivo:= StrToIntDef(copy(Linha,pMotivoRejeicao,2),0); if CodMotivo > 0 then begin Titulo.MotivoRejeicaoComando.Add(copy(Linha, pMotivoRejeicao, 2)); Titulo.DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao( Titulo.OcorrenciaOriginal.Tipo,CodMotivo)); end; Inc(pMotivoRejeicao, 2); end; if AOcorrencia = '03' then Tipo:= toRetornoRegistroRecusado else if AOcorrencia = '26' then Tipo := toRetornoInstrucaoRejeitada else if AOcorrencia = '30' then Tipo := toRetornoAlteracaoDadosRejeitados else if MatchText(AOcorrencia, ['06', '09']) then Tipo := CodOcorrenciaToTipo(StrToInt(AOcorrencia)) else if AOcorrencia = '17' then Tipo := toRetornoLiquidadoAposBaixaOuNaoRegistro end Ou seja incluir no primeiro if o '06', '09', '17'... E colocar no if do Tipo adicionar o 06 , 09 e 17. os quais puxei de baixo onde ele entrava antes. Ver a possibilidade de alteração para que possamos ter os motivos nas ocorrências: (09-baixa ou 06-liquidação) ou se MotivoRejeicaoComando é somente para rejeições e não tem a opção de pegar o motivo quando da baixa. Mas iria enviar o arquivo em anexo do fonte atualizado (2018.05.30) com a alteração mencionada, caso MotivoRejeicaoComando não seja somente rejeição. Mas fui testar a modificação e ai descobri que os códigos de motivos que retornam são os códigos do layout 400. Layout: PRODUTOS RECEBIMENTOS - CNAB 400 (padrão Santander) - Com Registro - Versão 2.17 – Outubro/2017 Página 22 - Nota 13: Códigos de Ocorrências - temos os códigos com 3 dígitos - e na 240 temos com dois dígitos o motivo. Então, seguindo o padrão do ACBrBancoBrasil.pas eu cadastrei os códigos dos motivos para o CNAB 240. Então tive que mudar na procedure TACBrBancoSantander.LerRetorno240 - DoVerOcorrencia Esse código : if AOcorrencia = '03' then Tipo:= toRetornoRegistroRecusado else if AOcorrencia = '26' then Tipo := toRetornoInstrucaoRejeitada else if AOcorrencia = '30' then Tipo := toRetornoAlteracaoDadosRejeitados else if MatchText(AOcorrencia, ['06', '09']) then Tipo := CodOcorrenciaToTipo(StrToInt(AOcorrencia)) else if AOcorrencia = '17' then Tipo := toRetornoLiquidadoAposBaixaOuNaoRegistro; Antes do código da rejeição, pois é necessário saber o Tipo na rotina CodMotivoRejeicaoToDescricao, então ficou assim esse trecho: if MatchText(AOcorrencia, ['03', '06', '09', '17', '26', '30']) then begin if AOcorrencia = '03' then Tipo:= toRetornoRegistroRecusado else if AOcorrencia = '26' then Tipo := toRetornoInstrucaoRejeitada else if AOcorrencia = '30' then Tipo := toRetornoAlteracaoDadosRejeitados else if MatchText(AOcorrencia, ['06', '09']) then Tipo := CodOcorrenciaToTipo(StrToInt(AOcorrencia)) else if AOcorrencia = '17' then Tipo := toRetornoLiquidadoAposBaixaOuNaoRegistro; pMotivoRejeicao:= 209; for I:= 0 to 4 do begin CodMotivo:= StrToIntDef(copy(Linha,pMotivoRejeicao,2),0); if CodMotivo > 0 then begin Titulo.MotivoRejeicaoComando.Add(copy(Linha, pMotivoRejeicao, 2)); Titulo.DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao( Titulo.OcorrenciaOriginal.Tipo,CodMotivo)); end; Inc(pMotivoRejeicao, 2); end; Bom agora a mudança no procedimento CodMotivoRejeicaoToDescricao somente a parte do else para o CNAB 240: else // 240 begin case TipoOcorrencia of toRetornoComandoRecusado: //03 (Entrada rejeitada) case CodMotivo of 01: Result:='Codigo do banco invalido'; 02: Result:='Codigo do registro detalhe invalido'; 03: Result:='Codigo do segmento invalido'; 04: Result:='Codigo do movimento nao permitido para carteira'; 05: Result:='Codigo de movimento invalido'; 06: Result:='Tipo/numero de inscricao do beneficiário invalidos'; 07: Result:='Agencia/Conta/DV invalido'; 08: Result:='Nosso numero invalido'; 09: Result:='Nosso numero duplicado'; 10: Result:='Carteira invalida'; 11: Result:='Forma de cadastramento do titulo invalido'; 12: Result:='Tipo de documento invalido'; 13: Result:='Identificacao da emissao do bloqueto invalida'; 14: Result:='Identificacao da distribuicao do bloqueto invalida'; 15: Result:='Caracteristicas da cobranca incompativeis'; 16: Result:='Data de vencimento invalida'; 17: Result:='Data de vencimento anterior a data de emissao'; 18: Result:='Vencimento fora do prazo de operacao'; 19: Result:='Titulo a cargo de Bancos Correspondentes com vencimento inferior XX dias'; 20: Result:='Valor do titulo invalido'; 21: Result:='Especie do titulo invalida'; 22: Result:='Especie nao permitida para a carteira'; 23: Result:='Aceite invalido'; 24: Result:='Data da emissao invalida'; 25: Result:='Data da emissao posterior a data'; 26: Result:='Codigo de juros de mora invalido'; 27: Result:='Valor/Taxa de juros de mora invalido'; 28: Result:='Codigo do desconto invalido'; 29: Result:='Valor do desconto maior ou igual ao valor do titulo '; 30: Result:='Desconto a conceder nao confere'; 31: Result:='Concessao de desconto - ja existe desconto anterior'; 32: Result:='Valor do IOF invalido'; 33: Result:='Valor do abatimento invalido'; 34: Result:='Valor do abatimento maior ou igual ao valor do titulo'; 35: Result:='Abatimento a conceder nao confere'; 36: Result:='Concessao de abatimento - ja existe abatimento anterior'; 37: Result:='Codigo para protesto invalido'; 38: Result:='Prazo para protesto invalido'; 39: Result:='Pedido de protesto nao permitido para o titulo'; 40: Result:='Titulo com ordem de protesto emitida'; 41: Result:='Pedido de cancelamento/sustacao para titulos sem instrucao de protesto'; 42: Result:='Codigo para baixa/devolucao invalido'; 43: Result:='Prazo para baixa/devolucao invalido'; 44: Result:='Codigo da moeda invalido'; 45: Result:='Nome do pagador nao informado'; 46: Result:='Tipo/numero de inscricao do pagador invalidos'; 47: Result:='Endereco do pagador nao informado'; 48: Result:='CEP invalido'; 49: Result:='CEP sem praca de cobranca /nao localizado'; 50: Result:='CEP referente a um Banco Correspondente'; 51: Result:='CEP incompativel com a unidade da federacao'; 52: Result:='Unidade da federacao invalida'; 53: Result:='Tipo/numero de inscricao do sacador/avalista invalidos'; 54: Result:='Sacador/Avalista nao informado'; 55: Result:='Nosso numero no Banco Correspondente nao informado'; 56: Result:='Codigo do Banco Correspondente nao informado'; 57: Result:='Codigo da multa invalido'; 58: Result:='Data da multa invalida'; 59: Result:='Valor/Percentual da multa invalido'; 60: Result:='Movimento para titulo nao cadastrado'; 61: Result:='Alteracao da agencia cobradora/dv invalida'; 62: Result:='Tipo de impressao invalido'; 63: Result:='Entrada para titulo ja cadastrado'; 64: Result:='Numero da linha invalido'; 65: Result:='A espécie de título não permite a instrução'; 72: Result:='Entrada de título Sem Registro'; 90: Result:='Identificador/Quantidade de Parcelas de carnê invalido'; 92: Result:='Data de Desconto Inválida'; end; toRetornoLiquidadoSemRegistro, toRetornoLiquidado, toRetornoLiquidadoPorConta, toRetornoLiquidadoSaldoRestante, toRetornoLiquidadoEmCartorio: // 05, 06, 07, 08 e 15 (Liquidado) case CodMotivo of 01: Result:='01-Por saldo'; 02: Result:='02-Por conta'; 03: Result:='03-No próprio banco'; 04: Result:='04-Compensação eletrônica'; 05: Result:='05-Compensação convencional'; 06: Result:='06-Arquivo magnético'; 07: Result:='07-Após feriado local'; 08: Result:='08-Em cartório'; 09: Result:='09-Pagamento Parcial'; end; else Result := IntToStrZero(CodMotivo, 2) + ' - Outros Motivos'; end; //case TipoOcorrencia end; //else 240 Assim eu consegui ler código do motivo quando a ocorrência vem como liquidado. Como disse não sei se o MotivoRejeicaoComando utiliza somente rejeição, mas a julgar pelo fonte do banco do Brasil, acredito que não, assim esse correção seria interessante. Estou enviando o fonte do Acbr do Santander para análise para verificar a possível alteração. Caso precisem dos manuais também posso disponibiliza-los aqui. Nos testes que fiz aqui deram certo. Abraços, Rodrigo ACBrBancoSantander.pas
  13. Boa tarde Pessoal, tudo bem? Estou com um problema na leitura do retorno sicoob layout cnab240. Ocorre aqui: if ( (not LeCedenteRetorno) and (rConta + rDigitoConta <> OnlyNumber(Cedente.Conta + Cedente.ContaDigito)) ) then raise Exception.CreateFMT('Conta do arquivo %s inválida, config %s',[rConta,OnlyNumber(Cedente.Conta + Cedente.ContaDigito)]); Erro: Conta do arquivo 000000040813 inválida, config 0000040813. Verifiquei que estava com uma quantidade diferente de 0, e acabei testando desta forma: if ( (not LeCedenteRetorno) and (RemoveZerosEsquerda(rConta) + rDigitoConta <> OnlyNumber(RemoveZerosEsquerda(Cedente.Conta) + Cedente.ContaDigito)) ) then raise Exception.CreateFMT('Conta do arquivo %s inválida, config %s',[rConta,OnlyNumber(Cedente.Conta + Cedente.ContaDigito)]); E consegui realizar a leitura do retorno normalmente. Isso está ocorrendo com mais alguém?
  14. Ao ler retorno CNAB_240, o método "CodigoLiquidacao_Descricao" não está tratando os codLiquidacao (09, 10,11,12,13,14) que são os códigos de baixa. Segue em anexo um print da parte da documentação onde são informados os códigos. Att. Segue também o arquivo ACBrBancoCaixa-15399.pas com as alteração necessária.
  15. Boa Tarde! Realizei a extração de dois métodos que acho importantes para o tratamento do TipoOcorrencia para todos os bancos. Por enquanto implementei estes métodos apenas no "ACBrBoleto.pas" e "ACBrBancoCaixa.pas". Poderiam verificar se estão corretas essas alterações e se poderiam ser incluídas no projeto ACBrBoleto? Segue em anexo as alterações. Att. ACBrBancoCaixa.pas ACBrBoleto.pas
  16. Olá pessoal, estou com uma duvida. Estive verificando e implementando um retorno das mensagens das ocorrências do arquivo de retorno, para que se possa saber a situação de cada registro, sendo como um exemplo caso esteja rejeitado pelos dados estarem inválidos, então estava verificando o Santander e percebi que o retorno das ocorrências difere e muito da tabela que o manual apresenta, e a função que faz esse retorno recebe como parâmetro o tipo da ocorrência e o código da ocorrência mas somente verifica o código e retorna uma mensagem, minha dúvida seria se estaria correto do jeito que esta, ou teria que ser feita uma mudança para ficar como o manual, verificando também pelo tipo de ocorrência ? Uma pensamento que me veio a mente é que nos outros bancos essa função possui um "IF" para verificar o layout do arquivo antes de verificar o Tipo de Ocorrência e o Código do Motivo, podendo estar faltando essa lógica para o Santander. Abaixo estará a imagem da Função e logo após a imagem do manual. Imagem da Função do ACBrBancoSantander Imagem da Tabela do Manual Bom minha duvida seria essa ! Acredito que saber as ocorrências do retorno ajudariam o cliente a ter em mãos mais informações sobre como esta o registro que foi gerado. Manual Santander : Layout CNAB 240 posições Ago de 2013 v2.01.pdf O Manual é o mesmo encontrado na pasta Acbr\tools\Bancos\Santander. Desde já agradeço a atenção de todos.
  17. Saudações. Atualizei no svn antes de executar e obtive estes resultados. O Sicoob está me deixando louco. Baixo o retorno das cobranças do sicoob CNAB240 e processo com o ACBrBoleto1.LerRetorno; Ao processar o retorno ele me dá a seguinte mensagem: Rastreei o problema até este código na Unit AcbrBancoBancoob. Aproximadamente linha 475. Segue Código abaixo: if (rConta + rDigitoConta <> OnlyNumber(Cedente.Conta + Cedente.ContaDigito)) then if (rConta + rDigitoConta <> (Cedente.Conta + Cedente.ContaDigito)) then raise Exception.CreateFMT('Conta do arquivo %s inválida, config %s', [rConta, OnlyNumber(Cedente.Conta + Cedente.ContaDigito)]); Infelizmente aí terminam meus conhecimentos de como resolver o problema. Informo porém que a conta no banco tem o número: 23582-2 No aguardo de sugestões, Claudiomir
  18. Alguém sabe se a implementação do componente Boleto está completa para o Sicob? Estamos gerando remessa de títulos com CNB240 para o SICOB, funciona perfeitamente, porém quando informado "TipoOcorrencia=27" que seria "RemessaBaixaporPagtoDiretoCedente", ao gerar o arquivo de remessa sempre vai "01", que corresponde a registro de remessa. Aparentemente, qualquer código informado como TipoOcorrencia é ignorando, sendo aceito todos como registro de remessa. Estou usando a versão 1.1.0.27 do Monitor.
  19. 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.
  20. Prezados, Tive a necessidades de realizar um ajuste na geração de remessa para Caixa Econômica, Layout SIGCB CNAB240. O ajuste se refere ao campo Código p/ Baixa/Devolução (página 21 do layout, campo 38.3P, registro Tipo 3, Segmento P do layout, coluna 224). Segundo o manual, observação C028 (página 61 do layout), esse campo só pode conter o valor 2 quando o campo de "código para protesto" (página 21 do layout, campo 36.3P, registro Tipo 3, Segmento P do layout, coluna 221) estiver preenchido com o código 1(Protestar Título). A rotina não estava tratando essa situação. Alterei a linha 499 da unit ACBrBancoCaixa: Código anterior - IfThen((DataBaixa <> 0) and (DataBaixa > Vencimento), '1', '2') + Código Alterado - IfThen(((DataProtesto = 0) or (DataProtesto <= Vencimento)) or ((DataBaixa <> 0) and (DataBaixa > Vencimento)), '1', '2') + Segue em anexo a unit ACBRBancoCaixa.pas. O layout não consegui anexar por causa da restrição de tamanho do arquivo, mas segue o link para download do arquivo que tomei como base para essa alteração -> https://www.caixa.gov.br/Downloads/cobranca-caixa/Manual_Leiaute_CNAB240_SIGCB.pdf ACBrBancoCaixa.pas
  21. Boa tarde colegas, Estou realizando a homologação de boletos para um cliente utilizando sicoob cnab 240. Porém o banco me retornou a seguinte mensagem: Que preciso preencher o Segmento R com: 1 - linha 66 se é valor fixo ou porcentagem a mora. 2 - 67 a 74 data vencimento. 3 - 75 a 89 o valor que é aplicado ou percentual. Porém está gerando a remessa com segmento R todo zerado, conforme imagem abaixo. Alguém já teve algo parecido?
  22. Ola pessoal, novamente verificando os fontes do Itau, verifiquei que não se pode gerar o segmento "R" que é o segmento onde se pode informar a multa, entao adicionei o segmento aos fontes e estou postando aqui para validação. Sei que muitos campos são irrelevantes mas caso seja necessário informar a multa esse segmento se torna importante. Gostaria que fosse validado se esta correto, pois sou iniciante e segui o manual e a forma de fazer de outros bancos para isso. Arquivo : Itau.rar Desde já agradeço a atenção.
  23. Pessoal estava verificando e implementando o retorno das descrições das ocorrencias no arquivo de retorno do Sicredi, quando verifiquei essa lógica. Dessa forma sempre que tiver qualquer Código entre as colunas das ocorrências vai ficar colocando o código "99" buscando sempre a descrição deste, ou seja mesmo que o código seja "01" vai buscar a descrição do "99", e somente se o tamanho do "Copy(SegT, IdxMotivo, 2)" for menor ou igual a zero é que vai buscar pelo código que esta no arquivo, mas ai não teria código algum. Bom acredito que essa logica esteja errada pois deveria sim buscar sempre pelo código do arquivo para retornar as descrições corretas, ou teria alguma outra explicação para isso ? Acredito que a solução para isso seria apenas remover a logica que esta circulada de vermelho e remover o "Else" também.
  24. Oi gente, gostaria de tirar uma duvida no banco itau para a remessa cnab240 na transação não se pode informar os campos: Código do Desconto, Data do Desconto, Desconto1 e nem o valor da IOF. Isso estaria certo assim ou somente não foi implementado a busca desse valor pelos parâmetros do ACBrBoleto ?
  25. Pessoal, boa tarde. A geração da remessa cnab240 do Santander tem algum particularidade? Quando eu tento gerar o arquivo de remessa o campo carteira não vai. Eu gero a remessa do SICOOB e está ok, então estou, em teoria, passando o campo certo. No manual, o campo se encontra no Segmento P, posição 58-58 (Tipo de cobrança). Obrigado.
×
×
  • Create New...