Ir para conteúdo
  • Cadastre-se

Luciano Rodrigues Pereira

Membros
  • Total de ítens

    233
  • Registro em

  • Última visita

Tudo que Luciano Rodrigues Pereira postou

  1. O ACBrBancoBanese não estava de acordo com o Manual do banco, inclusive no cálculo do digito verificador do nosso número, então fiz algumas mudanças no mesmo. Fiz os testes e homologuei a remessa e os boletos junto ao banco. A homologação foi feita com sucesso. Seguem as alterações realizadas e o arquivo ACBrBancoBanese.pas com as alterações realizadas. Seria bom subir o pas não? function TACBrBancoBanese.CalcularDigitoVerificador( const ACBrTitulo: TACBrTitulo ): String; var ADigitoNossoNumero : string; begin Modulo.CalculoPadrao; Modulo.MultiplicadorFinal := 13; Modulo.Documento := ACBrTitulo.NossoNumero; Modulo.Calcular; AdigitoNossoNumero :=IntToStr(Modulo.DigitoFinal); Result:= AdigitoNossoNumero; end; // NÃO LEVAVA EM CONTA A AGÊNCIA NO DOCUMENTO (AAANNNNNNNN) E PARA QUE MultiplicadorFinal:= 13 ? // TROCADO POR function TACBrBancoBanese.CalcularDigitoVerificador( const ACBrTitulo: TACBrTitulo ): String; begin Modulo.CalculoPadrao; Modulo.Documento:= PadLeft(ACBrTitulo.ACBrBoleto.Cedente.Agencia, 3, '0') + RightStr(ACBrTitulo.NossoNumero, 8); Modulo.Calcular; Result:= IntToStr(Modulo.DigitoFinal); end function TACBrBancoBanese.MontarCampoNossoNumero ( const ACBrTitulo: TACBrTitulo ) : String; begin ACBrTitulo.NossoNumero := IntToStrZero( StrToIntDef((Trim(ACBrTitulo.NossoNumero)+Trim(CalcularDigitoVerificador(ACBrTitulo))),0) ,Self.TamanhoMaximoNossoNum); Result := ACBrTitulo.NossoNumero; end; // ACBrTitulo.NossoNumero:= ... MODIFICA O NOSSO NÚMERO, ACRESCENTANDO O DIGITO AO MESMO. // E SE VC PRECISAR CHAMAR A FUNÇÃO UMA SEGUNDA VEZ (PARA GRAVAR O NOSSO NRO MONTADO POR EXEMPLO) VAI BUGAR // PORQUE VC ESTARÁ CRIANDO UM NOVO NOSSONUMERO (AGORA COM O DIGITO) PARA CALCULAR UM NOVO DIGITO // TROCADO POR function TACBrBancoBanese.MontarCampoNossoNumero ( const ACBrTitulo: TACBrTitulo ) : String; begin result:= IntToStrZero( StrToIntDef((Trim(ACBrTitulo.NossoNumero)+Trim(CalcularDigitoVerificador(ACBrTitulo))),0) ,Self.TamanhoMaximoNossoNum); end; function TACBrBancoBanese.CalcularCampoASBACE(const ACBrTitulo: TACBrTitulo): string; ANossoNumero := Copy(Trim(ACBrTitulo.NossoNumero), 1, ACBrTitulo.ACBrBoleto.Banco.TamanhoMaximoNossoNum); // TROCADO POR ANossoNumero := MontarCampoNossoNumero(ACBrTitulo); ACBrBancoBanese.pas
  2. Atualizei o ACBr e agora quando vou compilar minha aplicação está dando o seguinte erro: Unit Jsons not found em Fontes\ACBrTCP\ACBrIBGE.pas na linha --> uses strutils, dateutils, blcksock, Jsons, ACBrUtil; Como faço para corrigir?
  3. Tem razão, a Unicredi está com um número próprio de compensação nacional. Peça a Agência do seu cliente para lhe mandar a logo. Vou ver mais tarde aqui se tenho, caso tenha lhe mando.
  4. Veja o número do banco no seu boleto ou em um talão de cheques da cooperativa, 759 é Sicredi. Se for outro procure no Google a relação dos números dos bancos e identifique qual essa unicredi está usando. Aí vc vai usar a logo do banco em questão. Não só a logo, mas todo o layout em questão.
  5. Como já expliquei, não existe o banco Unicredi, mas sim a cooperativa Unicredi. Leia minha resposta anterior. Sou especialista em Gestão de Cooperativas Financeiras e Conselheiro Fiscal de uma Unicredi, mas se não concorda comigo, tudo bem. Veja o número do banco no seu boleto ou em um talão de cheques da cooperativa, 759 é Sicredi. Se for outro procure no Google a relação dos números dos bancos e identifique qual essa unicredi está usando.
  6. Não existe o banco Unicredi. Unicredi é uma cooperativa financeira. As únicas cooperativas que tem banco próprio são o Sicredi e o Sicoob. As demais usam os serviços desses bancos.
  7. Vc deve usar o Sicredi, pois a Unicred usa os serviços do Sicredi, uma vez que a cooperativa Unicredi não tem banco próprio. A não ser que está cooperativa use outro banco cooperado para fazer seus serviços bancários
  8. Não pode saltar a sequencia. Não precisa ser o número do Sequencial igual ao dia, até mesmo porque eu posso ter mais de uma remessa no mesmo dia, mas se a última que você mandou foi a 10, a próxima tem de ser a 11. O ideal mesmo é mandar o Sicredi desabilitar essa função de Verificar Sequencia do Arquivo na carteira de cobrança do cliente. Existe essa possibilidade lá, eu vi pessoalmente no terminal do cara, lá dentro da agência.
  9. Não é a sequencia do nosso número, mas a sequencia do arquivo de remessa. O arquivo de remessa também tem um sequencial no Header do Arquivo, no CNAB240 são as posições 158 a 163, no CNAB400 as posições 111 a 117. Enfrentei esse problema aqui com minha cooperativa que mudou o sistema de cobrança (era Unicred e virou Sicredi) e tive de reiniciar o sequencia do arquivo (começar de 1 novamente). Veja qual foi o último número sequencial do seu cliente ou pergunte ao suporte da Cobrança do Sicredi. No sistema da Sicredi no cadastro da carteira de cobrança também tem a opção dele não verificar esse sequencial da remessa, você pode também pedir ao Sicredi para configurar a carteira de cobrança de seu cliente para não verificar esse sequencial.
  10. Coloque multa e juros na mesma linha ou use o corpo da mensagem como um campo memo (se já não for, eu acho que já é).
  11. Você vai fazer algo como ACBrBoleto1.LerRetorno; for i := 0 to ACBrBoleto1.ListadeBoletos.Count-1 do with ACBrBoleto1.ListadeBoletos.Objects do begin // Acrescenta na Tabela Temporária cds_Previa.Insert; cds_Previa.FieldByName('DT_OCORRENCIA').AsDateTime:= DataOcorrencia; cds_Previa.FieldByName('NOSSO_NUMERO').AsString:= NossoNumero; cds_Previa.FieldByName('SEU_NUMERO').AsString:= SeuNumero; cds_Previa.FieldByName('SACADO').AsString:= Sacado.NomeSacado; cds_Previa.FieldByName('DT_VENCIMENTO').AsDateTime:= Vencimento; cds_Previa.FieldByName('VL_TITULO').AsCurrency:= ValorDocumento; cds_Previa.FieldByName('VL_DESCONTO').AsCurrency:= ValorDesconto + ValorAbatimento; cds_Previa.FieldByName('VL_TAXA').AsCurrency:= ValorDespesaCobranca; cds_Previa.FieldByName('VL_MULTAJUROS').AsCurrency:= ValorMoraJuros; cds_Previa.FieldByName('VL_OUTROSACR').AsCurrency:= ValorOutrasDespesas; cds_Previa.FieldByName('VL_RECEBIDO').AsCurrency:= ValorRecebido; cds_Previa.FieldByName('TIPO_OCORRENCIA').AsString:= TipoOcorrenciaToStr(OcorrenciaOriginal.Tipo); cds_Previa.FieldByName('OCORRENCIA_ORIG').AsString:= OcorrenciaOriginal.Descricao; cds_Previa.FieldByName('MOTIVO_REJEICAO').AsString:= DescricaoMotivoRejeicaoComando.Text; Depois você executa uma USP no seu banco para processar as baixas dm.AdoSP.ProcedureName:= 'usp_ProcessaRetorno'; dm.AdoSP.Parameters.Refresh; dm.AdoSP.Parameters.ParamByName('@ID_CARTEIRA').Value := dsCarteira.DataSet.FieldByName('ID').AsInteger; dm.AdoSP.ExecProc; E como você vai identificar quais foram os que forma pagos? Aqueles cujo TIPO_OCORRENCIA = 'toRetornoLiquidado' são os que foram pagos, aí é só baixar. Espero ter ajudado.
  12. Não tem segredo. Teste vc mesmo, tentando pagar um boleto pelo seu bankline do celular mesmo (é só não confirmar o pagamento). Uma coisa é teste, outra é produção. Se o boleto foi realmente registrado, veio a confirmação do registro através de um retorno. O cliente tb pode verificar no próprio site do banco se o boleto consta lá como registrado (ou baixado).
  13. Vc enviou a remessa? Conferiu se o banco retornou o registro dos boletos sem erro?
  14. Eu trabalho com o ACBr com diversos bancos e nunca vi ele gerar um nosso número diferente daquele da propriedade Nosso Número do componente, até mesmo porque ele não gera nenhum nosso número, ele usa o que vc informa. Veja as propriedades, carteira, layout remessa, etc. Para a impressão tb não precisa gerar a remessa antes e ele vai usar o nosso nueque vc o informou. Dá uma olhada nos exemplos do componente. Eu tb trabalgo com o Sicredi e foi homologado de boa.
  15. Não havia acentuação ou caracteres especiais no endereço? Talvez o sistema tenha transformado os caracteres especiais nesse #$D
  16. Você tem de mandar separados. Uma linha para o vencimento e outra para o valor.
  17. Unicredi é uma cooperativa que não tem um banco por trás, como acontece com o Sicoob que é proprietária do banco cooperativo Bancoob. Por isso essas cooperativas contratam os serviços de um banco cooperativo de outras cooperativas. Muitas vezes o Sicredi. Veja com a cooperativa qual o banco que eles usam. É só ver o código do banco no talão de cheque deles. Se for 748 é o Sicredi.
  18. Provavelmente o título não foi registrado. Se o valor for menor de $800 o próprio banco recebe sem o registro, mas para pagar em outros banco tem de ter o registro. Você enviou a remessa e recebeu o retorno com a confirmação do registro desses títulos?
  19. Provavelmente ainda não foi registrado. Só é registrado depois que chega o retorno. Você recebeu o retorno e nele consta registrado com sucesso?
  20. Estou tendo problemas direto com o RepublicaVirtual, está sempre fora do ar. Os outros que testei do componente, só pagando uma assinatura mensal. Aí não dá, sai muito caro. Existe outro grátis no componente? Se ao menos o Componente tivesse como tratar o erro de TimeOut, já resolveria minha vida, para eu dar uma mensagem ao usuário e dar a ele a opção de passar sem a consulta.
  21. Terminei agora o Sicoob no meu sistema. O Sicoob não tem homologação. Tem de testar já valendo. Fiz os testes gerando dois boletos de R$ 2.00, enviando remessa, pagando o boleto e processando o retorno, mas tudo valendo.
  22. Na verdade nem através do navegador está funcionando. Nem o link "oficial", que se clica no site do receita que levar para o "Não sou robô" que é o "solicitacao.asp" está funcionando. Em resumo, esse serviço do Governo assim como tudo nesse governo não está funcionando, um verdadeiro lixo. E agora estão querendo até vender consulta à Cnpj, um verdadeiro desespero. Mas acredito que essa consulta deva ser uma consulta mais rica, como se fosse um Serasa, a consulta simples de dados cadastrais deve permanecer aberta. Eu acho... Vai saber, esse governo está desesperado por dinheiro para continuar alimentando a corrupção. Acredito que essa consulta deva ser uma consulta mais rica, como se fosse um Serasa, com informações de divida pública, etc. A consulta simples de dados cadastrais deve permanecer aberta. Eu acho... Vai saber, esse governo está desesperado por dinheiro para continuar alimentando a corrupção.
  23. Na verdade os fontes do ACBr já estão assim, e comigo não está funcionando.
  24. Como está a situação? Aqui também não funciona mais já tem um tempo. Acho que vão usar o captcha do Google ou o "Não sou robô". Eles não vão deixar mais de uma opção.
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...