Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 19-06-2024 em todas as áreas
-
Olá pessoal, Ficamos felizes em informar que foram disponibilizados os programas de exemplo em php Singlethread e Multithread utilizando a ACBrLibConsultaCNPJ. Para a comunicação com a biblioteca foi utilizada a extensão FFI que foi implementada no php a partir da versão 7.4.0. Vejam o tópico a seguir, na nossa base de conhecimento, com um tutorial de como configurar o ambiente de desenvolvimento com Php8 e Apache. Esperamos que como sempre que essa novidade traga maior facilidade na utilização das nossas bibliotecas por toda a comunidade. Até mais!!!6 pontos
-
Olá pessoal, Segue um tutorial de como configurar o ambiente de desenvolvimento de php para utilizar as bibliotecas do ACBr. Uma informação importante é que a comunicação com as bibliotecas é feita através da extensão FFI. Limitação: * A FFI foi implementado na versão 7.4.0, versões anteriores não possuem esse recurso. A seguir segue passo-a-passo para configuração do ambiente de desenvolvimento. 1. Início 1.1. IDE Você pode utilizar a IDE de sua preferência. Utilizaremos aqui o Visual Studio Code (VSCode). 1.2. Requisitos 1.2.1. Instalar o Visual c++redistributable package 2015, caso ainda não o tenha instalado em seu ambiente 2. Instalando o PHP 8 Baixar a última versão do php em: https://www.php.net/downloads Acesse o link Windows downloads Baixe o "zip" da última versão TS(Thread Safe) na mesma arquitetura do seu computador Exemplo para x64: VS16 x64 Thread Safe A diferença entre a versão e a TS(Thread Safe) e NTS(Non Thread Safe) é que a TS suporta servidores multithreaded. 2.1. Extrair o zip, copiar a pasta para c:\ e remeie para um caminho mais curto Neste caso, que está na versão 8, ficará C:\php8 2.2. Vamos utilizar o arquivo ini padrão de configurações: C:\php8\php.ini-development Renomeie para php.ini Abra o arquivo para as próximas configurações 2.3. Extensões 2.3.1. Localizar a chave extension_dir e descomentar essa chave para indicar de onde buscar as extensões, que serão localizadas na pasta "ext", dentro da pasta do php: C:\php8\ext extension_dir = "ext" Obs: Em um cenário de testes, foi necessário colocar o caminho completo da pasta para o php conseguir acessar as extensões Caso tenha problemas com alguma extensão, tente colocar o caminho completo extension_dir = "C:\php8\ext" 2.3.2. Localizar as chaves "extension" Para utilizar as extensões que deseja, remover os comentários (ponto e vírgula no início da linha) das extensões que precisar 2.3.2.1. Extensão ffi para consumo das dlls do ACBr extension=ffi 2.3.2.2. Manipulação de strings pelo php extension=mbstring 2.4. Outras configurações 2.4.1. Diretório temporário, descomentar a seguinte linha e preencher o caminho de arquivos temporários do Windows session.save_path = "C:/Windows/Temp" 2.4.2. Localizar a chave error_reporting = E_ALL e preencher conforme abaixo error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT 2.4.3. Localizar ffi.enable e preencher com true ffi.enable = true 2.4.4. Caso não esteja habilitada, habilitar a exibição de erros display_errors = On 2.5. Debug A opção de debug não é obrigatória, mas facilita muito o desenvolvimento Verifique se sua IDE suporta a opção 2.5.1. XDebug Acessar https://xdebug.org/download/historical Baixe a versão de "Windows binaries" relacionada a versão do php que foi instalada Neste cenário de testes, vamos baixar a PHP 8.3 VS16 TS (64 bit), pois foi instalado o php TS(Thread Safe) Renomeie a dll baixada para php_xdebug.dll e salve em c:\php8\ext 2.5.1.1. Adicionar no final do arquivo a seção Xdebug com as linhas abaixo [Xdebug] zend_extension="C:\php8\ext\php_xdebug.dll" xdebug.mode=debug xdebug.start_with_request=yes xdebug.client_host=127.0.0.1 xdebug.client_port=9003 xdebug.log=C:\php8\log\xdebug.log 2.5.2. VSCode Instalar a extesão: PHP Debug Origem: xdebug.org Selecione a extensão, e clique em "Install" à direita 2.5.2.1. Criar uma pasta ".vscode" dentro da pasta do projeto Exemplo: \Projeto\.vscode 2.5.2.1.1. Criar um arquivo "launch.json" dentro da pasta ".vscode" com o conteúdo abaixo: No nosso exemplo, que o projeto estará na raiz do Apache ficará: C:\Apache24\htdocs\.vscode\launch.json { "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9003 } ] } 2.5.2.2. Ao debugar, se ocorrer o erro: php executablenote found. Install PHP and add it to your PATH or set the php.debug.executablePath setting Configurar o php no PATH do windows Clique no Menu Iniciar e escreva Variáveis Clique em Editar as variáveis de ambiente do sistema Na aba Avançado, da tela de Propriedades do Sistema, clique no botão Variáveis de Ambiente No GroupBox de baixo Variáveis do sistema, selecione a Path e clique no botão Editar, abaixo do quadro Clique em Novo e preencha o caminho da pasta do php, seguindo nosso cenário: c:\php8 Clique em OK para confirmar e nas duas telas anteriores para fechar Reinicie o computador para garantir que a alteração no Path foi efetivada 3. Instalar o Apache Baixar o Apache em: https://www.apachelounge.com/download/ Baixe o zip da última versão, referente à arquitetura do seu computador 3.1. Extrair o zip, copiar a pasta Apache24 para c:\ Ficará c:\Apache24\ 3.2. Abra o arquivo de configurações: C:\Apache24\conf\httpd.conf 3.2.1. Localizar "Define SRVROOT" e confirmar se está apontando para onde salvou a pasta do Apache "c:/Apache24" Define SRVROOT "c:/Apache24" 3.2.2. Porta de acesso Localize a chave Listen Se a porta 80 estiver em uso indique qual porta será utilizada, senão mantenha a padrão Listen 80 Listen 80 3.2.3. Localize a chave ServerName Preencha com localhost e a porta que você configurou no item 3.2.2 ServerName localhost:80 3.3. Instalar o apache como serviço Pelo prompt, acessar a pasta C:\Apache24\bin\ Executar o comando: httpd.exe -k install Caso apareça tela do firewall do Windows, clicar em permitir 3.3.1. Para visualizar o serviço instalado, acesse os serviços do windows e procure por Apache2.4 Para acessar os serviços, abra a tela de Executar (teclas Windows + R), preencha services.msc e clique em OK Localize o Apache2.4, ele estará como inicialização automática, mas ainda não estará iniciado, clique com o botão direito e clique em Iniciar Para iniciar o serviço pelo prompt, acessar a pasta C:\Apache24\bin\, utilize o comando httpd -k start 3.3.2. Para verificar se o serviço está ok, acesse o navegador e navegue em localhost Caso nos passos 3.2.2 e 3.2.3 você tenha configurado uma porta diferente da 80, acesse localhost:sua porta. Ex: Para a porta 8080 acesse localhost:8080 Se aparecer "It works!", o Apache está funcionando 3.4. Configurar para acessar o php 3.4.1. Localize a chave LoadModule e adicione a nova linha para indicar o caminho da dll do php+apache LoadModule php_module "C:/php8/php8apache2_4.dll" 3.4.2. Localize DirectoryIndex que por padrão está aénas index.html, adicione index.php antes do index.html DirectoryIndex index.php index.html 3.4.3. Localize a chave AddType e adicione a linha para ele conhecer as extensões que irá processar AddType application/x-httpd-php .php .html 3.4.4. Um pouco mais abaixo, localize a chave AddHandler Adicionar o manipulador de cabeçalho AddHandler application/x-httpd-php .php Adicionar o caminho do arquivo php que vai processar Action application/x-httpd-php "C:/php8/php-cgi.exe" 3.4.5. No final do arquivo, configurar o caminho da pasta do php PHPIniDir "C:/php8" 3.4.6. Configurar também o Timeout Timeout 180 3.4.7. Testando o php no Apache Primeiro reinicie o serviço do Apache para as últimas configurações feitas relacionadas ao php Siga os passos do item 3.3.1 e clique na opção Reiniciar o Serviço ou pelo prompt, acessar a pasta C:\Apache24\bin\ e execute o comando httpd -k restart 3.4.7.1. Acesse a pasta C:\Apache24\htdocs\ e crie o arquivo index.php Adicione o conteúdo a seguir e salve o arquivo <?php phpinfo(); 3.4.7.2. Abra o navegador e acesse novamente localhost Deverá abrir uma página contendo as informações do php, iniciando pela versão instalada 3.4.7.3. Pesquise por XDebug Encontre o grupo de informações do XDebug para verificar se também foi configurado com sucesso 4. Testando o programa de exemplo do ACBr 4.1. Baixe os fontes do ACBr, seguindo as instruções do tópico a seguir: https://projetoacbr.com.br/fontes/ 4.2. Acesse os arquivos dos programas de exemplo para php da ACBrLib: ..\ACBr\Projetos\ACBrLib\Demos\PHP\ Copie o conteúdo da pasta ..\ACBr\Projetos\ACBrLib\Demos\PHP\ConsultaCNPJ para C:\Apache24\htdocs\ 4.3. Copiando as dlls da ACBrLib e suas dependências Veja o tópico a seguir para maiores detalhes, caso ainda não esteja familiarizado com o ambiente das bibliotecas ACBr 4.3.1. Download 4.3.1.1. Links para download das bibliotecas, versões PRO e Demo 4.3.1.1.1 Link Geral ACBr Pro: https://www.projetoacbr.com.br/forum/files/category/36-acbrlib-pro/ Link direto para a ACBrLibConsultaCNPJ 4.3.1.1.2. Link Geral ACBr Demo: https://www.projetoacbr.com.br/forum/files/category/63-acbrlib-demo/ Link direto para a ACBrLibConsultaCNPJ 4.3.2. Extraindo a dll da biblioteca Vamos tomar como exemplo a versão Demo Extraia o conteúdo do arquivo baixado e acesse a pasta bin Copie a versão da Lib equivalente à arquitetura da sua instalação do php para as respectivas pastas ST (Single Thread) e MT(Multi Thread) 4.3.2.1. Primeiro vamos pegar a biblioteca para o programa de exemplo ST Acesse a pasta ..\bin\Cdecl\ e copie a dll referente à arquitetura da sua instalação do php Para o nosso exemplo, que é a versão 64 bits, vamos copiar a dll ..\bin\Cdecl\ACBrConsultaCNPJ64.dll Copie a dll para C:\Apache24\htdocs\ST\ACBrLib\x64 4.3.2.2. Vamos agora copiar a versão MT Acesse a pasta ..\bin\MT\Cdecl\ e copie a dll referente à arquitetura da sua instalação do php Para o nosso exemplo, que é a versão 64 bits, vamos copiar a dll ..\bin\MT\Cdecl\ACBrConsultaCNPJ64.dll Copie a dll para C:\Apache24\htdocs\MT\ACBrLib\x64 4.3.3. Dependências 4.3.3.1. OpenSSL Seguindo o mesmo critério da arquitetura do php, vamos copiar as dlls da OpenSSL para ambas as pastas dos demos No nosso cenário de 64 bits, vamos copiar as dlls da pasta ..\dep\OpenSSL\x64 para as pastas C:\Apache24\htdocs\ST\ACBrLib\x64 e C:\Apache24\htdocs\MT\ACBrLib\x64 4.3.3.2. LibXML2 Para a ACBrConsultaCNPJ a LibXML2 não é necessária e não é distribuída no pacote, mas caso esteja seguindo este tutorial para outras bibliotecas, de DFes por exemplo, isso será necessário No nosso cenário de 64 bits, devemos copiar as dlls da pasta ..\dep\LibXml2\x64 para as pastas C:\Apache24\htdocs\ST\ACBrLib\x64 e C:\Apache24\htdocs\MT\ACBrLib\x64 5. Testando os programas de exemplo 5.1. Para testar as versões ST e MT, acesse respectivamente: http://localhost/ACBrConsultaCNPJST.php http://localhost/ACBrConsultaCNPJMT.php Lembrando que, caso tenha configurado uma porta diferente da 80 no Apache, ela deve ser adicionada na url Exemplos da porta 8080 http://localhost:8080/ACBrConsultaCNPJST.php http://localhost:8080/ACBrConsultaCNPJMT.php 6. Debugando com o VSCode 6.1. Para debugar os fontes php você pode colocar um ponto de parada posicionando na linha desejada e clicando em "F9" ou, com o mouse, clicar do lado esquerdo da numeração da linha O ponto será identificado com uma bolinha vermelha Para iniciar o debug, acesse o menu Run / Start Debugging ou pressione F5 O VSCode passará a escutar os retornos do XDebug e irá habilitar uma pequena barra para as interações Agora que o VSCode está com o debug ativo, acesse o programa de exemplo, acione o método que colocou o ponto de parada e utilize os botões da barra de debug ou as teclas de atalho que podem ser vistas ao passar o mouse sobre cada botão É isso pessoal, esperamos que esse novo conteúdo seja útil para a comunidade e caso tenham dúvidas, sugestões estaremos sempre prontos para atendê-los em nosso canais. Até mais!!!3 pontos
-
Pessoal, eu vi um artigo no LInkedin e gostaria de compartilhar com vocês. A partir de 2026 teremos CNPJ com numeração alfanumérica, com isto teremos mais do que os atuais 99,9milhões de combinações possíveis. Os CNPJ atuais não mudarão, mas os novos já virão com o novo formato. Link: https://www.linkedin.com/pulse/novo-cnpj-alfanumérico-implantação-e-produção-para-de-aline-sdoaf/2 pontos
-
O novo número de identificação - CNPJ alfanumérico - terá o mesmo tamanho que o número atual, com 14 posições. As oito primeiras posições terão caracteres alfanuméricos (letras e números) e identificarão a raiz do novo número. As quatro posições seguintes à raiz também terão caracteres alfanuméricos (letras e números) e identificarão a ordem do estabelecimento a ser inscrito. As duas últimas posições serão numéricas e identificam os dígitos verificadores deste CNPJ alfanumérico. O desenho abaixo identifica a transição da identificação numérica para alfanumérica: A fórmula de cálculo do dígito verificador do CNPJ Alfanumérico não muda: foi mantido o cálculo pelo módulo 11. Porém, para garantir a utilização dos atuais números do CNPJ (tipo será necessário a a alteração do modo como se calcula o dígito verificador pelo módulo 11. Serão utilizados, no cálculo do módulo 11, os valores relativos a letras maiúsculas lastreadas na tabela denominada código ASCII como solução para unificar a representação de caracteres alfanuméricos Diante de todo o exposto, Secretaria da Receita Federal do Brasil comunica o início de desenvolvimento do Projeto CNPJ Alfanumérico, com previsão de implantação e produção plena do novo número de identificação do CNPJ para janeiro de 2026 com o seguinte cronograma de implementação:2 pontos
-
No Tópico Foi realizado a implementação do DLL do TEF Auttar no ACBrTEFD nos últimos meses tivemos alguns ajustes para adequação do casos encontrados em produção, segue novamente fontes com as correções para validações. Fontes_ACBrTEFD.zip Exemplos_ACBrTEFD_NaoFiscal_Delphi.zip1 ponto
-
Olá pessoal! Foi publicada a versão 1.10 desta nota técnica. A nova versão traz alterações em algumas regras de validação e a adição de uma nova rejeição para substituir uma denegação correspondente. Alterações Regra de Validação 1C17-50 Altera a regra de validação transformando ela de uma denegação para uma rejeição. Lembrando que quando uma nota fiscal é rejeitada, você pode realizar a correção do erro que ocasionou a rejeição e tentar emitir novamente a mesma nota, enquanto que quando for denegada, a nota fica armazenada na base de dados da sefaz e por isso o mesmo número não pode ser utilizado novamente. Regra de Validação I08-150 Adiciona na regra de validação o CFOP 5.910: Remessa bonificação, doação ou brinde permitindo o uso do mesmo na NFC-e. Datas Implantação Teste: Até 01/07/2024 Implantação Produção: 02/09/2024 Modificações no ACBr? Como a nova versão traz alterações em regras de validação da Sefaz, alterações nos fontes do ACBr não se fazem necessárias. Leia a versão 1.10 desta Nota Técnica na íntegra AQUI.1 ponto
-
Boa noite, Tomador.Endereco.EnderecoInformado := FProvider.StrToSimNaoOpc(Ok, INIRec.ReadString(sSecao, 'EnderecoInformado', '')); Foi gerada a nova versão da lib com a implementação deste campo na leitura do ini. [Tomador] . . . EnderecoInformado=1 Teste com a nova versão, preenchendo a chave EnderecoInformado na seção Tomador1 ponto
-
Eu informei a eles que o XML de retorno está diferente. Mandei exemplos e já abriram chamado para resolver o problema, estou aguardando. Quando tiver algum retorno, posto aqui.1 ponto
-
Nos arquivos anexados a chave está diferente, provavelmente digitação incorreta.1 ponto
-
No caso da Toledo sempre usei o código 1 para venda por unidade, que seria o tvpUnidade.1 ponto
-
1 ponto
-
Bom dia @Thiago Henrique Gaspar Pode anexar o INI da NFSe que vc esta alimentando o componente para realizarmos um teste em nosso ambiente. Se conter dados sensíveis, enviar para [email protected], no corpo da mensagem colar o link deste post para que possamos identifica-lo Obrigado !1 ponto
-
Estou terminando uns testes com V3, terminando te mando uma Lib para que vc possa testar1 ponto