Ir para conteúdo
  • Cadastre-se

Luciano Rodrigues Pereira

Membros
  • Total de ítens

    108
  • Registro em

  • Última visita

Tudo que Luciano Rodrigues Pereira postou

  1. Fiz a alteração no ACBrBoletoW_Sicredi_APIV2, rodei o ACBrInstall_Trunk2, fui no Delphi no meu app, recompilei e fiz um Build e agora FUNCIONOU. Estou anexando o ACBrBoletoW_Sicredi_APIV2.pas com a alteração. ACBrBoletoW_Sicredi_APIV2.pas
  2. Eu já faço assim. Vem dando aquele erro de AV nas alterações e baixa (outro tópico) mas rodando diretamente do EXE funciona (por conta dos try/catch). O problema agora é só em alterar a data limite do desconto. Alterar data limite do desconto - Não dá pau, mas retorna com um código de erro 422 que eu explico abaixo: HTTP_UNPROCESSABLE_ENTITY (422) - Operação não permitida: Necessário informar pelo menos um dos descontos. Isso ocorre porque o ACBr está tentando montar a URL de requisição com os campos dataDesconto1, dataDesconto2 e dataDesconto3 e no manual do Sicredi página 78 diz que são data1, data2 e data3.
  3. Muitas vezes o cliente emite boletos com valor de desconto quando pagos até o vencimento. Quando a gente quer alterar o vencimento e manter o desconto, neste caso é preciso enviar uma alteração de vencimento (já estou conseguindo enviar), uma alteração da data limite do desconto (que será o novo vencimento) este está com erro (outro tópico criado por mim, já anexei o manual do Sicredi) e por último posso opcionalmente mudar o valor do desconto também. No caso do valor do desconto, posso apenas mudar o valor sem mudar as datas, são coisas independentes. No Manual do Sicredi mostra em sua página 69 como alterar o valor do desconto, não sei como funcionaria nos outros bancos. Tentei fazer isso da forma abaixo mas deu pau, conforme imagem em anexo. Boleto1.ListadeBoletos.Clear; titulo:= AddTituloNaLista(); /// aqui vai fazer Titulo:= Boleto1.CriarTituloNaLista; e setar todos os campos. titulo.DataDesconto := edVencimento.Date; titulo.ValorDesconto:= edVl_MsgDesconto.Value; Boleto1.Configuracoes.WebService.Operacao := tpAltera; titulo.OcorrenciaOriginal.Tipo:= toRemessaAlterarOutrosDados; Boleto1.enviar; Eu já fazia isso através da troca de arquivos (Remessa/Retorno), mas na API não estou sabendo como fazer. Se não é da maneira acima, como é?
  4. Esse pastebin é só texto, não tem como anexar um PDF. Então estou compartilhando através de meu Onedrive. Você tem o print aí também. Manual da API da Cobrança - 3.3.pdf
  5. Eu até mudei, reinstalei o ACBr novamente mas deu pane. Talvez a mudança não seja só nestas linhas, não sei dizer. Eu não consigo anexar o manual atualizado do Sicredi (versão 3.3 de 20/03/2024) por aqui por conta do tamanho do arquivo, mas você tem o print da página do manual aí no chamado. Vejam se corrigem isso aí, porque quando se tem um valor de desconto no boleto até o vencimento e você muda o vencimento, tenho de mudar também a data do desconto para a nova data de vencimento.
  6. 1. Instalei o Delphi e o ACBr (atualizado) do zero em outro computador e o erro persiste, então não é meu Delphi. E nem poderia ser, porque Registro e Consulta de boletos funcionam. 2. Em relação aos meus fontes, deixei para lá e fiz os testes no exemplo do ACBr (ACBrBoletoDemo), mas lá só tem Registro e Consulta de boletos e essas funções estão funcionando sem problema. Então mudei a Consulta para Baixa (é só usar a operação tpBaixa e ocorrencia original toRemessaBaixar), só para testar a baixa e o erro de AV também acontece no ACBrBoletoDemo, então não são meus fontes. 3. O erro só acontece quando rodando dentro do Delphi (após compilar), fora do Delphi não tem erro, acredito que por conta de algum try/excep. Mesmo dentro do Delphi, ele dá o erro, mas faz a baixa do boleto no banco corretamente. Então acredito que o problema seja na hora dele ler montar o Json de retorno do banco. 4. Para depurar eu mudei o pas onde acontece o erro (ACBrJSon.pas) para salvar em um txt cada chamada da função onde está o erro, e descobri que o erro é quando a função recebe como parâmetro "nome". Aí ele dá pane quando ele vai fazer LIndex := FJSON.IndexOf(AName); Nos demais campos mesmo com um índice negativo ele não dá erro. Mas no "nome" não tem índice nenhum. Esse "nome" é o primeiro campo dentro de "Pagador", mas Baixa, alteração de vencimento, alteração de data de desconto, alteração do valor de desconto, etc., não tem o campo Pagador como retorno da API. Tenho certeza que se houvesse em ACBrBoletoDemo a função de baixar boleto ou alterar vencimento, vocês veriam o problema. Se puderem testar aí vão ver o problema. Segue o txt que gerei em anexo. ACBrJason.pas function TACBrJSONObject.GetAsValue(const AName: string): TACBrJSONValue; AName: access_token - indice: 0 expires_in - indice: 1 error - indice: 1 status - indice: -1 error - indice: 1 message - indice: 3 erros - indice: -1 codigoBarras - indice: -1 linhaDigitavel - indice: -1 carteira - indice: -1 seuNumero - indice: -1 nossoNumero - indice: -1 pagador - indice: -1 nome <------ AQUI DÁ O ERRO
  7. Para ter certeza que não era meu software eu usei o ACBrBoletoDemo. Só troquei a operacao de tpRegistrar para tpBaixar na procedure do botão "Registra Boleto onLine". E deu o erro de Acess Violation.
  8. Lembrando o processo que faço: Configuro todas as informações do WebService e cedente. Depois eu apenas adiciono o título na lista de boletos com Boleto1.ListadeBoletos.Clear; titulo:= Boleto1.CriarTituloNaLista; titulo.OcorrenciaOriginal.Tipo:= toRemessaBaixar; titulo.NossoNumero := nosso número que estou tentando baixar por exemplo Boleto1.ListadeBoletos.Add(titulo); faço: Boleto1.Configuracoes.WebService.Operacao := tpBaixa; E envio o comando: Boleto1.enviar; A partir daí ele vai baixar com sucesso mas vai dar Acess Violation nesta linha do ACBrJson aí e não tem como depurar a partir do Acess Violation. Portanto, não tem como eu ver o que ele está retornando, Eu acredito que o problema seja quando ele vai montar esse JSon. Mas não tem como eu ver onde está o problema, pois eu só dou o comando enviar e ele não retorna para linha seguinte do meu app, ele dá erro dentro do processo enviar. E o retorno do Json é após (ou na rotina) de enviar. Só lembrando que os comandos de tpRegistrar e tpConsultaDetalhe funcionam de boa, mas tpBaixar e tpAlterarVencimento está com esse problema. O ACBr realmente baixa e altera o vencimento com sucesso, mas logo depois dá o erro de Acess Violation e não retorna. Entendeu?
  9. Eu fiz isso, são a segunda e terceira imagens em anexo. O problema está dentro do meu comando .enviar, dentro desta rotina do ABRr, em ACBrJson, dá uma olhada nos prints, por favor.
  10. V2. Caso tenha que mudar o componente, como e quando se dá essa mudança? Eu mudo aqui e subo a alteração como anexo? ou vocês mudam por aí? É só trocar em ACBrBoletoW_Sicredi_APIV2.pas na procedure RequisicaoAlteraDataDesconto os campos de datas de desconto de datadesconto1, datadesconto2 e datadesconto3 para data1, data2 e data3.
  11. Não entendi, entrar com F7 onde? Outra coisa, na hora de registrar ou consultar não dá erro. Só dá erro na hora de baixar e alterar o vencimento. Mas ele baixa e altera o vencimento com sucesso (como pode ver nos anexos) e só depois dá o acess violation nesta linha aí do ACBr, dentro da rotina de "enviar". Não dá para entender. Acredito que esse acess violation tem a mesma razão em todos os casos, mas não sei que razão é essa. Só lembrando que esses problemas não tinham antes de eu atualizar o ACBr e eu não mudei uma linha sequer na aplicação antes da atualização do ACBr e vinha funcionando perfeitamente. Então só pode ser alguma coisa no componente.
  12. Estou fazendo os testes da API de registro de boletos começando pelo Sicredi. Estava fazendo já o registro, baixa, consulta e alteração de vencimento com sucesso, dando problema apenas na alteração da data limite do desconto (outro tópico). Mas após atualizar o ACBr (rodei o ACBrInstall_Trunk2) para ver se resolvia, só apareceram outros problemas que não existiam como relatado abaixo: 1. Registro - Problema em dados com acentuação, testei retirando os acentos e funcionou, mas são inúmeros clientes. Já existe outro tópico em aberto com o problema. 2. Baixa - Baixa com sucesso, mas dá erro de Acess Violation. Já depurei e é dentro da rotina do enviar. Como pode ver nos prints em anexo 3. Alterar Vencimento - Altera com sucesso, mas dá erro de Acess Violation. Já depurei e é dentro da rotina do enviar. 4. Alterar data limite do desconto. Dá erro de Acess Violation - Outro tópico. Todos esses erros de Acess Violation não tinham antes no ACBr, o debuger por exemplo mostrava o erro do pas do ACBr eemplo: Agora tudo dá erro de Acess Violation, mesmo quando o comando é executado com sucesso. RetornoBaixa.txt RetornoAlteraDataLimiteDesconto.txt RetornoAlteraVencimento.txt
  13. Detectei um problema na alteração da data limite do desconto no nome dos parâmetros que pede o manual e o nome que o ACBr está enviando. O manual do Sicredi pede data1, data2 e data3 e o ACBr está enviando datadesconto1, datadesconto2 e datadesconto3, como pode ver nas imagens em anexo. Por isso dá o erro: 29/03/24 19:13:54:462 - Retorno Envio: TBoletoW_Sicredi_APIV2 29/03/24 19:13:54:462 - C digo do Envio: 422 1.1 Unprocessable Entity 29/03/24 19:13:54:462 - Retorno Envio: Result={"timestamp":"2024-03-29T22:13:54.430+0000","error":"UNPROCESSABLE_ENTITY","code":"422","message":"Opera o n o permitida: Necess rio informar pelo menos um dos descontos."} Só imagino que seja o problema. Já tentei de tudo.
  14. Estou com o mesmo problema. Retirei os acentos e registrou com sucesso, mas só para teste, porque são muitos clientes. Alguma previsão de correção do componente?
  15. Tenho a seguinte situação: Tenho um boleto com vencimento digamos 31/03/2024 com com um valor de desconto para caso seja pago até o vencimento. Agora quero fazer uma alteração no vencimento do boleto para 05/04/2024, mas quero que o desconto passe a ser até o novo vencimento (05/04/2024). Quando trabalhando com troca de arquivos (remessa/retorno) eu enviava duas linhas, uma para a mudança do vencimento(toRemessaAlterarVencimento) e outra para a concessão do desconto (toRemessaConcederDesconto). E trabalhando com a API como faço? quando mando o tipo de operação tpAltera ele está alterando apenas o vencimento e não achei um tipo de operação para o valor e a data limite do desconto. Estou testando no Sicredi e vi que lá seriam 3 comandos de instrução. Um para alterar o vencimento, outro para alterar o valor do desconto e outro para alterar a data limite para o desconto. Eu mando 3 comandos de tpAltera? um com OcorrenciaOriginal.Tipo = toRemessaAlterarVencimento e outro com OcorrenciaOriginal.Tipo = toRemessaConcederDesconto? e a data limite para o desconto? como mando? E vai ser assim para todos os bancos?
  16. O erro era meu. estava enviando a data antes da alteração. Encerrando o chamado
  17. Juliomar, achei que a OcorrenciaOriginal.Tipo que tem valores como toRemessaRegistrar, toRemessaAlterarVencimento, etc. fosse usado apenas na geração de arquivos de remessa e não usando API. De qualquer forma setei o OcorrenciaOriginal.Tipo = toRemessaAlteraVencimento e TOperacao = tpAlterar e testei. O retorno deu Ok, código 202, mas não alterou o vencimento no banco (Sicredi). Testei usando o postman que o banco disponibilizou e funcionou perfeitamente. Alterou no mesmo minuto o vencimento no banco. Help!
  18. Estou começando os testes em meu sistema do registro de boletos via webservice pelo Sicredi. Já consegui registrar, baixar e consultar detalhes dos títulos. Mas não consegui alterar o vencimento. Para registrar usei o TOperacao tpRegistrar, para baixar tpBaixa, para consultar detalhes tpConsultaDetalhe e para alterar o vencimento tpAltera, mas na hora de usar o tpAltera deu a seguinte mensagem de erro: Como faça para fazer a alteração do vencimento? tem alguma coisa a ver o fato de eu estar usando a API versão 2? Eu teria de usar a tal de APIECOMM? eu acho que não tinha conseguido com esta, tinha dado algum erro na hora de validar as credenciais, não lembro ao certo, por isso passei para a V2. Outra pergunta: Para qualquer banco vou usar sempre essas mesmas operações?
  19. Sim, eu sei Juliomar. O que quis dizer é que o Demo não roda sem a linha que acrescentei setando o SeuNumero. Entendeu? E quanto aos outros questionamentos que fiz?
  20. Foi isso que eu disse Juliomar. Nos fontes do DemoBoleto ele não está setando o "SeuNumero". Não existe um caixa de edit para esse campo, só para o Numero do Documento que imagino eu deva ser o SeuNumero também e de qulaquer forma a rotina btnBoletoIndividualClick só seta o NumeroDocumento, não seta seu número, então eu setei para conseguir registrar. Entendeu? Titulo.NumeroDocumento := edtNumeroDoc.Text; <<--------------- É o que existe na rotina Titulo.SeuNumero := edtNumeroDoc.Text; <<--------------- Eu acrescentei. E as demais dúvidas que eu mencionei? Estou desde o dia 26/02 aguardando algumas respostas aqui para dar sequencia aos meus testes. Tem como você saná-las para mim? Eu até pensei em fazer uma assinatura do ACBr para um suporte mais ágil, só para resolver essa questão da API Cobrança, porque eu ainda trabalho com troca de arquivos. Mas eu vi que só existe a assinatura anual, e eu não pretendo levar nem sequer 2 meses para resolver todos os bancos. Aí dificultou a assinatura. Vocês não tem um suporte mais especialista diretamente com vocês? Preciso resolver esse registro onLine, mas no ritmo que está não vou conseguir. Eu queria que você visse todas essas dúvidas que eu postei, por favor.
  21. Nos meus testes do Sicredi de cara já dá erro na hora de tentar registrar um boleto. Cod_Retorno= Msg_Retorno= Ori_Retorno= HTTP_Result=400 JSON={"timestamp":"2024-03-05T13:59:42.984+0000","error":"BAD_REQUEST","code":"400","message":"O seu numero do boleto \u00e9 obrigat\u00f3rio e deve ser preenchido."} [Rejeicao0] Campo= Codigo= Versao=BAD_REQUEST Mensagem=O seu numero do boleto é obrigatório e deve ser preenchido. Ocorrencia= Valor= Como pode ver falta no Demo setar o SeuNumero. Eu corrigi e consigo registrar, mas na hora de consultar o mesmo boleto que acabei de registrar, ele já não encontra. Aliás, quando vou ver no log ele traz sempre o mesmo boleto, você pode consultar qualquer nosso número, qualquer número de documento, qualquer coisa, não interessa, ele vai sempre trazer um boleto que você não faz nem ideia de onde ele tirou. Isso usando a ConsultaDetalhe. Usando a ConsultaLista que ele usa o Filtro, mesmo setando um período tipo, de ontem para hoje, ele traz sempre 500 títulos que tem todos o mesmo nosso número (não sei como pode ser possível dois títulos com mesmo nosso número) e que com certeza não foram movimentados de ontem para hoje. Cod_Retorno= Msg_Retorno= Ori_Retorno= HTTP_Result=200 JSON={"linhaDigitavel":"74891121150023100718882848251011287560000000177","codigoBarras":"74892875600000001771121100231007188284825101","carteira":"SIMPLES","seuNumero":"MOCKDDA","nossoNumero":"211002310","pagador":{"codigo":"02LNG","documento":"01234567890","nome":"PAGADOR DDA"},"beneficiarioFinal":{"codigo":"R8N","documento":"01234567890","nome":"PAGADOR DDA"},"dataEmissao":"2021-08-24","dataVencimento":"2021-09-27","valorNominal":90,"situacao":"LIQUIDADO","txId":"445488181811848","codigoQrCode":"00020126930014br.gov.bcb.pix2571pix-qrcode-h.sicredi.com.br\/qr\/v2\/cobv\/528520acdd5f4740b63b9b643ca2bcf99999999999999999999BR5903PIX6006Cidade62070503***630441AC\n\n","multa":0.05,"abatimento":0,"tipoJuros":"A - VALOR","juros":0.01,"diasProtesto":3,"validadeAposVencimento":1,"diasNegativacao":0,"tipoDesconto":"A - VALOR","descontoAntecipacao":0,"dadosLiquidacao":{"data":"2021-09-27T03:00:00.000+0000","valor":80,"multa":2.67,"abatimento":15.99,"juros":5.13,"desconto":10},"descontos":[{"numeroOrdem":1,"valorDesconto":10,"dataLimite":"2021-10-05"},{"numeroOrdem":2,"valorDesconto":5,"dataLimite":"2021-10-06"},{"numeroOrdem":3,"valorDesconto":3,"dataLimite":"2021-10-07"}]} indicadorContinuidade=0 proximoIndice=0 [Boletos Index = 000] numeroBoletoBB = 211002310 dataRegistro = 24/08/2021 dataVencimento = 27/09/2021 valorOriginal = 90 carteiraConvenio = SIMPLES variacaoCarteiraConvenio = 0 codigoEstadoTituloCobranca = 6 estadoTituloCobranca = LIQUIDADO contrato = dataMovimento = 30/12/1899 dataCredito = 30/12/1899 valorAtual = 0 valorPago = 80
  22. Desconsidere a pergunta acima, eu corrigi mas não deu tempo de editar. Segue a pergunta correta: Já consegui testar, mas fiquei com algumas dúvidas: Eu adicionei na lista de títulos, um único titulo e mandei fazer a consulta (eu nem havia enviado o registro do titulo ainda). Usei operacao = tpConsulta e o ACBr retornou 501 registros de retorno. Quando eu utilizei operacao = tpConsultaDetalhe, aí não retornou nenhum, que é o correto, porque o título que estou consultado que está na lista de títulos não existe na base de homologação. O FiltrosAPI está configurado assim: FiltrosAPI.Clear; FiltrosAPI.indicadorSituacao := isbBaixado; FiltrosAPI.dataMovimento.DataInicio := IncDay(Date,-1); FiltrosAPI.dataMovimento.DataFinal := Date; //FiltrosAPI.indiceContinuidade := 300; 1. Esse filtro é só para a operação de consulta certo? E assim mesmo, só para tpConsulta, porque tpConsultaDetalhe olha para a lista de títulos e não para o Filtro? está correto essa afirmação? 2. Todas as outras operações (tpInclui, tpAltera, tpBaixa, tpCancelar, tpConsultaDetalhe, tpPIXCria, tpPIXCancelar e tpPIXConsultar ele vai olhar para a lista de títulos que eu adicionei e não para FiltrosAPI, é isso? 3. Então se eu quiser consultar por título e não por Período, eu utilizo o tpConsultaDetalhe e quando quiser consultar por período eu utilizo o tpConsulta? é isso? 4. Mesmo usando esse filtro, a data de movimento da base de dados de homologação não está neste intervalo, de ontem até hoje, então porque trouxe 501 registros de retorno? 5. Os 501 títulos de retorno de tpConsulta, trouxeram: dataRegistro e dataVencimento que eu posso considerar nulos apesar de ser estranho não ter essas datas, mas trouxe valor Original com uma data ao invés um valor, o que daria pau se estivesse em produção. dataRegistro = 30/12/1899 dataVencimento = 30/12/1899 valorOriginal = 13/07/1900 6. Neste filtro acima, o indicadorSituacao (isbBaixado), quer dizer que vai consultar apenas os títulos que foram baixados (Baixa Simples)? 7. Quando eu for pesquisar por intervalo de datas, eu vou querer buscar toda a movimentação dos títulos no período: Registro, Alteração, Baixa, Liquidação, Protesto, etc. Então é só setar o indicadorSituacao com isbNenhum? 8. O que seria o indiceContinuidade?
  23. Já consegui testar, mas fiquei com algumas dúvidas 1. Eu adicionei na lista de títulos, um único titulo e mandei fazer a consulta (eu nem havia enviado o registro do titulo ainda). Usei operacao = tpConsulta e o ACBr retornou 501 registros de retorno. Quando eu utilizei operacao = tpConsultaDetalhe, aí não retornou nenhum, que é o correto, porque o título que estou consultado que está na lista de títulos não existe na base de homologação. O FiltrosAPI está configurado assim: FiltrosAPI.Clear; FiltrosAPI.indicadorSituacao := isbBaixado; FiltrosAPI.dataMovimento.DataInicio := IncDay(Date,-1); FiltrosAPI.dataMovimento.DataFinal := Date; //FiltrosAPI.indiceContinuidade := 300; Qual a relação entre o os tipos de operações com o FiltrosAPI? Quando o ACBr utiliza o esses Filtros e quando não utiliza? 2. Mesmo usando esse filtro, a data de movimento da base de dados de homologação não está neste intervalo, de ontem até hoje, então porque trouxe 501 registros de retorno? 3. Os 501 títulos de retorno de tpConsulta, trouxeram: 2. Neste filtro acima, o indicadorSituacao (isbBaixado), quer dizer que vai consultar apenas os títulos que foram baixados (Baixa Simples)? 3. Quando eu for pesquisar por intervalo de datas, eu vou querer buscar toda a movimentação dos títulos no período: Registro, Alteração, Baixa, Liquidação, Protesto, etc. Então é só setar o indicadorSituacao com isbNenhum? 4. E se eu não quiser fazer uma consulta por período mas pesquisar um título específico como ficaria? 5. Para que tipos de operação (Boleto.Configuracoes.WebService.Operacao) eu adiciono os títulos na lista de títulos? tpInclui? tpAltera? tpBaixa? tpCancelar? tpPIXCriar? tpPIXCancelar? tpPIXConsultar? Porque como já mencionei na dúvida 1, eu adicionei um título na lista de títulos e quando eu fiz operacao = tpConsultar ele retornou 501 retornos. 5. O que seria o indiceContinuidade?
  24. Nos manuais do ACBr diz que o Sicredi não tem homologação de registro online dos boletos (webservice), mas tem. Inclusive peguei as URLs de homologação URL HOMOLOGAÇÃO https://api-parceiro.sicredi.com.br/sb/auth/openapi/token username : 123456789 password: teste123 URL PRODUÇÃO https://api-parceiro.sicredi.com.br/auth/openapi/token Dúvida: 1. Onde eu informo as URLs nos componentes do ACBr? quando estiver homologando serão diferentes de quando estiver em produção e são difentes para cada banco. 2. Ao envia um boleto para registro, chega de imediato uma resposta dizendo se for registrado com sucesso ou o erro para o não registro? Isso vale para todos os comandos de boletos, como por exemplo, alterar vencimento, conceder desconto, etc.? a resposta da requisição já é se o comando foi dado com sucesso? 3. Já as liquidações por exemplo, eu não envio comando, neste caso eu tenho de fazer uma consulta à cada boleto em aberto na minha base de dados. No caso o comando seria de consulta? No caso de liquidação, o retorno deverá trazer a data de quitação, valor pago, juros, multa, descontos concedidos, etc. Vai estar tudo no retorno da requisição? A URL de comando (como se fosse a remessa) é diferente da URL de consulta (como se fosse puxar um retorno)? pergunto porque dá a entender que o retorno destas requisições são diferentes. 4. No Demo, aparece um erro para mim no ACBrBoletoFCFortesFr. Eu realmente não trabalho com fortes e sim com o FastReport. É só eu mandar baixar via SVN Update esse componente e posso testar? 5. Quais componentes do ACBr preciso usar e configurar para usar o WebService? Eu uso hoje o ACBrBoleto e ACBrBoletoFCFR.
  25. Sim, realmente assim a opção de incorporar fontes ao PDF já veio marcada no preview da impressão, acredito que na exportação para PDF silenciosa também irá funcionar. Mas percebi que o arquivo PDF com as fontes incorporadas fica praticamente 4x maior que o mesmo arquivo sem as fontes. Tem como não precisar incorporar as fontes para evitar o problema? Afinal, porque os boletos em pdf do fastreport estão precisando incorporar as fontes? Que tipo de fontes "especial" ele está usando que preciso fazer essa incorporação? os relatórios do sistema exportados para o pdf sem incorporação das fontes abrem normalmente usando o frxPDFExport do fast report, só estou tendo esse problema com o ACBrPDFExport.
×
×
  • 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...