Ir para conteúdo
  • Cadastre-se

Jéter Rabelo Ferreira

Membros
  • Total de ítens

    539
  • Registro em

  • Última visita

  • Days Won

    5

Posts postados por Jéter Rabelo Ferreira

  1. Prezados.

    O arquivo NFSeBrasil.Provider.pas sofreu alterações, o que está gerando problemas ao ler o XML de retorno.

    Ao efetuar a consulta das notas, e o componente tentar abrir o arquivo XML, o erro retornado é o seguinte:

    --ERROS--
    Código  : X999
    Mensagem: Erro de Conexão: Input is not proper UTF-8, indicate encoding !
    Bytes: 0xEA 0x6E 0x69 0x6F

    Acrescentei as linhas excluídas e voltou ao normal.

    Segue a unit corrigida.

    Atenciosamente.

    NFSeBrasil.Provider.pas

  2. Prezados.

    Estou configurando meu ambiente para iOS e o ACBrInstall não está adicionando as library path's do ambiente iOS Device.

    Embora que no LOG de instalação consta que foi adicionado.

    Delphi 12

    Atenciosamente.

  3. Olá.

    Fui efetuar uns testes com o DANFSExPDF e me deparei com alguns problemas

    ACBrNFSeXDANFSeFPDFClass.pas

    • Nome da Software House estava fixo como "Nuvem Fiscal"
    • Não imprimindo as Logos.

    ACBrUtil.FilesIO.pas

    • Na chamada da função FileToBytes para transformar as LOGOS em TBytes, o parâmetro bytes dessa função, por ser de retorno, se não incluir o OUT nela o retorno é um array de bytes vazio.

    Seguem a unit's ajustadas ( FilesIO está "zipado" pois não estava conseguindo adicioná-lo)

    Atenciosamente.

     

     

    ACBrNFSeXDANFSeFPDFClass.pas ACBrUtil.FilesIO.pas.7z

  4. Prezados.

    A unit em questão não está obedecendo o PathPDF informado para que o arquivo PDF possa ser gravado nela.

    A property posCanhoto está vindo com um valor inválido, com isso, a NF-e fica sem o canhoto. (Apenas comentei essa linha, dessa forma, o canhoto é impresso no cabeçalho).

    Segue a unit ajustada.

    Atenciosamente.

    ACBrNFeDANFeFPDF.pas

    • Curtir 1
  5. 21 minutos atrás, Jéter Rabelo Ferreira disse:

    Olá @Warquia

    Desculpa a demora em responder, mas tivemos alguns imprevistos aqui e estou conseguindo testar e responder somente hoje.

    Seguinte, o ajuste para a impressão do boleto enviado por WS e retirando o dígito deu certo.

    Mas, nosso cliente envia arquivo remessa dessa carteira também, com a solução proposta, resolve o problema o boleto WS mas atrapalha o boleto feito por remessa.

    Se a impressão for feita 1 a 1 boleto, dá pra contornar, mas, se for impressão de vários boletos, 1 de remessa e outro WS,  teremos problemas.

    Vou fazer mais alguns testes para tentar achar uma solução para os dois casos. 

    Consegui resolver calculando o digito verificador  e adicionando o mesmo no campo NossoNumero antes de enviar ao WS.

    Dessa forma, nosso número 3113118 foi enviado ao banco como 31131182.

    O nosso número retornado foi o mesmo que o retornado pelo banco

    03399.35686 18000.000317 13118.201014 7 94880000001200 - Retorno Banco
    03399.35686 18000.000317 13118.201014 7 94880000001200 - ACBr
    
    03399356861800000031713118201014794880000001200 - Retorno Banco
    03399356861800000031713118201014794800000001200 - ACBr

    Com isso, as alterações efetuadas na unit ACBrBancoSantander para a retirada dos dígitos não se faz necessária.

    Atenciosamente.

  6. Em 20/06/2023 at 15:08, Warquia disse:

    Segue conforme combinado com algumas observações:

    Digito verificador nosso número no ACBrBancoSantander.pas: @Daniel InfoCotidiano foi modificado a classe para não ser gerado o dígito verificador quando for via api VersaoDF = 'V1' @Jéter Rabelo Ferreira favor valíde no seu sistema porque possívelmente esteja queimando uma faixa de número quando for api, Ex: nosso número = 4 quando foi preenchido o boleto para visualização a linha digitável ficou diferente com o que foi gerado no banco. Nesse exemplo ficando 43 dentro da linha digitável ou seja (4 nosso número + 3 dígito verificador), logo você não vai conseguir utilizar o nosso número somente com o 43. Segue print do email trocado com o banco 
    image.thumb.png.5e173dd84e0d7d713ff3f8eb625bdf38.png

     

    @Jéter Rabelo Ferreira Na última classe enviado por você, especificamente TBoletoW_Santander_API.GerarPagador  existe o seguinte linha: 

    JsonDadosPagador.Add('neighborhood').Value.AsString   := Copy(OnlyAlphaNum(Sacado.Bairro), 1, 30);

       Foi removida a chamada da funcão OnlyAlphaNum motivo: A funcão remove espaços da string Ex: "CIDADE JARDIM" tornando dentro do banco "CIDADEJARDIM" e o banco aceita espacos
       deixei a critério da sua automação fazer a limpeza dos campos. Ps: caso necessite posso enviar a função pois ela deve ser tratada não somente no bairro mas em cedente, endereço, cidade e etc..

     

    Não foi implementado ainda a consulta de boletos pois o mesmo só possui endpoint para consultar individualmente boleto pelo Nosso número, foi solicitado ao banco consulta em lista com mais filtros ex: data de recebimento, data de processamento etc, conforme outro bancos, e o mesmo respondeu que já estão trabalhando nisso, segue print da conversa.

    ps: por falta de tempo não implementei a consulta índividual, mas pretendo assim que o banco liberar a consulta em lista
    image.thumb.png.7c52139c5c864f19047ce241cbbfcbe0.png

     

     

    ACBrBoletoSantander.zip 26.22 kB · 6 downloads

    Olá @Warquia

    Desculpa a demora em responder, mas tivemos alguns imprevistos aqui e estou conseguindo testar e responder somente hoje.

    Seguinte, o ajuste para a impressão do boleto enviado por WS e retirando o dígito deu certo.

    Mas, nosso cliente envia arquivo remessa dessa carteira também, com a solução proposta, resolve o problema o boleto WS mas atrapalha o boleto feito por remessa.

    Se a impressão for feita 1 a 1 boleto, dá pra contornar, mas, se for impressão de vários boletos, 1 de remessa e outro WS,  teremos problemas.

    Vou fazer mais alguns testes para tentar achar uma solução para os dois casos. 

    • Curtir 1
  7. Em 28/06/2023 at 08:39, Daniel InfoCotidiano disse:

    Bom dia @Jéter Rabelo Ferreira !!!!!!
    Estávamos analisando o retorno, a documentação que temos talvez esteja desatualizada, pois o retorno é da forma q está atualmente, definida como campos:
    Screenshot_116.png

    Você tem um manual ou alguma documentação mais recente para nos passar por favor, com esta alteração para "mensagem" que vc fez.
    Assim deixo documentado aqui.

    Obrigado mais uma vez !

    Olá @Daniel InfoCotidiano

    Sim, quando eu disponibilizei esse banco ao ACBr, deixei igual a documentação. Porém, dias atrás tivemos um problema com um cliente, cujo um boleto não era registrado de nenhuma forma.

    Fizemos o teste internamente e verificamos que o JSON de retorno do erro não era igual ao da documentação.

    Efetuamos os ajustes conforme JSON de retorno do banco e descobrimos que o erro era um CEP inválido.

    Nós já tivemos alguns retornos de alguns de nossos clientes que utilizam esse endpoint do Itaú que, ao cliente ir tentar pagar o boleto, o mesmo não se  encontra registrado. Esse fato e o problema do CEP relatado acima nos leva a crer que realmente o que está na documentação não reflete o retorno efetivo,

    Antes dessa correção, nenhum cliente nosso reclamou de erro ao registrar um boleto no Itaú. Depois disso, tivemos alguns ticket's a respeito disso.

    Vou tentar simular um desses erros e posto o JSON de retorno do erro.

    Se for o caso, poderemos tratar das duas formas, visto que, pelo jeito, a documentação não reflete a realidade (e não seria a primeira vez que vi isso no tocante a bancos).

    Atenciosamente.

  8. 6 minutos atrás, Daniel InfoCotidiano disse:

    Bom dia !
    Q estranho era para estar  funcionado com 'V1', olhe como ficou ACBrBoletoWS que lhe enviei:Screenshot_77.png

    Bom dia.

    Vou refazer os testes aqui e volto a posicionar.

    Atenciosamente.

    • Curtir 1
  9. Em 17/06/2023 at 19:25, Warquia disse:

    Boa noite @Jéter Rabelo Ferreira , Sim o componente está utilizando sua classe ACBrBoletoW_Santander_API que é baseada em REST, mas para ela ser utilizada devemos passar no componente 

    ACBrBoleto.Configuracoes.WebService.VersaoDF := 'V1';

    Caso contrário realmente ele vai utilizar o padrão Soap, segunda sem falta vou postar o código com algumas melhorias em cima da sua classe para você nós ajudar na análise.

    TMJ

    Bom dia.

    Sim, eu informei e não funcionou.

    Além do que o retorno ficou com o SOAP, que não tem nada a ver com o Rest/JSON

    Atenciosamente.

  10. Em 09/06/2023 at 16:59, Daniel InfoCotidiano disse:

    Boa tarde @Warquia
    O @Jéter Rabelo Ferreira tinha criado, mas como padrão a equipe de boleto, removeu a propriedade workspace, mas se vc informar o workspace no CedenteWS.KeyUser vai funcionar.
    Esta instrução está dentro do leiame.txt
    No arquivo anexado acima.

    image.png

     

    Daniel, boa tarde.

    Fui fazer os testes, mas houveram algumas confusões.

    O Santander que existe hoje em dia é utilizando SOAP (XML), o que eu desenvolvi é outra realidade, utilizando o Rest/Json, por isso coloquei o nome Santander_API (Ficando igual ao utilizado atualmente no Banco do Brasil)

    A Unit ACBrBoletoW_Santander_API.pas não é utilizada em nenhum momento nas suas alterações, portanto, não é utilizada em nenhum momento..

    O Retorno do WebService Rest/Json não tem nada a ver com o Ret atual, que é SOAP.

    Vou ajustar os arquivos utilizando o KeyUser e reenviar para vocês.

    Atenciosamente.

    • Curtir 1
  11. Boa tarde.

    Desculpem a demora em responder, essa semana ainda eu efetuo uns testes nas alterações efetuadas.

    Atencioamente.

    Em 09/06/2023 at 12:28, Warquia disse:

    @Jéter Rabelo Ferreira boa tarde, Você criou o "Workspaces" via postman ou dentro da aplicação do banco?

    Olá, criei no PostMan. Como é feito apenas uma vez, não achei necessário incluir isso no componente.

    Atenciosamente.

     

    image.thumb.png.fcf218cdf7673b6e131a494d0a583508.png

    • Curtir 2
  12. @pedro.korp, o Santander possui duas formas de emitir boletos WEB

    O ACBr tem a implementação (não testei) com utilização de XML.

    Eu enviei umas unit's no dia 11/04, com a versão de boleto por API (Rest/JSON), que pode ser encontrada no post 

    Porém essa versão não está disponível no componente ainda.

    Você tem que ver no manual enviado pelo banco de qual ambiente é para você utilizar.

    Atenciosamente.

  13. Olá

    Recebi uma documentação do Santander para o registro de BoletoWEB, mas é totalmente diferente da que foi postada aqui.

    Essa é REST/JSON, nada de XML

    Vou adicionar a documentação aqui, com o arquivo yaml(SWAGGER) das requisições.

    Como o nosso colega disse que já foi homologado o dele, pra não ter problemas, vou criar um banco Santander_API.

    Assim que terminar adiciono os arquivos.

    Atenciosamente.

    Obs.: Não aceitou que eu adicionar o manual, pois tem mais de 2mb.

    SWAGGER - BankSlip Management V2.1.2.yaml

    • Curtir 2
  14. 1 hora atrás, EMBarbosa disse:

    Oi Jéter, tudo blz?

    Você tem mais de um Delphi na máquina? Quais as opções que você marca no ACBrInstall?

    Boa tarde.

    Eu mantenho uma VM para cada versão de Delphi. 

    Não altero as opções default do ACBrInstall, e instalo todos os pacotes. (Selecionando todas as plataformas).

    Atenciosamente.

  15. Boa tarde Rafael.

    Para posicionar as pessoas, o ambiente de homologação não valida o JSON de envio, e retorna um boleto padrão.

    O @Rafael Mozervai ter uma reunião com o pessoal do Banco Itaú.

    Enviei as unit's que eu havia alterado/criado para que ele possa analisar juntamente com a que ele havia feito.

    Qualquer novidade, informamos aqui.

    Atenciosamente.

×
×
  • 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...