Ir para conteúdo
  • Cadastre-se

lukas1056

Membros
  • Total de ítens

    74
  • Registro em

  • Última visita

Tudo que lukas1056 postou

  1. 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.
  2. Oi pessoal, estava verificando e precisava passar a multa para o o banco Sicredi mas ao ver os fontes percebi que o mesmo não gerava o segmento "R" onde se localiza essa informação, como o segmento "R" é opcional para a remessa eu o adicionei ao GerarTransação240 do Sicredi, estou postando os fontes para testes. Imagens do Segmento adicionado: Sei que muitos dos campos não são utilizados pelo Sicredi por isso vão zerados ou em branco, mas acredito ser muito útil ter o Segmento "R" em caso de ter que configurar a Multa para o Boleto. Manual Utilizado : http://www.sicredi.com.br/websitesicredi/upload/files/28459_Manual_Beneficiario_Cobranca_CNAB_240___18062014.pdf Desde já agradeço a atenção de todos. Arquivo: Sicredi.rar
  3. Oi pessoal, estive verificando o arquivo de remessa gerado no Sicredi pelo acbrBoleto e verifiquei que no segmento "Q", ao invés de utilizar a UF do sacado estava utilizando uma property do TACBrBoleto chamada UF, então fiz uma alteração para que busque a UF do sacado do titulo, sei que pode ser pouca coisa mas acredito que ajude. Caso encontrem algo errado ou eu esteja fazendo confusão me avisem sou ainda iniciante no Delphi. Abaixo estarei postando as imagens da alteração e o arquivo alterado para testes. Pegando UF errado Alteração para buscar do sacado do titulo Arquivo para testes : Sicredi.rar Aguardando retorno... Desde já agradeço a sua atenção.
  4. Informar a multa para o itau esta disponível no cnab240 de alguma forma ? pelo que sei nao gera o segmento 'R' que é onde se localiza a informação, mas não é criado pelo acbr esse segmento para o itau.
  5. Pessoal com base no que vi em outros bancos adicionei a Unit os parâmetros para a busca dessas informações ao gerar a remessa cnab240 fica abaixo a imagem da alteração e o arquivo para validação, aguardo resposta obg. ACBRBancoBanrisul Arquivo : Banrisul.rar
  6. Desculpa ai pessoal só corrigindo é no Banrisul não no Itau, tanto banco que até me confundo.
  7. lukas1056

    Banco Itau CNAB240

    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 ?
  8. Oi gente, me surgiu uma duvida, vendo os fontes dos bancos verifiquei que a propriedade "OcorrenciaOriginal.Tipo" do titulo altera o código do Movimento no arquivo de remessa, minha duvida seria se ao alterar esse código o mesmo deve mudar para todos os segmentos do arquivo gerado? ao se mudar o código "01 - remessa" que é padrão caso não se passe nada para essa propriedade, o arquivo deve permanecer com a mesma estrutura? Bom só estou fazendo essa pergunta pois no banco Itau pelo que vi nos fontes o código do movimento no segmento "Q" é uma string fixa "01" mas no segmento "P" pode ser setada o código do movimento, gerando por exemplo um arquivo com segmento "P" = "02" no código do movimento e no "Q" sempre "01". E mais uma coisa, verifiquei que existem tipos diferentes para cada banco (alguns sao iguais), por acaso cada banco pode possuir tipos padronizados com o mesmo código ou códigos diferentes para a mesma ocorrência ? Exemplo do ITAU: Tipo de Ocorrência Segmento P Segmento Q Desde já agradeço a atenção.
  9. Ok, amanha pela parte da manha estarei realizado os testes, caso haja mais alguma coisa estarei postando e caso de certo posto os fontes alterados se for necessário.
  10. Boa tarde, desculpe o incomodo mas teria alguma novidade sobre esse problema ?
  11. Obrigado, não tinha percebido o tamanho 6 ao invés de 9, já foi corrigido esse detalhe.
  12. Oi gente, tive que alterar mais duas coisas aqui para dar certo a leitura, uma delas foi colocar um trim ao ler o Codigo do Cedente (que é passado para a variavel RConta), e a outra foi colocar um RightStr ao comparar com a agencia pois ao passar para o componente qualquer valor como agencia ele se adequá ao tamanho maximo definido que é 5 ou seja sempre sera diferente da leitura pelo tamanho, ou seja se eu passar 0470 como agencia no componente sera 00470 pelo tamanho 5, entao pego apenas os ultimos 4 caracteres com o RightStr. Imagem Dessa forma consegui realizar a leitura do Arquivo. Aguardo retorno para validar.
  13. Olá pessoal, esse deve ser meu terceiro post hoje, estive verificando a leitura do arquivo C400 da caixa econômica e me veio um problema, percebi que ao realizar a leitura o "ACBrBoletoCaixa" verifica a Agencia/Conta do arquivo, mas no arquivo C400 não é informado a Conta Corrente mas sim somente o Código do Beneficiário isso é claro seguindo o Manual da Caixa, tanto para o que esta junto dos Fontes como para o modelo novo de Julho de 2017. Então me lembrei que já tinha conseguido uma vez fazer a leitura do Banrisul e fui verificar isso nos fontes e percebi que diferente da Caixa que tem que comparar com a Conta corrente o Banrisul verifica com o "código do cedente" e busca o dado de uma posição diferente do que a Unit da caixa faz atualmente. Bom para resolver o problema somente coloquei para buscar o Código do Cedente ao invés da Conta corrente que não se encontra no Layout C400 e ao verificar se é valido a Agencia/Conta seja comparado com o código do cedente ao invés da conta corrente. Antes de Alterar Alterado Manual do Header do Arquivo C400 Bom gostaria de saber se esta realmente certo fazer dessa maneira ou estou me esquecendo de algo ? Arquivo: ACBrBancoCaixa.rar Manual: https://www.caixa.gov.br/Downloads/cobranca-caixa/Manual_Leiaute_CNAB400_SIGCB.pdf Desde já agradeço a atenção.
  14. Boa tarde, enquanto estava verificando o arquivo me surgiu outros dois problemas muito semelhantes, um seria a busca da agencia novamente na Descrição de registro Tipo 2 que é montada na Function "DoMontaInstrucoes1" , que como na anterior estaria utilizando o PadLeft sendo substituido pelo RightStr, e o outro seria que na mesma Function estaria buscando o nosso numero errado, sendo buscado da 1 a 15 posição, mas as 2 primeiras seria a modalidade que já é colocada no arquivo anteriormente então foi alterado para pegar como é pego no Registro Tipo 1 afim de buscar o Nosso numero corretamente. Antes de Alterar Depois de Alterar Bom verifiquei isso ao realizar os testes da geração da remessa e ao comparar com o manual do Layout da caixa. Desde já agradeço pela atenção. Arquivo: ACBrBancoCaixa.rar Obs: esse arquivo já contem uma alteração que fiz porcausa de outro tópico referente a "Erro na Especie do Titulo" : Obs: Sou novato no fórum e não sei se posso mencionar outros tópicos, mesmo que seja meu neste aqui então se estiver errado por favor me falem.
  15. Fiz a conferencia do arquivo gerado para com o manual e aparentemente esta tudo ok fora essa diferença de códigos, existe outro problema mas para isso ja abri outra pergunta no fórum, a unica duvida que permanece seria usar o padrão do Layout atual (Julho 2017) ou o antigo que acompanha os fontes?
  16. Ainda estou conferindo o arquivo que é gerado com o manual do banco que passei no link acima, mas então devo deixar o que estava ou o do manual ? Qualquer coisa que encontre em discordância com o manual estarei postando.
  17. Olá gente estou aqui novamente para ver com vocês esse pequeno problema, estava verificando o arquivo de remessa cnab400 da caixa e conferindo e vendo o manual do layout disponibilizado pela caixa verifiquei que os códigos da Espécie dos títulos utilizados na Unit estavam diferentes do manual, a alteração que fiz aqui foi simplesmente colocar o codigo de acordo com o manual, gostaria de saber se realmente é um erro ou estou apenas fazendo confusão. Antes de Alterar Tabela do Manual do Banco Alterado Referencia da Tabala do Manual Site do Manual do Banco: https://www.caixa.gov.br/Downloads/cobranca-caixa/Manual_Leiaute_CNAB400_SIGCB.pdf Desde já agradeço pela atenção.
  18. Olá verifiquei novamente pelo Exemplo do Svn e realmente passa o valor errado para o arquivo. Exemplo: Arquivo gerado pelo Exemplo do Svn: Configuração do Componente: obs: Foi colocado o componente do ACBrBoleto , AcbrBoletoFCFortes no exemplo e criado uma procedure para configurar os dados para teste.
  19. Olá, sou iniciante em Delphi e estou começando a usar os componentes do ACBr pois acho muito prático, bom estive verificando as importações do arquivo de remessa da Caixa econômica federal assim como também de outros bancos e percebi que estava passando o valor errado da Agencia para o arquivo de acordo com o manual da Caixa para esse layout. Bom estive verificando os fontes para ver onde se encontrava o problema e encontrei a seguinte situação: Na procedure "GerarRegistroTransacao400" que monta a linha de transação ao se passar a agencia estava se utilizando o PadLeft(OnlyNumber(ACBrBoleto.Cedente.Agencia),4,'0' ), afim de que se fosse menor que 4 fosse colocado zeros a Esquerda até fechar o tamanho 4 necessário para colocar no arquivo, mas pelo que percebi ao passar a agencia ao componente (dado vindo do banco de dados), este já é adequado ao tamanho máximo definido na unit do Banco Caixa que é 5, ou seja sempre vira com 5 casas e ao fazer esse PadLeft se eu passar ao componente por exemplo: Agencia = 0470 o mesmo automaticamente trata esse valor colocando um zero a mais por se tratar de um tamanho máximo de 5 ficando dessa maneira : 00470, e ao realizar o PadLeft é pego desse valor suas primeiras 4 casas ou seja o valor que ira para o arquivo é 0047 oque estaria errado. Oque foi alterado nesse caso foi para ao invés de usar o "PadLeft(OnlyNumber(ACBrBoleto.Cedente.Agencia),4,'0' )" seja usado "RightStr(OnlyNumber(ACBrBoleto.Cedente.Agencia),4)" , para que mesmo que seja setado os zeros a esquerda seja pego apenas os 4 últimos dígitos que sera o valor real a ser passado ao Arquivo na geração da Remessa. Imagens Explicativas. Imagem antes da Alteração onde pode-se verificar o uso do PadLeft Imagem da Modificação realizada Imagem do Manual da Caixa Site do manual da Caixa para o Layout Cnab400 : https://www.caixa.gov.br/Downloads/cobranca-caixa/Manual_Leiaute_CNAB400_SIGCB.pdf Arquivo da Modificação: ACBrBancoCaixa.rar Realizei essa pequena modificação para gerar o arquivo trazendo a Agencia corretamente, gostaria que fosse validado pela equipe para saber se esta realmente correto realizar dessa maneira, desde já agradeço a atenção e espero por uma resposta.
  20. Arquivo de retorno : 0210030536066_20171002_0.ret Obs: esse arquivo foi criado internamente para teste, foi realizado o download do site do Banrisul de um titulo real e somente alterado com os dados para um titulo criado anteriormente (foi seguido os parâmetros do manual do Banrisul).
  21. Olá, realizei alterações com base no que foi visto no manual do banco e também com base no que é necessário se buscar do arquivo: Alterações : 1 - Busca do CPF/CNPJ pelo Header do Arquivo ao invés do Header do Lote. 2 - Realizado modificações para buscar de acordo com as posições do "Header do Arquivo", e alterações para buscar os dados de acordo com o tamanho máximo definido no componente, pois para verificar se o arquivo é valido é passado um valor para o componente que irá ler o arquivo e ver se são iguais, e como no componente tem um tamanho máximo se os dois dados tanto o lido como o passado não tiverem o mesmo tamanho eles nunca serão iguais, e realizar alterações no tamanho máximo poderia acredito eu comprometer a geração do Boleto. 3 - Alterada a busca do Nosso numero que estava buscando 20 posições e atribuindo ao componente, mas como o componente tem tamanho máximo de nosso numero 8, apresentava erro ao tentar setar com o valor lido, olhando no manual do banco percebi que os dados retornados são apenas as 10 primeiras posições do nosso numero, sendo que o resto fica em branco e como os dois últimos dígitos são os números gerados pelo calculo e não o sequencial acredito que possa ser pego apenas os 8 dígitos que pertencem ao nosso numero e caso precise do número inteiro do banco deve ser realizada a alteração do tamanho máximo, mas como pensei antes pode dar problema na geração do boleto, tendo isso em vista utilizando os 8 dígitos se necessário verificar com o nosso numero completo gerado pelo ACBr, poderia ser utilizado um comando SQL com " Substring "( Firebird ) para realizar a comparação da 1 a 8 posição do nosso numero do banco de dados com relação ao lido no arquivo de retorno. Bom estarei postando os arquivos com as mudanças e espero por uma resposta se eu estou completamente errado ou poderia ser dessa maneira ? Desde já agradeço a atenção. Arquivos: Banrisul Alterações.rar ACBrBancoBanrisul Modificações.txt
  22. 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.
  23. Olá acabei dando uma olhada como é no manual e tem algo muito diferente, pelo que percebi na procedure "NossoNumeroSemFormatacaoLerRetorno" esta comparando com 16 e 18 mas na verdade o que o arquivo traz parece ser não a carteira em si mas o seu tipo, acredito que é por isso que buscava apenas uma posição. Oque você acha ? deve ser alterado de alguma forma ? Manual lido para poder verificar se era uma ou duas posições. Site : http://www.bb.com.br/docs/pub/emp/empl/dwn/CbrVer04BB.pdf Visto isso fui ao site do Febraban e verifiquei oque era esse " C006 " que apresentava no manual, encontrando uma lista de tipos de carteira com apenas um caractere. Site: https://cmsportal.febraban.org.br/Arquivos/documentos/PDF/subcpadr17-layout padrao V 10 03 - 20_06.pdf Obs: A mesma configuração no site do BB como no Febraban para o codigo da carteira é o mesmo. Vendo isso acredito que a forma de buscar o nosso numero esteja equivocada ao atribuir a comparação do tipo de carteira aos números 17 ou 18 para poder realizar a busca do nosso número nas da 38 a 55 (17 números) posição na linha do segmento T, e tambem ao atribuir o campo tamanho carteira como 2. Oque você acha que poderia ser feito ?
  24. Oi pessoal, sou novato em desenvolvimento delphi e já estou utilizando o ACBrBoletos para gerar boletos, mas estava implementando a leitura do arquivo de retorno para realizar as baixas de títulos no sistema e me deparei com um problema na leitura do arquivo, estava tentando ler um arquivo de retorno do Banco do Brasil e percebi que para buscar o " Nosso Numero " corretamente ele busca a carteira no arquivo antes e com o que retornar mais o tamanho do Convenio ele busca de uma maneira ou de outra utilizando " IF's " o Nosso Numero, entretanto ao ler a carteira no banco do Brasil traz apenas um caractere e ao buscar o nosso numero ele compara com 16 e 18, e como o tamanho da carteira é dois dígitos esta colocando um zero antes do digito lido ex: se no arquivo estiver ' 18 ' ira trazer ' 01 ' por buscar apenas um digito e seu tamanho ser 2. Selecionando a Carteira do arquivo, é utilizada a procedure : " procedure TACBrBancoBrasil.LerRetorno240(ARetorno: TStringList); " Arquivo de retorno: OBS: esse arquivo foi criado manualmente para ser realizado um teste de baixa. Pegando nosso numero: Como pode ver ele compara com '16' ou '18' para pegar da posição 38 os 17 caracteres que é oque preciso, mas não vem porque o busca apenas um digito. Depurando o código: Mostrando oque esta trazendo. Gente acredito que seja somente seja alterar a busca da carteira para trazer 2 caracteres ao invés de 1, gostaria de saber se isso esta certo e eu apenas estou fazendo confusão ou realmente esta errado e precisa mudar ? Desculpa ai pelo textão mas gosto de explicar bem a situação para não haver muitas duvidas sobre a pergunta.
×
×
  • 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.