Ir para conteúdo
  • Cadastre-se

Eliezer Riani

Membros
  • Total de ítens

    6
  • Registro em

  • Última visita

Tudo que Eliezer Riani postou

  1. Sim. Arquivo em anexo. Alteração na linha 361. ACBrBoletoW_BancoBrasil_API.pas
  2. Eu observei uma crítica de código 4678420 e mensagem "Campo texto utilizado beneficiário preenchido com dados inválidos." na API do BB ao tentar incluir uma cobrança com o valor da propriedade "campoUtilizacaoBeneficiario" do JSON preenchido com o conteúdo "MULTADER$379PORATRASODEPAGAME". A documentação que encontrei do BB orienta que esta propriedade seja preenchida com "UM TEXTO", que "Pode ter até 30 caracteres, em maiúsculas", veja no print em anexo ou diretamente no link: https://apoio.developers.bb.com.br/referency/post/5ffc477c3b02bd0012ecaa1a. Eu só consegui superar esta crítica após retirar o caractere "$" do conteúdo. Ao inspecionar a execução do código pude notar que a procedure TBoletoW_BancoBrasil_API.RequisicaoJson preenche esta propriedade com um valor tratado pela função ACBrUtil.Strings.TiraPontos. Esta função retira também os espaços da string. Na minha versão desta unit eu fiz a seguinte alteração para enviar o conteúdo com espaços e sem caracteres "não alfa-numéricos": - Json.Add('campoUtilizacaoBeneficiario').Value.AsString := Copy(Trim(StringReplace(UpperCase(TiraPontos(ATitulo.Mensagem.Text)),'\r\n',' ',[rfReplaceAll])),0,30); + Json.Add('campoUtilizacaoBeneficiario').Value.AsString := Copy(Trim(StringReplace(UpperCase(OnlyCharsInSet(ATitulo.Mensagem.Text,['A'..'Z','a'..'z','0'..'9',' '])),'\r\n',' ',[rfReplaceAll])),0,30); Eu verifiquei no SVN a última versão das units envolvidas antes de criar este tópico.
  3. Eu entendo que ele citou qual seriam as características ideais para uma biblioteca, sendo que, até o momento, nenhuma das que o ACBr utiliza atende a todas as características. Nem por isso elas deixam de estar funcionais para um ou outro ambiente, estando sempre atualizadas no SNV. O que está acontecendo neste momento com a versão da ACBrDFeHttpIndy disponível no SVN é que ela sempre vai lançar o Exception no Delphi Rio, pois chama a procedure InternetSetOption passando no primeiro parâmetro um THTTPClient, quando na verdade, deveria passar um hInternet, ou seja, está inutilizável. Com a alteração proposta pelo @Delcio, temos a ACBrDFeHttpIndy funcional novamente, ainda que continue não tendo as "características ideais", ela mentém a implementação atual para os compiladores < 33 (até Delphi Tokyo) e introduz a nova implementação adequada ao Delphi Rio.
  4. Experimentei o mesmo problema relatado pelo @Delcio na primeira mensagem. Baixei a implementação da unit disponibilizada neste post e o erro foi sanado, a NFe é emitida sem erro, compilando no 10.3.3. Fiz apenas uma alteração, que foi a remoção do uses da Winapi.WinHTTP. Pesquisei um pouco a respeito da origem do problema e encontrei a resposta que foi definitiva para mim: A partir do Delphi Rio (10.3) o evento THTTPReqResp.OnBeforePost teve a sua assinatura alterada de OnBeforePost(const HTTPReqResp: THTTPReqResp; ARequest: Pointer) para OnBeforePost(const HTTPReqResp: THTTPReqResp; Client: THTTPClient); Como é visível, não temos mais o ponteiro do Request para acionar o método InternetSetOption que era utilizado até então para informar o certificado digital. Na nova implementação, o @Delcio estendeu THTTPClient para ter acesso ao FWinCertList, se valendo disto e do evento OnNeedClientCertificate para setar o certificado digital. As configurações de proxy continuam sendo setadas em OnBeforePost mas de uma forma diferente, setando direto no THTTPClient, visto que não há mais acesso ao Pointer. A questão que trago é que estes ajustes necessários para se adequar às novas versões do Delphi, em especial, às novas implementações do Indy, ainda não estão disponíveis no SVN do ACBr. Seria possível disponibilizar no SVN? Há alguma pendência a ser resolvida na unit antes que seja disponibilizada?
  5. Oi @Daniel Simoes, obrigado pelo ótimo trabalho! O problema que relatei neste tópico tem relação com os "ajustes para impressoras que não suportam Fontes Condensadas" que você citou acima?
  6. Olá! Estou com o Gertec GPOS 700 para testes. A emissão de NFCe ocorreu com sucesso utilizando o aplicativo de exemplo do Régys (https://www.youtube.com/watch?v=7zPZ1ByW_L8) Enfrento problemas com a impressão do DANFCe, como é possível observar nas imagens em anexo. Testei várias combinações de configuração. O único modelo em que o QRCode é impresso é o ppEscZJiang.
×
×
  • 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.