Ir para conteúdo
  • Cadastre-se

denerbuzato

Membros
  • Total de ítens

    152
  • Registro em

  • Última visita

  • Days Won

    4

Tudo que denerbuzato postou

  1. Boa tarde, Favor postar o arquivo para avaliarmos.... Att
  2. Boa tarde, Tenta setar o componente para CNAB240 LayoutRemessa :=c240;
  3. Boa tarde, Você realmente está com o problema relatado neste tópico de 2011? Você consegue reproduzir isso no demo? No Trunk2, os Geradores de Relatórios são FastReport ou FortesReport
  4. Alonso, gerei alguns boletos e remessa de alguns bancos para você ter uma ideia de como fica. Segue: Desse modo você pode neste pequeno exemplo a diferença entre o Nosso Numero Impresso no boleto e como vai na remessa. Att.
  5. Disponha, mas corrigindo uma informação: Em alguns bancos, o Nosso Numero poderá ser concatenado com algum outro campo, fazendo com que o que você vê no boleto não seja o que irá no arquivo remessa. Mas o critério para compor o Nosso Numero, esse sim é o mesmo tanto para geração do boleto quanto para geração do arquivo remessa. Flw
  6. Depende do banco. Banco do Brasil por exemplo vai completo. O conteúdo do Nosso Numero que você vê no boleto impresso é o que vai no arquivo remessa. O componente usa o mesmo critério para gerar o boleto e a remessa. O detalhe é a leitura do retorno que talvez você terá que realizar algum tratamento no seu sistema para localizar o boleto, visto que o Nosso Numero no retorno pode vir "cru".
  7. Entendi Alonso, eu faço o seguinte, tenho três campos na minha tabela, um para armazenar o Nosso Numero completo (como sai no boleto - formatado com digito, com o cedente ou carteira, depende o banco), outro campo para armazenar o Nosso Numero "cru" como você disse, e outro para armazenar o digito do Nosso Numero (DV). Desta forma, tenho como localizar o boleto de várias maneiras. Posso pesquisar completo, ou não. Por exemplo para o SICOOB e Banestes tenho que compor o Nosso Numero com o DV, pois o componente copia apenas as primeiras posições sem o DV. (Isso no arquivo retorno) Espero que te dê uma luz.
  8. Bom dia! O Nosso Número é um número sequencial que serve para identificar os boletos unicamente. Cada boleto emitido deve ter um 'nosso número' diferente, de forma que o sistema possa identificar o boleto pago no momento do processamento dos arquivos de retorno do banco. O Nosso Número é impresso no boleto, vai na remessa e vem no retorno, fazendo com que o boleto em questão seja identificado entre a empresa e o banco.
  9. Boa tarde, Você consegue reproduzir isso no demo?
  10. Bom dia, Segue as alterações na unit “ACBrBancoBanestes” na procedure LerRetorno400 Removido a primeira citação da carteira "Carteira := copy(Linha,83,3);" pois o correto é Carteira := Copy(Linha,108,1); Removido o bloco: ACBrBanco.ACBrBoleto.DataCreditoLanc := StringToDateTimeDef(Copy(ARetorno[1],111,2)+'/'+ Copy(ARetorno[1],113,2)+'/'+ Copy(ARetorno[1],115,2),0, 'DD/MM/YY' ); Pois as posições que estão sendo copiadas são referente ao filler – brancos, não tem valor algum. Incluso CodigoLiquidacao := Copy(Linha,83,2); //Código Lançamento (Aviso de Movimentação) Obs.: O nosso número não foi alterado visto que foi orientado recalcular o digito para compor o mesmo. Segue unit em anexo. ACBrBancoBanestes.pas
  11. Boa tarde, Acho interessante observar se realmente será necessário uma nova propriedade. Não há necessidade de criar uma nova propriedade para tratar o "Código do Lançamento (Aviso Movimentação)". Podemos usar a propriedade "CodigoLiquidacao". Para isso basta acrescentar na procedure LerRetorno400 o código CodigoLiquidacao := Copy(Linha,83,2); //Código Lançamento (Aviso de Movimentação) Juliana, você prefere que eu inclua esse código, ou quando você for disponibilizar os demais itens solicitados pelo colega você faz essa inclusão? Att
  12. Bom dia, quais são os códigos de ocorrência que estão no seu arquivo retorno? Qual banco?
  13. Boa tarde, Esse erro é apresentado pelo programa do banco do brasil? Caso seja, já tentou o suporte do banco para ter mais informações?
  14. Boa tarde, Tem alguns tópicos que tratam desse assunto... Sugiro da uma olhada.... Att
  15. Boa tarde O arquivo refere-se à relatório solicitado no NET EMPRESA na opção: COBRANÇA/Relatórios, quando realiza a pesquisa e clica em gerar relatório/arquivo, esse arquivo fica disponível na forma de RETORNO. Att
  16. Prezado, Acho que não foi implementado ainda, pois se alguém tivesse implementado com certeza teria já sido subido ao svn! O que sugiro você fazer é pegar o manual do banco pegar um unit parecida e implementar! Depois de homologado, cria um tópico da unit SafraItau para o pessoal avaliar e subir ao svn. Att
  17. Prezados, Realizei algumas alterações bem como correções na unit “ACBrBancoBanestes”, sendo elas: procedure LerRetorno400 No manual na pagina 14 item 6.1.2 fala a respeito do tamanho do nosso numero no arquivo retorno Notem que o nosso numero é composto de 10 números, mas eles estava copiando apenas 8. Corrigido isso. Antes: NossoNumero := Copy(Linha,63,8); Depois: NossoNumero := Copy(Linha,63,10); Também a propriedade "Carteira" está sendo atribuída com sendo aviso de movimentação. Mas logo abaixo no código a mesma "Carteira" está sendo atribuída com a informação correta. 1 Vez: Carteira := copy(Linha,83,3); 2 Vez Carteira := Copy(Linha,108,1); Removido a primeira citação da carteira "Carteira := copy(Linha,83,3);" pois o correto é Carteira := Copy(Linha,108,1); Removido o bloco: ACBrBanco.ACBrBoleto.DataCreditoLanc := StringToDateTimeDef(Copy(ARetorno[1],111,2)+'/'+ Copy(ARetorno[1],113,2)+'/'+ Copy(ARetorno[1],115,2),0, 'DD/MM/YY' ); Pois as posições que estão sendo copiadas são referente ao filler – brancos, não tem valor algum. Criado variável “CodAvisoMov” referente ao “Código do Lançamento (Aviso Movimentação)” No manual na pagina 14 menciona essa informação que vem no retorno. No anexo XII contém uma lista de códigos que segundo o banco são meios para identificar se deve ou não realizar a baixa. Por exemplo, o banco informou que se nesta posição vier os códigos abaixo a baixa poderá ser processada. Obs.: Apesar desta informação ser parecida com o código de ocorrência, não é a mesma coisa, por exemplo no arquivo de retorno mencionado acima, temos duas informações em cada uma de suas posições. Segue unit em anexo. ACBrBancoBanestes.pas
  18. Bom dia, na pasta dos fontes com a unit "ACBrBancoSafraBradesco.pas", faz um teste pois provavelmente sim. Melhor dizendo, não tem referencia de Safra com Itau, então provavelmente não
  19. Bom dia, na pasta dos fontes com a unit "ACBrBancoSafraBradesco.pas", faz um teste pois provavelmente sim.
  20. O que seria essa "DataBaixa"? na unit "ACBrBancoHSBC" não tem essa implementação. De qualquer forma, pelo nome, acredito que pode usar essa mesma ideia.
  21. Entendeu Célio? Para simplificar para você. Antes do seu código: Coloque: Veja se terá a data que deseja.
  22. Essa variável que você esta usando "DataCredito" está em outro ponto if Trim(Copy(ARetorno[0], 12, 15)) = 'COBRANCA CNR' Then begin if StrToIntDef(Copy(Linha, 83, 6), 0) <> 0 Then DataCredito := StringToDateTimeDef(Copy(Linha, 83, 2) + '/' + Copy(Linha, 85, 2) + '/' + Copy(Linha, 87, 2), 0, 'DD/MM/YY'); Como seu arquivo é "COBRANCA" ele não atende a esse requisito e não entra neste bloco, além de não ter data nesta posição 83. Recomendo que você use como data de recebimento a data de ocorrencia. Caso você esteja passando para seu dataset a data de credito, poderá fazer algum tratamento antes para que sempre sua data de crédito tenha valor, como por exemplo: //Feito isto para garantir que a data de crédito (data de recebimento) sempre tenha valor, mesmo para bancos que não retornem nesta variavel "DataCredito" (Ex. HSBC) if (ACBrBoleto1.ListadeBoletos.Objects[i].DataCredito = 0) then ACBrBoleto1.ListadeBoletos.Objects[i].DataCredito := ACBrBoleto1.ListadeBoletos.Objects[i].DataOcorrencia else if (ACBrBoleto1.ListadeBoletos.Objects[i].DataOcorrencia = 0) then ACBrBoleto1.ListadeBoletos.Objects[i].DataCredito := ACBrBoleto1.DataCreditoLanc; //
  23. Analisando a posição 120 do registro header em anexo contém a data 10/05/16
  24. Boa tarde Célio, Posta seu arquivo retorno para darmos uma olhada no conteúdo dele
  25. Bom dia, No HSBC o código do cedente é a conta do cliente (Conta+DigitoConta), esse pedaço do código deve ser por motivo de muitas das rotinas terem sidas copias e ajustadas para cada banco e esse código ficou sobrando, pois essa variavel " rCodigoCedente " só é usada para comparar se o cedente é válido "LeCedenteRetorno" assim como já é feito com a agencia e conta logo abaixo no mesmo bloco do código. Ccomo ele está lendo " ARetorno[0] " significa que está lendo o arquivo header. No arquivo header nesta posição vem brancos. O que você precisa? Talvez falando a informação que precisa poderemos de dizer onde busca-la.
×
×
  • 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.