Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 21-11-2019 em Posts

  1. Porque devo assinar digitalmente meus executáveis ? O Produto final de quase todo desenvolvedor de Software para Windows, é gerar um arquivo compilado e executável, ou seja, um arquivo com a extensão .EXE ou .DLL As versões recentes do Windows, incorporaram recursos de segurança, como o SmartScreen, que podem causar alertas quando Binários não assinados são executados... O mesmo pode ocorre com módulos de Segurança de terceiros, instalados na máquina, como por exemplo: Antivírus e módulos de segurança bancários... Para evitar mensagens assustadoras, como a exibida abaixo, é necessário Assinar digitalmente o seu binário, com um certificado emitido por uma Autoridade Certificadora válida A título de exemplo, todos os binários distribuídos pelo Projeto ACBr, na área de Download do SAC ACBr, são assinados digitalmente com um certificado do Projeto ACBr... Reparem que não somente o Executável final, mas o instalador, também deve ser assinado.. Abaixo, temos a imagem de quando é executamos o Instalador do ACBrMonitorPLUS SAC Bem melhor, não ? Repare que o Fornecedor do binário, fica bem identificado na mensagem... Isso além de trazer mais confiança para o usuário final, ajuda os programas de segurança, a classificar de forma positiva, o seu Executável ou instalador, evitando bloqueios indevidos. Ok, gostei... mas como fazer para assinar meus executáveis ? O primeiro passo é comprar um Certificado do tipo "Code Signing"... Garanto que agora você pensou algo como: - Humm.. será que posso usar o meu certificado A1 ou A3 ? A resposta é NÃO... os certificados que usamos para os Documentos Fiscais eletrônicos brasileiros, não tem as características esperadas pelo Windows, para assinatura e validação de binários... Quanto aos certificados gerados de forma local, ou seja, os Self-Signed Certificates, eles funcionarão para a assinatura... e podem ser ótimos para testes... Mas eles não devem garantir o nível de confiabilidade ao seu binário, pois eles não são gerados por uma Autoridade Certificadora válida Algumas empresas Brasileiras, vendem o certificado do tipo Code Signing.. Veja por exemplo esse link... Porém o preço é praticamente "o valor de um Rim esquerdo"... (ps: veja mais empresas brasileiras, no post a seguir) Você pode comprar o Certificado do Tipo OV, que é bem mais barato... Na página da KSoftware tem um interessante artigo, descrevendo a diferença da versão OV x EV Eu preferi comprar nesse site gringo, porém isso pode exigir que você tenha um bom conhecimento de Inglês, pois o todo o processo de compra será feito em Inglês. Esse certificado, também exige um processo de validação... ou seja, a Empresa que irá emitir o certificado, precisa saber se você é você mesmo... A validação foi feita pela empresa Sectigo... eles enviam e-mails com links para você subir a documentação necessária... Como o certificado será emitido para uma Entidade Pessoa Jurídica, na etapa de envio de documentos de prova de identidade... eu enviei um PDF com o resultado da consulta de meu CNPJ, na Receita... Na etapa final de validação, eles efetuam uma ligação para o telefone de sua empresa, para fornecer um Token, que deve ser usado para gerar o certificado... portanto, o número de telefone na documentação que você enviar, deve ser um número que você possa atender... Achei o Site de Validação da Sectigo, bastante confuso... Eu preferi comprar a opção de 4 anos, para evitar esse penoso processo de compra, e pelos descontos oferecidos... Após todas as validações de identidade, eles lhe enviarão um Link para baixar o certificado em sua máquina... Será criado um arquivo PFX, e o processo de geração do Certificado na sua máquina, é muito semelhante a dos Certificados A1 brasileiros... Ufa.. já tenho o meu certificado em PFX... Como eu assino os binários ? Existem algumas ferramentas disponíveis... na página da KSoftware, você pode ler um tutorial, de como assinar usando o KSign Você poderá assinar binários facilmente, usando a interface gráfica deles: Para automatizar o processo de assinatura, você provavelmente ira preferir usar um utilitário de Linha de Comando... Repare que na mesma pasta onde o KSign foi instalado, existe o utilitário signtool.exe Use esse utilitário com a seguinte sintaxe: signtool.exe sign /du "http://seusite.com.br" /d "Descrição do seu Programa" /f "C:\Path\SeuCertificado.PFX" /p SenhaCertififcado /t "http://timestamp.comodoca.com" SeuBinario.exe sign -> Comando para assinatura /du -> Informa a URL do seu Site /d -> Informa uma descrição resumida do seu Programa /f -> Informa o Path completo para o seu Certificado (arquivo PFX) /p -> Informa a Senha para abertura do seu Certificado /t -> Informa um Servidor de Time Stamp, para que fique gravada a Data / Hora da assinatura Mas como assinar um Binário Windows, de dentro do Linux ?? Todo processo de Build e Deploy dos binários do ACBr, é executado em um Linux OpenSuse. A compilação de todas as plataformas que suportamos ocorre com Cross-Compiling, e automatizamos o processo de Build e Deploy, com o uso de Jenkins e Shell Scripts, Para transmitir o binário para fórum, criamos alguns utilitários que consomem a API do Invision Power Board Para a assinatura dos binários, creio que seria possível usar o próprio signtool.exe, com Wine... mas encontramos um interessante utilitário nativo em Linux, chamado osslsigncode, repare que a sintaxe é muito semelhante a do signtool.exe... osslsigncode sign -pkcs12 /path/SeuCertificado.pfx -pass SuaSenha -n "Descrição do seu Programa" -i http://seusite.com.br -t http://timestamp.comodoca.com -in SeuBinario.exe -out SeuBinario.exe.sign (como passo final, apague o arquivo original, SeuBinario.exe e renomeie SeuBinario.exe.sign para SeuBinario.exe)
    7 pontos
  2. Ahh.. esse Google... efetuando pesquisas recentes, para escrever esse artigo.. notei que a Sectigo, agora tem um Site Brasileiro, e com preços bem semelhantes aos valores em Dólar... Deve ajudar muito, no momento da validação das informações... https://www.sectigo.com.br/produtos/certificado-codesigning.php Outra empresa, que também vende o Code Signing https://www.rapidssl.com.br/certificado-code-signing
    3 pontos
  3. Gostaria de agradecer a todos que ajudaram nos componentes ACBR, em especial ao ACBrTEFD. Hoje recebemos a homologação do nosso modulo de PDV NFe/NFC-e com TEF com a empresa https://cappta.com.br/ Homologamos usando troca de arquivos TEF_DIAL. Comecei a integração a 7 dias (tempo parcial) para desenvolvimento, e a implementação foi tranquila rápida e fácil, graças aos componentes Acbr. Obrigados a todos que contribuíram e contribuem com a comunidade Edmar Frazão.
    2 pontos
  4. Problema resolvido! O pessoal da Fiorilli analisou o XML e identificou o problema, eu estava passando o valor da tag "CodigoCnae" da seguinte forma: "0105", e o servidor deles remove o 0 a esquerda, ficando assim: "105", com isso o arquivo XML acabava ficando diferente do envidado, gerando a inconsistência na assinatura. Aí que percebi que na verdade não devo passar nada na tag "CodigoCnae", somente a tag "ItemListaServico", isso para a Fiorilli. Obrigado pela ajuda de todos!
    2 pontos
  5. Até onde sei não é possível. Situação semelhante a este tópico:
    2 pontos
  6. Bom dia Dê uma olhada no passo a posso como configurar no tópico abaixo. A NFCe não depende do MFe, precisa apenas do Integrador e de estar devidamente credenciado para emissão de NFCe no CE.
    2 pontos
  7. Bom dia, realmente esta propriedade no Monitor está apenas para NFCe, vamos adicionar também na NFe.
    2 pontos
  8. Boa tarde Victor, o ajuste foi adicionado aos fontes. Obrigado pela contribuição!
    2 pontos
  9. Boa tarde. Outros desenvolvedores da minha equipe me auxiliaram nessa questão e aparentemente conseguimos obter resultados. Com isso, irei realizar e simular vários tipos de testes para serem feitos para verificar se o erro foi solucionado. Após finalizar os testes e verificar que realmente a solução obteve êxito, irei estar atualizando a Demo do projeto ACBrMTer e postando aqui no tópico para que possam verificar a lógica e futuramente estarem atualizando os fontes da Demo no projeto ACBr. Agradeço a atenção de todos que ajudaram de alguma forma nesse tópico. Nesse tópico eu pedi algumas respostas imediatas mas não é assim que funciona, então peço desculpa caso algum integrante se sentiu pressionado a respeito, beleza? Obtive bastante informação pra estar explicando ate mesmo para meu colega de trabalho como o erro acontece e sendo assim achando a possível solução do problema. Irei aplicar a solução e realizar os demais testes e se a solução obtiver êxito, estarei disponibilizando os novos fontes da Demo do ACBrMTer. Valeu galera... Obs: Não fechem ainda esse tópico pois daqui um tempo postarei os fontes atualizados da Demo nesse tópico!!
    2 pontos
  10. Bom dia Ao enviar uma nota para tomador estrangeiro em Joinville está ocorrendo erro na validação do campo UF (Valor: 'EX'). Os dados estão sendo preenchidos na TAG Endereco sendo que para estrangeiros é necessários definir as informações na TAG EnderecoExterior conforme indicado no manual. Além do endereço é necessário informar a TAG NifTomador para que a nota seja validada pela prefeitura. Seguem alterações e manual Alterações.rar Webservices - Manual v12.pdf
    1 ponto
  11. Bom dia, Fiz um pequeno ajuste na impressao da nfce em fortes, a logo estava ocupando um espaço muito grande quando configurado pra imprimir na lateral, mesmo configurando pra nao espandir, com este ajuste testei todas as formas tanto no topo como na lateral e funcionou. Obs: não testei/ajustei no lazarus pois nao tenho instalado. em anexo arquivos ajustados. ACBrDANFCeFortesFr.dfm ACBrDANFCeFortesFr.pas
    1 ponto
  12. Implementação para Fast Report enviada para o repositório, rev. 18299.
    1 ponto
  13. Boa tarde. Obrigada pela contribuição, adicionada para validação. Att.
    1 ponto
  14. Testei aqui e diz que a sefaz MG não aceita isento, e o cadastro td certinho no CCC. O nro da NFe é 294, isso quer dizer que outras notas já foram emitidas. Pergunta começou do "nada" ? consegue emitir NFe para outro cliente dele que não seja a audiomig ?
    1 ponto
  15. @Juliomar Marchetti achei muito estranho o instalador ainda ter problema pois não encontrei mais ninguém relatando...resolvi então desinstalar o Delphi, zerei tudo novamente e recomecei e aí funcionou ! Obrigado novamente pela atenção.
    1 ponto
  16. Não tem essa tag caso esteja usando CSOSN, então não é possível informar.
    1 ponto
  17. No xml o tipo de pagamento esta dinheiro nos 2 pagamentos. Eu também vi que isso foi causado pois teu ini esta incorreto. tente assim [pag001] tPag=1 vPag=100 indPag=0 [pag002] tPag=3 vPag=162.50 indPag=1 tpIntegra=2
    1 ponto
  18. Boa tarde @José M. S. Junior, Muito obrigado...
    1 ponto
  19. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  20. Rafael, Muito obrigado pela colaboração, já enviei para o repositório.
    1 ponto
  21. Por favor poste o arquivo acbrlib.ini
    1 ponto
  22. Boa tarde Douglas, O que esta sendo alterado na chave?
    1 ponto
  23. Boa tarde Gilowsky, Aconselho você fazer essa copia em um HD externo, deletar a pasta ACBr e baixar novamente. Certificar-se que não existe mais nenhuma copia de fontes do ACBr em outras pastas, como por exemplo: pastas da sua aplicação.
    1 ponto
  24. Boa tarde Ana, O Encerramento e o Cancelamento do MDF-e são eventos, logo o comando para gerar o PDF do DAMDFE é ImprimirPDF e o comando para gerar o PDF do DA Eventos é ImprimirEventoPDF; Portanto vai ser gerado 2 PDF.
    1 ponto
  25. Boa tarde a todos, Favor entrar em contato com o provedor e questionar o que deve ser assinado (RPS ou o Lote de RPS)?
    1 ponto
  26. Boa tarde Rafael, Favor atualizar os fontes e faça novos testes.
    1 ponto
  27. Olá pessoal, estive analisando outra situação! Dessa vez diz respeito ao código de protesto de Negativação presentes em alguns bancos como BB, Itau e Sicredi. Estive analisando e percebi que o BB e Itau no arquivo de remessa se for passado os parâmetros para Negativar o mesmo não gera corretamente a informação no arquivo, pois no fonte somente busca a data de protesto e dias de protesto, passando então como não protestar e os dias zerados no arquivo. Na impressão sai corretamente mas no arquivo esta saindo de forma errada. Realizei uma alteração para que de acordo com o código de protesto busque a informação a ser passada da variável de Protesto ou de Negativação do ACBrBoleto.pas afim de sair a informação corretamente no arquivo. Alterações realizadas nos Bancos: Banco do Brasil e Itau, o Santander já atendia a essa mudança. ACBrBoleto.pas onde a impressão depende do preenchimento da "Data de Protesto" ou da "Data de Negativação". Adicionado variáveis para receber os dados corretos.. Geração do Segmento P com base nos dados recebidos... Mesmo procedimento anterior no Banco Itau.. Geração do segmento P no Itau... Fontes: Fontes.rar Pessoal não sei se esse é o lugar correto para adicionar esse tópico, mas como não foi avaliado ainda as mudanças anteriores, decidi colocar aqui pois nas alterações anteriores também esta envolvido o ".pas" do Banco do Brasil.
    1 ponto
  28. Então, no início eu realmente não tinha feito este cadastro, entrei em contato com eles e fizeram o nosso cadastro com o CNPJ do certificado que estou usando, no caso o da empresa em que trabalho, porém o problema continuou, continuei o contato com eles via e-mail mas sem sucesso. Vou tentar contato novamente com eles via telefone e trago o retorno aqui.
    1 ponto
  29. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  30. Juliana, qual é a unit que tem essa função, porque procurei em todas e não achei. Esquece....Já achei aqui kkk
    1 ponto
  31. Se me lembro bem você precisa entrar em contato com a Fiorilli para cadastrar o CNPJ do teu certificado como autorizado a emitir em homologação.
    1 ponto
  32. Apesar da msg de erro reportar o emitente e aparentemente estar tudo OK com o mesmo, tenta fazer o seguinte. Tu informou a TAG indIEDest = 9, ou seja pode ou não ter IE, tenta informar 2=Contribuinte isento de IE para ver o que acontece
    1 ponto
  33. Boa noite ======================== PROCEDURE ACBR_Validar(sRecebe_nome_dll is string="",sRecebe_nome_metodo is string="",recebe_ultimo_Retorno is string="") gnretorno_acbr=API(sRecebe_nome_dll,sRecebe_nome_metodo) //gnretorno_acbr=API("ACBrNFe32.DLL","NFE_Validar") IF gnretorno_acbr=0 THEN // 0 = VALIDOU COM SUCESSO RESULT("0") ELSE texto is string="Erro Retorno ["+gnretorno_acbr+"]" IF gnretorno_acbr=-1 THEN texto+=" Indica que a biblioteca não foi inicializada " IF gnretorno_acbr=-10 THEN texto+=" Indica que houve erro ao Validar" //texto+=CR+ACBR_ULTIMO_RETORNO("ACBrNFe32.DLL","NFE_UltimoRetorno") texto+=CR+ACBR_ULTIMO_RETORNO(sRecebe_nome_dll,recebe_ultimo_Retorno) RESULT texto END //https://acbr.sourceforge.io/ACBrLib/NFE_Validar.html // NFE_Validar; ======================== PROCEDURE ACBR_Assinar(sRecebe_nome_dll is string="",sRecebe_nome_metodo is string="",recebe_ultimo_Retorno is string="") //gnretorno_acbr=api("ACBrNFe32.DLL","NFE_Assinar") //EDT_RESPOSTA=ACBR_Assinar("ACBrCTe32.dll","CTE_Assinar") gnretorno_acbr=API(sRecebe_nome_dll,sRecebe_nome_metodo) IF gnretorno_acbr=0 THEN //assinou com sucesso=0 RESULT("0") ELSE texto is string="Erro Retorno ["+gnretorno_acbr+"]" IF gnretorno_acbr=-1 THEN texto+=" Indica que a biblioteca não foi inicializada " IF gnretorno_acbr=-10 THEN texto+=" Indica que houve erro ao Assinar" // aula 19 11 2019 texto+=ACBR_ULTIMO_RETORNO(sRecebe_nome_dll,recebe_ultimo_Retorno) //"CTE_UltimoRetorno") RESULT texto END //https://acbr.sourceforge.io/ACBrLib/NFE_Assinar.html //Comando: NFE_ Assinar ======================== // btn ASSINAR xml eCTE bRETORNO is boolean=ACBR_INICIALIZAR("ACBrCTe32.dll","CTE_Inicializar") IF bRETORNO=True THEN EDT_RESPOSTA=ACBR_CARREGARINI("ACBrCTe32.dll","CTE_CarregarINI",EDT_INI) IF EDT_RESPOSTA=0 THEN EDT_RESPOSTA=ACBR_Assinar("ACBrCTe32.dll","CTE_Assinar","CTE_UltimoRetorno") IF EDT_RESPOSTA=0 THEN //AULA 20 11 2019 EDT_RESPOSTA=ACBR_Validar("ACBrCTe32.dll","CTE_Validar","CTE_UltimoRetorno") IF EDT_RESPOSTA=0 THEN EDT_RESPOSTA+=CR+"ASSINADO E VALIDADO COM SUCESSO" ELSE Info("ERRO AO VALIDAR:"+CR+EDT_RESPOSTA) END //AULA 20 11 2019 ELSE Info("erro ao assinar"+EDT_RESPOSTA) END ELSE Info("ERRO AO CARREGAR INI") END END ACBR_FINALIZAR("ACBrCTe32.dll","CTE_Finalizar") ======================== PROCEDURE ACBR_ULTIMO_RETORNO(sRecebe_nome_dll is string="",sRecebe_nome_metodo is string="") gnTamanho is system int=256 gsResposta is string on 256 gnretorno_acbr=API(sRecebe_nome_dll,sRecebe_nome_metodo,&gsResposta,&gnTamanho) sTEXTO_R is string="Retorno["+gnretorno_acbr+"]"+CR sTEXTO_R+=VER_RETORNO_MAIOR_256(sRecebe_nome_dll,sRecebe_nome_metodo,gnTamanho,gsResposta) RESULT sTEXTO_R ======================== PROCEDURE VER_RETORNO_MAIOR_256(RECEBE_NOME_DLL,RECEBE_METODO,RECEBE_GNTAMANHO,RECEBE_GSRESPOSTA) gsResposta_maior_256 is string="" IF RECEBE_GNTAMANHO>256 THEN gsResposta_maior_256=RepeatString(" ",RECEBE_GNTAMANHO) gnretorno_acbr=API(RECEBE_NOME_DLL,RECEBE_METODO,&gsResposta_maior_256,&RECEBE_GNTAMANHO) RESULT UTF8ToString(gsResposta_maior_256) ELSE RESULT UTF8ToString(RECEBE_GSRESPOSTA) END //"NFE_UltimoRetorno" ======================== https://windevdesenvolvimento.blogspot.com/2019/11/dicas-2488-windev-webdev-mobile-acbr.html https://acbr.sourceforge.io/ACBrLib/CTE_Validar.html Compartilhe Canal Youtube Amarildo Matos Amarildo, desde 1990 ensinando Desenvolvimento de Sistemas, tornando sonhos em realidades. https://www.projetoacbr.com.br/forum/files/category/36-acbrlib/ http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Harbour/Boleto/ACBrBoleto.prg * AcbrLib - Integrando com Windev https://web.flock.com/?
    1 ponto
  34. Note que os schemas usados pelo aplicativo gratuito podem não ser compatíveis com os schemas oficiais. Não existe nem mesmo documentação para os mesmos. No caso desse erro provavelmente você vai precisar editar os schemas para declarar esse tipo.
    1 ponto
  35. A propriedade já existe no componente: Mas creio que ainda não foi implementado no ACBrMonitorPLUS.
    1 ponto
  36. Boa tarde. Com a atualização de hoje resolveu o problema.
    1 ponto
  37. Provavelmente ainda há algo errado no LFM... Apague a pasta do Demo e baixe novamente pelo SVN do ACBr
    1 ponto
  38. Boa tarde! Anexando apenas para complementar o que o colega BigWings informou e contribuir com o tópico. Rejeição 923. Lembrando que a muito tempo não é mais permitido modelo de nota fiscal 01 acobertar venda interestadual e salvo engano acho que todos os estados já obrigaram algum tipo de documento fiscal eletrônico aonde não se usa mais o modelo 01. Aqui no Paraná ainda é permitido (com solicitação de autorização pela SEFAZ para venda porta a porta (ambulante) ). Mas de modo geral não se usa mais a referencia para modelo 01 apenas a chave será usada para referenciar as eletrônicas.
    1 ponto
  39. Boa tarde, Ale Hexata. Tente atualizar as dlls do openssl e libxml que estão na pasta do ACBr, referente a sua aplicação x86 ou x64.
    1 ponto
  40. Teria que ser com o setor de desenvolvimento da sua empresa.
    1 ponto
  41. Boa tarde! Rejeição: 395 -> "Endereço do site da UF da Consulta via QR-Code diverge do previsto" Endereço que consta no arquivo que tenho do ACBrNFeServicos.ini: URL-QRCode_2.00=https://nfce.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml Endereco que consta no seu arquivo:
    1 ponto
  42. Desculpe a demora @Juliomar Marchetti Segue em anexo um PDF com a quebra. o nome Prof Sergio Pereira, deveria ficar na mesma linha, mas está Prof Sergio Pereira. Se for adicionado um espaço ao fim do nome dele, fica como o segundo pdf(semquebra). Expandir os dados adicionais está false; Imprimir na primeira página está true. comQuebra.pdf semQuebra.pdf
    1 ponto
  43. Vou deixar um caso de uso, pode servir como parâmetro ... O processo com certificado A3 normalmente é mais lento mesmo, e recomendo sempre A1, afinal é um processo externo, que vai depender da qualidade até mesmo do conector, da versão do windows, do computador, Tive um caso de uso onde um cliente usava win7, 2 Giga Ram, processador Atom.. para aqueles mini computadores , exageros a parte.... está mais para um tablet metido a besta.. rs , o que tornava o processo bastante lento, para piorar o windows 7 estava todo zoado, sem atualizações. Solução: Trocar A3 por A1, Windows 10 com processador de verdade. o negócio voltou a normal.
    1 ponto
  44. bom dia uma pequeno pensamento: "Se lhe derem um martelo e pedirem pra tu apertar um parafuso concorda que o martelo não vai servir!" Agora vamos lá tu vai consumir uma API REST então segue um material http://docwiki.embarcadero.com/RADStudio/Rio/en/Tutorial:_Using_the_REST_Client_Library_to_Access_REST-based_Web_Services https://www.devmedia.com.br/forum/delphi-json-restrequest-restresponse-restclient/589610
    1 ponto
  45. Boa tarde Ernesto, Muito obrigado pela colaboração, já esta no repositório. Observação: os seus fontes estão desatualizados. Boa tarde a todos, Pelo que notei o envio de notas para o provedor SimplISSv2 de Blumenau esta funcionando pelo que me consta todas as funcionalidades. Sendo assim foi fechar este tópico.
    1 ponto
  46. @Wps Sistemas Ltda Eu pressuponho que no primeiro caso a nota já deve ter sido enviada senão não teria como o componente comprar o DigVal. E em ambos os casos o XML foi gerado novamente depois de já ter sido enviado para SEFAZ. Compare os XML e verifique o conteúdo da TAG dhEmi, bem provavel que o problema esteja nela. Eu passei por isso a poucos dias e o @José M. S. Junior me ajudou a resolver. Houve erro no envio da nota e posterior reenvio, com criação do XML novamente. Se não for isso, faça como a @Juliana Tamizou orientou que tentaremos ajudar
    1 ponto
  47. Bom dia Troquei no meu código para incluir este parâmetro: AcbrMail.AddAttachment(XML, '', adAttachment); Com isso resolveu para o meu caso.
    1 ponto
  48. Olá, RESTRequest.Params.AddHeader('Authorization', 'Bearer ' + FToken); RESTRequest.Params.ParameterByName('Authorization').Options := [poDoNotEncode];
    1 ponto
×
×
  • 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.